Linux history历史命令操作使用教程

开发工具 潘老师 3周前 (03-31) 65 ℃ (0) 扫码查看

Linux系统通过history命令来记录用户执行过的命令,并将这些历史记录存储在特定文件中,比如~/.bash_history(针对Bash shell)或~/.zsh_history(针对Zsh shell) 。接下来,就为大家详细介绍Linux历史命令的各种常用操作及相关配置方法。

一、查看历史命令

  1. 查看所有命令:想要查看之前执行过的所有命令,只需在终端输入:
history
# 执行该命令后,系统会列出所有先前执行的命令,并且每条命令前都会显示对应的行号,方便后续操作。
  1. 显示最新10条命令:如果只想查看最近执行的10条命令,可以使用如下命令:
history 10
  1. 搜索命令历史:当你想查找包含特定关键词的命令时,利用grep命令就能轻松实现:
history | grep "keyword"

例如,查找包含ls的命令,输入:

history | grep ls
  1. 使用反向搜索(CTRL + R:这是一种更便捷的搜索方式。按下CTRL + R组合键后,开始输入部分命令内容,系统会自动搜索匹配的命令。继续按CTRL + R可以循环搜索,找到想要的命令后,按下Enter键就能直接执行。

二、执行历史命令

  1. 执行指定编号的命令:若知道某个命令在历史记录中的编号,可通过以下方式执行:
!<command_number>

比如,要执行历史记录中第100号命令,输入:

!100
  1. 重新运行最后一个命令:在很多情况下,我们可能需要再次执行上一条命令,这时使用!!命令就非常方便:
!!
  1. 运行以特定单词开头的最后一个命令:假设你想运行最后一条以ls开头的命令,输入:
!ls

三、管理历史记录

  1. 清除当前会话历史记录:如果不想让当前会话中的命令记录被保留,可以使用:
history -c
  1. 删除指定命令:想要删除某条特定的历史命令,可按如下操作:
history -d <command_number>

例如,删除编号为50的命令:

history -d 50
# 这条命令执行后,编号50的历史命令就会从历史记录中删除。
  1. 永久清除历史记录:如果想要彻底清除历史记录,可以使用以下两种方法:
> ~/.bash_history
# 或者
cat /dev/null > ~/.bash_history

四、历史记录相关配置

  1. 变更历史文件位置:有时候,我们可能需要修改历史文件的存储位置。通过修改HISTFILE变量就能实现:
export HISTFILE=~/.my_custom_history
  1. 设置存储命令的数量:可以分别设置内存中存储的命令数和历史文件中存储的命令数:
export HISTSIZE=1000   # 设置内存中存储1000条命令
export HISTFILESIZE=2000  # 设置历史文件中存储2000条命令
  1. 忽略特定命令:有些命令可能不想让它们出现在历史记录中,比如lspwdexit等,可通过如下命令设置:
export HISTIGNORE="ls:pwd:exit"
# 这样,列出的这些命令就不会被保存在历史记录里了。
  1. 忽略重复项:为了让历史记录更简洁,可设置忽略重复的命令:
export HISTCONTROL=ignoredups

如果还想忽略那些带有前导空格的重复命令,可以使用:

export HISTCONTROL=ignoreboth
  1. 实时将所有命令记录到文件中:希望每条命令执行后立即被记录到历史文件中,可使用:
export PROMPT_COMMAND='history -a'
# 此后,每个命令执行后都会马上被追加到历史记录文件里。
  1. 保存时间戳在历史记录中:想要在历史记录中显示命令执行的时间戳,设置如下:
export HISTTIMEFORMAT="%F %T "

设置完成后,历史记录就会像这样显示:

  1  2024-03-31 10:15:30  ls
  2  2024-03-31 10:15:35  cd /home
  1. 防止其他用户查看你的历史记录:为了保护隐私,可修改历史文件的权限,让其他用户无法查看:
chmod 600 ~/.bash_history

五、不同Shell中的历史记录查看

不同的Shell查看历史记录的方式和存储文件略有不同:

  • Bash:使用history命令查看,历史记录存储在~/.bash_history文件中。
  • Zsh:同样使用history命令,历史记录文件为~/.zsh_history
  • Fish:通过history命令查看,历史记录存放在~/.local/share/fish/fish_history

掌握这些Linux历史命令的操作技巧,非常实用,赶紧动手试试吧!


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/tool/16653.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】