isu*_*rce 79 command-line bash history
我想查看我的.bash_history文件的内容,但不知道如何通过命令行到达那里。
ter*_*don 66
如果您要访问的实际文件本身,只用你喜欢的文本编辑器(我用的emacs,但你可以使用pluma的gedit或者vim或其他):
emacs ~/.bash_history
Run Code Online (Sandbox Code Playgroud)
如果您的历史文件,那是默认位置。如果您在那里没有找到任何内容,您可能已经更改了历史文件的名称。这存储在$HISTFILE变量中,因此将其打印出来以检查其当前值:
echo $HISTFILE
Run Code Online (Sandbox Code Playgroud)
如果您只想查看历史记录而不是文件,则可以history按照@minerz029 的建议运行。没有选项的history命令只打印您的内容,$HISTFILE然后是在当前 shell 中执行的尚未写入该文件的命令,以及行号。
kir*_*iri 54
如果你确实需要的输出.bash_history文件,替换history用
cat ~/.bash_history在下面的所有命令。
如果您确实想要前面没有数字的命令,请使用此命令而不是history:
history | cut -d' ' -f 4-
Run Code Online (Sandbox Code Playgroud)
否则,将没有区别(除非您使用不同的外壳)。
您可以使用
history | tail -n 15
Run Code Online (Sandbox Code Playgroud)
仅获取历史记录的最后 15 行,最后打印的最后一次执行(在底部)。
或者,使用
history | grep "apt-get" | tail -n 15
Run Code Online (Sandbox Code Playgroud)
获取最后apt-get打印的最后 15 个命令(在底部)。您可以替换apt-get为您想要搜索的任何命令(或命令参数)(它可以是正则表达式)。
您可以使用
history | tac | less
Run Code Online (Sandbox Code Playgroud)
从顶部的最新命令开始滚动浏览所有执行的命令。按q退出。
同样,使用
history | grep "apt-get" | tac | less
Run Code Online (Sandbox Code Playgroud)
滚动浏览所有使用“ apt-get”执行的命令(包括参数),从顶部的最新命令开始。按q退出。
hoo*_*enz 16
除了 minerz029 的出色回答。
重申 - 'history' 命令打印历史及其旁边的数字。
您可以将历史输出通过管道传输到 grep、less 等。
历史的输出还在输出旁边的左侧显示一个数字。例如
469 free
470 ps -fA
471 ps -fA | grep xend
472 free
473 sudo vi /etc/xen/xend-config.sxp
474 cat /etc/default/grub
Run Code Online (Sandbox Code Playgroud)
使用此编号,您可以重新运行该命令。
例如重新运行 473 我会输入终端
admin@xen1~$ !473
Run Code Online (Sandbox Code Playgroud)
然后按回车键重复历史输出中 473 旁边的命令。
您还可以通过键入ctrl + r键在命令历史记录中以交互方式向后搜索,然后开始键入命令的一些内容,它会搜索并填写它。当您找到它时,您可以输入回车来重复它,或者按[tab]键将其复制到命令行以首先编辑命令。
当然,最后两个选项在 bash shell 中有效。我不确定这些功能是否适用于其他 shell。但是由于 bash 是 Ubuntu 默认的 shell,你应该在那里找到它们。
| 归档时间: |
|
| 查看次数: |
288509 次 |
| 最近记录: |