网络宝典
第二套高阶模板 · 更大气的阅读体验

如何查看bash历史命令

发布时间:2025-12-14 03:09:21 阅读:119 次

在日常使用Linux或macOS系统时,很多人会频繁地在终端里输入命令。比如你刚执行了一个复杂的find查找命令,过一会儿又想用,但记不清具体参数了。这时候翻历史记录就特别实用。

最简单的查看方式:history命令

直接在终端输入以下命令:

history

它会列出最近使用过的所有命令,每条前面带一个编号。比如:

 1001  ls -la
 1002  cd /tmp
 1003  mkdir test
 1004  history

看到编号后,你可以用 !加编号快速执行某条命令。例如,输入 !1002 就会重新运行 cd /tmp

搜索你用过的命令

如果你记得命令的一部分,比如之前用过包含“ssh”的命令,可以按 Ctrl + R 进入反向搜索模式,然后输入:

ssh

终端会实时匹配出最近一次使用的相关命令。继续按 Ctrl + R 可以往前翻更多匹配项。

限制显示的历史条数

默认情况下,history会显示全部记录,但如果只想看最近10条,可以这样:

history 10

这样输出更简洁,适合快速回顾。

清除部分或全部历史

有时候你不希望别人看到你执行过的某些命令,比如包含了密码的curl请求。可以删除特定行:

history -d 1003

这会删除编号为1003的那条记录。如果想清空整个历史列表,运行:

history -c

注意:这只是清除了当前会话的历史,不会影响已经写入文件的记录。

历史保存在哪?

每次关闭终端,命令历史会被保存到当前用户的 ~/.bash_history 文件中。下次打开终端时,系统会自动加载这里面的内容。

如果你想永久修改历史记录保存的数量,可以编辑 ~/.bashrc 文件,添加或修改这两行:

export HISTSIZE=5000
export HISTFILESIZE=5000

这样就把最大保存条数设成了5000条。改完后运行 source ~/.bashrc 立即生效。

小技巧:避免记录某些命令

有些命令你不想被 history 记下来,比如包含敏感信息的操作。可以在命令前加一个空格(前提是HISTCONTROL包含ignorespace):

 export HISTCONTROL=ignorespace
 echo secret > /tmp/passwd
 # 前面加个空格,这条就不会进历史
  rm /tmp/passwd

这个习惯养成了,能有效保护隐私。