el_*_*zul 5 command-line bash history bashrc bash-history
几年前,我进行了从 14.04 到 16.04 的自动分发更新。我有生以来第一次能够在自动分发更新后继续使用计算机。像往常一样,软件存储库都经过监控,因此系统更新无法正常工作,但我已经熬过去了。
但是,我将进行 18.04 的全新安装。为了能够在安装后更轻松地配置我的系统,我将我的命令历史导出到一个文本文件。
$ history > /.../20180915_Command_history.txt
Run Code Online (Sandbox Code Playgroud)
漂亮的是,生成的文本文件包含行号。有点神秘,第一行号是76,看了前几行,好像有一些以前的命令。
Rav*_*ina 13
首先,如果您需要备份命令行历史记录,只需复制此文件:
~/.bash_history
Run Code Online (Sandbox Code Playgroud)
请记住,您必须关闭所有终端或运行history -a
以将这些历史会话中的所有命令附加到历史文件中。
如果没有,有什么办法可以看到第 1 到 75 行吗?
保存在历史记录中的每个命令都可以在~/.bash_history
文件中找到,打开终端并运行:
cat ~/.bash_history
Run Code Online (Sandbox Code Playgroud)
要获得类似于history
带有编号运行的命令的输出:
cat -n ~/.bash_history
Run Code Online (Sandbox Code Playgroud)
行号是否出于某种原因从 76 开始?
运行此命令:
grep "^HIST" .bashrc
Run Code Online (Sandbox Code Playgroud)
您必须获得类似于以下内容的输出:
HISTSIZE=1000
HISTFILESIZE=2000
Run Code Online (Sandbox Code Playgroud)
正如我之前所说,~/.bash_history
保留命令行的历史记录。
该HISTFILESIZE
节目应该有多少个命令~/.bash_history
不断的跟踪,对矿山是2000。
并且HISTSIZE
是history
命令(实际上是内置的shell)跟踪的命令数。
当您打开终端并运行时history
,它会HISTSIZE
从中选择最后数量的命令~/.bash_history
并将其显示给您。
如果您运行新命令,它将从会话中删除旧命令并将新命令附加到其列表的末尾,以便命令的数量匹配HISTSIZE
。
我想一边询问你有74比命令更的问题HISTSIZE
在你的.bash_history
,这就是为什么它开始于75的原因。
来自man bash
:
HISTSIZE
命令历史记录中要记住的命令数。
HISTFILESIZE
历史文件中包含的最大行数。