Bash历史文件(~/.bash_history)会记录你在终端中运行的所有命令,我们可以使用history命令查看终端中最近执行的命令列表,当你查看历史记录时,你应该注意到每个命令都有一个前缀号(行号),此前缀号可帮助你从历史记录中查找和删除特定命令条目,但是,你知道我们可以从历史命令的输出中省略这些数字吗?本教程介绍在Linux上显示没有行号的Bash历史记录。
显示没有行号的Bash历史记录 运行history命令时,你将看到如下所示的输出: $ history
如你所见,历史记录中的每个条目都带有前缀编号,如果你不想显示行号,可以通过以下几种方法进行操作。
方法1、显示~/.bash_history文件的内容 这是显示没有行号的Bash历史记录的最简单方法: $ cat ~/.bash_history
参考:cat命令_Linux cat命令使用详解:连接文件并打印到标准输出设备上。
方法2、使用history命令 我们可以使用history命令的写入选项打印历史记录: $ history -w /dev/stdout
如果要将输出写入文本文件,比如history.txt,只需运行: $ history -w history.txt
方法3、使用history和cut命令 另一种方法是使用history和cut命令,如下所示。 $ history | cut -c 8-
看到上图了吗?没有行号。 让我们分解上面的命令,看看每个部分的作用: 1、history:显示Shell历史记录。 2、| :管道符号单独使用一个或多个命令,它发送一个命令的输出作为下一个命令的输入,也就是说,每个命令都读取前一个命令的输出。 3、cut:从每行文件中删除部分。 4、-c:仅选择某些字符。 5、8-:(N-)显示从第N个字节,字符或字段到行尾的输出,在这种情况下(8-),它会剪切history命令的每行输出的前7个字符,并显示第8个字符的实际命令。
方法4、使用fc和sed命令 我们还可以使用fc命令和sed命令来显示没有行号的shell历史记录: $ fc -l -n 1 | sed 's/^\s*//'
方法5、使用history和awk命令 忽略行号shell历史记录的另一种方法是使用如下所示的awk命令: $ history|awk '{$1="";print substr($0,2)}'
参考:awk命令_Linux awk命令使用详解:文本与数据进行处理的编程语言。
结语 如果你遇到的情况是在没有前缀编号的情况下显示你的Shell历史记录,以上方法将有所帮助。
相关主题 |