Linux---history查看命令历史记录命令
history
命令是Linux系统中用于显示和管理用户之前执行过的命令列表的实用工具。以下是history
命令的详细教程:
一、基本功能
history
命令能够显示用户在当前shell会话或之前会话中执行过的所有命令。这对于回顾之前的操作、复制某个命令进行修改再次执行等场景非常有用。
二、基本用法
- 显示历史记录
- 在命令行中输入
history
并按下回车键,将会列出当前用户的历史命令。
- 在命令行中输入
- 显示指定数量的历史记录
history N
:显示最近的N条命令。例如,history 10
将显示最近的10条命令。
- 执行历史命令
!N
:执行历史记录中的第N条命令。!!
:执行上一条命令。!string
:执行最近的一条以string开头的命令。!?string
:执行最近的一条包含string的命令。
- 搜索历史命令
history | grep "keyword"
:搜索包含指定关键字的历史命令。
三、高级用法
- 清除历史记录
history -c
:清除当前shell会话的历史记录(仅清除内存中的记录,不会立即影响历史文件)。history -w
:将当前shell会话的历史记录写入历史文件(通常为~/.bash_history
),覆盖原有内容。- 若要完全清除历史记录,可以先执行
history -c
清除内存中的记录,再执行history -w
将空的历史记录写入文件。
- 删除指定历史记录
history -d offset
:删除历史记录中第offset个命令。例如,history -d 42
将删除编号为42的历史记录。
- 读取和追加历史记录
history -r
:从历史文件中读取命令并加载到当前历史命令缓冲区。history -a
:将当前历史命令缓冲区中的记录追加写入历史命令文件中,而不是覆盖。
- 替换历史记录
history -n filename
:从指定文件中读取命令并替换当前历史命令缓冲区的内容(不常用)。
- 显示命令的详细信息
history -l
:显示命令的详细信息,包括执行时间等(需要配置HISTTIMEFORMAT
环境变量)。
四、环境变量配置
history
命令的行为可以通过几个环境变量进行配置:
HISTFILE
:指定历史记录的保存文件。默认为~/.bash_history
。HISTSIZE
:设置历史记录的最大条目数(在内存中)。默认为1000条。HISTFILESIZE
:设置历史文件中保存的最大命令数。默认为无限制,但受限于文件系统的大小。HISTTIMEFORMAT
:定义时间戳的格式。例如,export HISTTIMEFORMAT="%F %T "
将时间戳格式设置为“年月日 时:分:秒”。
五、使用技巧
- 快速执行上一条命令的某个部分
!$
:执行上一条命令的最后一个参数。!^
:引用上一条命令的第一个参数。!*
:代表上一条命令的所有参数。
- 替换上一条命令中的文本
^old^new^
:用new替换上一条命令中的old。例如,^cat^ls^
将上一条命令中的cat
替换为ls
。
- 打印历史命令而不执行
!N:p
:打印历史记录中的第N条命令而不执行。例如,!10:p
将打印第10条命令。!!:p
:打印上一条命令而不执行。
- 统计历史记录
- 可以使用
awk
、sort
、uniq
等命令组合来统计历史记录中每个命令的出现次数等。
- 可以使用
六、注意事项
- 历史记录的保存和读取是在用户登录和注销时自动进行的。
- 使用
history -c
清除历史记录后,之前的操作将无法找回(除非从历史文件中恢复)。 - 修改环境变量后,可以通过
source ~/.bashrc
或者重新登录来使更改生效。
综上所述,history
命令是Linux命令行中一个非常实用的工具,通过合理使用和配置,可以大大提高用户的操作效率和便利性。
原文地址:https://blog.csdn.net/xhy020917/article/details/145144989
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!