如何回忆起终极历史
我昨天安装了Ubuntu 10.10。 然后在使用终端时,我注意到,一旦我退出终端会话,其历史记录就消失了,尽管历史记录存在于终端类似ROOT(CERN)历史记录中的应用程序。
在给出命令
echo $HISTFILESIZE
它显示2000.当我退出会话并打开一个新终端时,我将其更改为10000; 它再次将历史显示为2000,并且无法通过上/下箭头键访问命令。
请帮忙。 我对soooo感到沮丧….在terrminal打字很多。
如果没有命令可以使用↑或↓运行,表明您的历史记录文件为空或您没有读取权限。 检查一下。
也许您以其他用户身份运行命令。 如果是这样的话:
su otheruser history 10
并查看输出。
如果更改$HISTFILESIZE
,则每次调用其他shell时都会覆盖更改。 为了防止你在.bashrc
更改该变量。 您还应将变量$HISTSIZE
设置为更大的值。
通常使用历史的有用技巧:
Ctrl + R会为您反向搜索历史记录。 Alt + 。 将最后一个命令的最后一个参数粘贴到光标位置的提示符中。
bang( !
)操作符也将在终端中为您重复命令(如果它只是为您节省一些输入。示例:
confus@confusion:~$ echo "bang + letters will repeat the last command starting with these letters." bang + letters will repeat the last command starting with these letters. confus@confusion:~$ clear confus@confusion:~$ !ech bang + letters will repeat the last command starting with these letters.
所有那些与hetroy相关的东西都存储在名为.bash_history
的文件中的任何用户的主目录中。 您可以使用history
-command查找它们。 她是关于如何使用历史的小教程。
confus@confus:~$ history 4 #will print last 4 commands 1848 ls 1849 clear 1850 vi /home/confus/.local/share/applications/nautilus-home.desktop 1851 history 4
另一个非常有用的事情是在您的主目录中创建一个.inputrc
文件,其中包含以下内容:
"\e\e[C": forward-word "\e\e[D": backward-word "\e[A": history-search-backward "\e[B": history-search-forward
这样您就可以使用↑或↓来完成从历史记录中开始输入的命令。 例如,当你键入一个相当长的命令,如rsync -a -v --human-readable --prune-empty-dirs -e 'ssh -i .ssh/id_rsa' --include="*/" --exclude="snapshot_*" --exclude="restart.*" /scratch/ x@cluster1:/home/x/runs/
想要再次运行它你可以输入rsy
然后↑它将完成到最后以rsy开头的命令。 再次按下uparrow将完成到倒数第二,依此类推。 我不知道为什么这不是默认值。
如果您记住输入的命令的一部分,可以按Control + R并搜索bash历史记录。
您的主文件夹中还有一个名为.bash_history
文件,您可以打开或grep查找以前输入的命令。