在Linux中,要查看历史命令列表以访问之前的内容,你可以使用history
命令。这个命令会显示你当前shell会话(或者,如果你指定了参数,可能是所有会话)中执行过的命令列表。
基本用法
- 简单地输入
history
并按下回车键,将会显示当前shell会话中执行过的命令列表。
|---|-----------|
| | history
|
- 你可以通过管道(
|
)将history
命令的输出传递给其他命令,比如less
或grep
,来进行搜索或分页查看。
|---|--------------------------|
| | history | less
|
| | # 或者
|
| | history | grep "某个关键词"
|
使用选项
-c
选项用于清除当前shell会话的历史记录。注意,这不会删除已经保存在历史文件中的记录(如果shell配置为保存历史记录到文件的话)。
|---|--------------|
| | history -c
|
-d OFFSET
选项用于删除历史列表中指定偏移量(从0开始计数)的命令。
|---|----------------------------------|
| | history -d 100
|
| | # 这会删除历史列表中第101条命令(因为计数是从0开始的)
|
-n
选项用于从指定的历史文件中读取新的命令并追加到历史列表中。这在你重启了shell会话但想保留之前的命令历史时很有用。
|---|--------------|
| | history -n
|
-r
选项用于从历史文件中读取整个历史列表,覆盖当前的历史列表。这在你意外清除了当前会话的历史记录,但想从文件中恢复时很有用。
|---|--------------|
| | history -r
|
-w
选项用于将当前的历史列表写入到历史文件中。这在你想要确保所有最近的命令都被保存到文件中时很有用。
|---|--------------|
| | history -w
|
注意
- 历史命令的保存和读取行为可能会受到你的shell配置(比如bash的
~/.bash_history
文件和HISTFILE
、HISTSIZE
、HISTFILESIZE
等环境变量)的影响。 - 默认情况下,
history
命令可能不会显示时间戳。如果你希望显示时间戳,可以在你的shell配置文件中(比如~/.bashrc
对于bash用户)设置HISTTIMEFORMAT
环境变量。例如:
|---|----------------------------------|
| | export HISTTIMEFORMAT="%F %T "
|
这会将时间戳设置为"年-月-日 时:分:秒"的格式。然后,当你运行history
命令时,每条命令旁边都会显示执行的时间。