linux中如何使用history命令显示或操纵历史命令

历史
显示或操作历史命令记录。

显示: History:显示当前shell会话的所有记录。
历史记录N:显示最近N条记录,N为条数。

控制: History -a:将当前会话记录追加到历史文件中。
History -c:删除当前会话历史记录。
History -r:从历史文件中读取记录。

历史记载: 默认位置:~/.bash_history。

变量: HISTSIZE:控制保存的会话数。
HISTFILESIZE:控制保存的文件数量。

推荐: 保护敏感命令:history -c 执行后。
禁用日志记录:~/.bashrc 设置 HISTSIZE=0。

如果你不能学习,就出去吧。

linux历史命令记录在哪个文件里linux的历史命令

我记得有一次,我在服务器上忙到半夜,突然发现.bash_history 文件比我想象的要大。
它充满了尝试和错误的说明。
想想都觉得尴尬。
如何清除这条历史记录呢?
我在终端中输入了几个命令,发现history -c立即清除了当前会话命令,但感觉它是治标不治本。
然后,我检查了/root/.bash_history,发现默认是保留1 000条记录。
在/etc/profile中找到HISTSIZE=1 000,修改为HISTSIZE=0并保存。
新开通的终端肯定不会再记录历史。
但这样会影响常用命令的快速查找。

等一下,还有一件事,如果你只是想清除某些命令的历史记录,比如 grep,你可以继续使用历史记录 | grep -v grep 过滤并删除行号,然后用 -w History 保存。
但这种方法比较麻烦,而且容易错过。

history -w 强制文件重新加载,而history -c 只是清除内存。
如果服务器突然断电,内存中的历史记录会返回到文件中吗?这些细节需要再次确认。

linux查看历史命令

嘿,你是在问 Linux 命令历史吗? 我会给你一个概要。
我以前做过并且有一些经验。

就在上周,我在上海机房调试一个脚本。
突然我发现我删除了一个重要的文件。
我想找到回滚命令,于是我赶紧打开终端查看历史记录。
在Linux中,查看历史命令确实很方便。
您主要依赖history 命令并使用它配置的参数。

我们先来谈谈基础知识。
打开终端,只需输入history并按Enter键。
默认情况下,会列出您最近执行的 1 ,000 次操作。
这些命令存储在用户主目录中的 .bash_history 文件中。
如果您想查看更少的内容,例如仅查看最后 5 项,您可以输入 History 5 并按 Enter 键。
如何找到这条路呢? 你可以输入 echo $HISTFILE ,它会立即显示在屏幕上,非常直观。

然后,还有更高级的操作。
比如,有时候你觉得历史命令太多,想清除当前会话(注意,不是删除历史文件本身),你只要输入history -c,唰的一声,当前会话的历史就没有了。
但 .bash_history 文件仍然完好无损。
如果确实想保存本次会话的历史记录或者清除文件中的历史记录,可以使用history -w,这会强制将当前会话的历史记录刷新到文件中(会覆盖文件中原来的内容)。
要清除文件,可以使用history -c,然后使用history -w。

如果你想删除某个特定的命令,比如编号为9 9 0的命令,你可以使用history -d 9 9 0。
你怎么知道这个编号呢? 你首先使用history命令打出列表,前面是数字,比如history | grep“您的命令”,找到该号码,然后键入history -d以获取该号码。

有几个参数也蛮实用的。
History -a,这是将当前会话中添加的新命令追加到.bash_history文件中。
History -r,从文件中读取命令并将其加载到当前会话的历史记录中。
这两者经常一起使用。
例如,如果您在会话中执行了某些操作并想要保存它,请使用history -a。
下次打开新会话并想要加载上次保存的操作时,请使用history -r。

至于文件路径和保存次数,这些也很简单。
路径是echo $HISTFILE,可以看到。
要保存多少条记录,使用 echo $HISTFILESIZE。
我在旧服务器上看到默认是2 000,有的新系统可能有1 000。
这个值可以改,但一般没有必要。

如果您想查看命令的执行时间,特别方便。
如果键入export HISTTIMEFORMAT='%F %T',然后键入history,则历史记录前面将带有日期和时间,格式为年-月-日时:分:秒。
我经常使用这个功能,特别是帮助你回忆当时你在做什么。
设置完这个之后,记得用history -a保存当前会话,不然下次看的时候还是没有时间戳。

最后,有时你想直接看到.bash_history文件的原始内容,而不需要通过history命令过滤它。
这也很简单。
您可以使用 vim ~/.bash_history 或 cat ~/.bash_history | 较少的。
但请注意,某些系统可能有特殊配置。
比如历史记录是实时写入的,或者有轮换机制。
那么使用history命令看到的历史记录可能和直接打开文件看到的不完全一样。
这点需要注意。

无论如何,这就是 Linux 历史命令的感觉。
History命令配备了各种参数,功能非常强大。
尝试一下,你就会得到用过几次就习惯了。