在 Linux 中,history
命令用于显示 shell 会话的命令历史。如果想查看指定的行数,可以使用以下方法:
-
查看最后 n 条命令:
使用history n
可以显示最后 n 条命令。例如,如果想查看最后 10 条命令,可以使用:history 10
-
使用
tail
查看最后 n 条命令:
这是另一种查看最后 n 条命令的方法。例如,查看最后 10 条命令:history | tail -n 10
-
使用
head
查看前 n 条命令:
如果想查看前 10 条命令,可以使用:history | head -n 10
-
查看特定范围的命令:
如果想查看从第 50 条到第 60 条的命令,可以使用sed
:history | sed -n '50,60p'
使用 history
命令可以方便地查看和重复之前的命令,提高命令行工作效率。
在history
命令的输出中,前面的数字是命令的历史编号。这个编号为每个命令在历史中的位置提供了一个唯一的标识。
这个编号可以用于多种目的:
-
重复之前的命令:通过使用
!
符号 followed by the command number, 可以快速地重新执行那个命令。例如,要重新执行编号为 2009 的命令,可以简单地输入!2009
。 -
搜索特定的命令:这个编号也可以帮助我们快速地定位和查看历史中的特定命令。例如,如果我们记得大约在命令 2000 附近做了某些事情,可以使用
history
命令来查看那附近的命令【1】。 -
用于引用:当与他人讨论或分享命令历史时,这些编号也可以作为命令的引用。
需要注意的是,这些编号是基于用户的命令历史文件(通常是~/.bash_history
)生成的,并且它们可能会随着新命令的添加或历史文件大小限制而变化。
注【1】
如果想查看在命令 2000
附近的命令,可以使用以下方法:
- 使用
sed
或awk
:
history | sed -n '1995,2005p'
这将显示从命令编号 1995
到 2005
的命令。可以根据需要调整这些数字。
- 使用
tail
和head
的组合:
history | tail -n +1995 | head -n 11
这同样会显示从命令编号 1995
到 2005
的命令。
这些方法允许我们查看指定行数附近的命令,无需知道具体的命令内容或关键词。