如何显示没有行号的Bash历史记录
时间:2020-03-21 11:44:18 来源:igfitidea点击:
如我们所知,Bash历史记录文件(~/.bash_history)记录了我们在终端中运行的所有命令。
我们可以使用history命令在终端中查看最近执行的命令列表。
查看历史记录时,我们应该已经注意到每个命令都有一个前缀号(行号)。
此前缀号可从历史记录中查找和删除特定的命令条目。
但是,我们知道我们可以从history命令的输出中忽略那些数字吗?
这个简短的教程描述了在Linux上显示不带行号的Bash历史记录的所有可能方法。
显示没有行号的Bash历史记录
当我们运行history命令时,我们将看到类似下面的输出。
$history
如我们所见,历史记录中的每个条目都带有一个前缀号。
如果我们不想显示行号,可以使用以下几种方法。
方法1-显示~/.bash_history文件的内容
这是显示没有行号的Bash历史记录的最简单方法。
$cat ~/.bash_history
方法2-使用历史记录命令
我们可以使用history命令的write选项来打印没有数字的历史记录,如下所示。
$history -w /dev/stdout
如果要将输出写入文本文件(例如history.txt),只需运行:
$history -w history.txt
方法3-使用历史记录和剪切命令
一种这样的方法是使用历史记录和剪切命令,如下所示。
$history | cut -c 8
看到了吗?
没有行号。
让我们分解上面的命令,看看每个部分的作用。
- 历史记录:显示Shell历史记录。
- | :管道符号用于单独的一个或者多个命令。它发送一个命令的输出作为下一个命令的输入。也就是说,每个命令都会读取前一个命令的输出。
- 剪切:从文件的每一行中删除节
- -c:仅选择某些字符
- 8-:(N-)显示从第N个字节,字符或者字段到行 tail的输出。在这种情况下(8-),它将剪切历史命令的每行输出的前7个字符,并从第8个字符开始显示实际命令。
方法4-使用fc和sed命令
我们还可以使用fc命令和sed命令显示没有行号的shell历史记录。
$fc -l -n 1 | sed 's/^\s*//'
要了解上述Linux命令中每个部分的作用,请参阅ExplainShell。
方法5-使用历史记录和awk命令
忽略行号shell历史记录的另一种方法是使用“ awk”命令,如下所示。
$history|awk '{="";print substr(##代码##,2)}'