如何回忆起终极历史

我昨天安装了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查找以前输入的命令。