我一直有不止一个终端打开。从两个到十个,做各种各样的点点滴滴。现在假设我重新启动并打开另一组终端。有些人记得某些事情,有些人忘记了。
我想要一段历史:
ls
在一个终端,切换到另一个已经运行的终端,然后按下,ls
显示)我能做些什么让 bash 更像那样工作?
我在 Mac OSX 上工作,所以我想我在使用 bash...?
有时我会输入一些我不想被历史记住的东西。如何删除它?
有没有办法在 bash 中暂时暂停历史跟踪,从而进入一种“隐身”模式?我正在我的终端中输入一些我不想记录的敏感财务信息。
例如:
[root@ip-10-0-7-125 ~]# history | grep free
594 free -m
634 free -m | xargs | awk '{print "free/total memory" $17 " / " $ 8}'
635 free -m
636 free -m | xargs | awk '{print "free/total memory" $9 " / " $ 10}'
736 df -h | xargs | awk '{print "free/total disk: " $11 " / " $9}'
740 df -h | xargs | awk '{print "free/total disk: " $11 " / " $8}'
741 free -m …
Run Code Online (Sandbox Code Playgroud) 我知道我可以Up用来遍历以前的命令。运行最后一个命令只涉及Up+ Enter。但是,我在考虑购买Happy Hacking 键盘,因为我在vim
.
这个键盘没有箭头键,我知道如何获得这种行为的唯一方法是按Ctrl+R并开始重复我之前的命令。
是否有一种简单的方法可以在没有箭头键的情况下在 UNIX 终端中模拟Up+ Enter?
如果我运行history
,我可以看到我最近执行的命令。
但如果我这样做tail -f $HISTFILE
或tail -f ~/.bash_history
,它们不会被列出。
文件是否被锁定,是否有临时位置或类似的位置?
我用了
history | less
Run Code Online (Sandbox Code Playgroud)
为了获取先前命令的行和左侧的数字,我找到了我想要重复的行(例如 22)并做了
!22
Run Code Online (Sandbox Code Playgroud)
在命令提示符下,它起作用了——在我当时所做的行上执行命令集。我无法弄清楚感叹号在哪里使用,它在 bash 采取的操作方面代表什么,以及在哪里使用它。从文档中我没有看到“有形”的解释。
我最喜欢的 Unix 技巧之一是^x^y
,它将采用最后一个命令并将“x”的第一个实例替换为“y”。但是,我想知道是否有类似的技巧可以在最后一个命令中用“y”替换“x”的所有实例?
我使用 Linux Mint 17.1 Rebecca 大约 2 天,不小心在终端中输入了我的密码,该密码现在显示在我之前输入的命令的历史列表中。
我想完全清除终端历史记录。我曾尝试在终端中使用以下命令,我认为这会永远清除历史记录,但它们没有:
history -c
reset
tput reset
Run Code Online (Sandbox Code Playgroud)
上面的命令“将”从终端清除历史记录,但是当我退出并打开一个新的历史记录时,我以前的所有历史记录仍然存在,并且可以使用 - history 命令再次列出所有历史记录,也可以通过按键盘上的向上箭头. 在我完全清除我的历史记录之前,我不希望这种情况发生,然后我想继续使用它。
如何彻底清除我的终端历史记录 - 永远重新开始?
请注意:我不想在没有保存历史记录的情况下退出终端,只是在这种情况下永远清除它。
所以,我看过历史和Ctrl+ R,但它们并不是我认为我所知道的。有没有办法可以在命令的开头输入,然后使用一些 bash 快捷方式循环浏览历史记录中的匹配项?
# mysq(some shortcut key)
Run Code Online (Sandbox Code Playgroud)
给我:
# mysqldump --add-drop-table -e -q -n -C -u
(some shortcut key)
# mysql -u ben.dauphinee -p
Run Code Online (Sandbox Code Playgroud)