在Linux系统的日常使用中,我们会频繁地输入各种命令来完成不同的任务。有时候,我们可能需要回顾之前输过的全部命令,这在调试、总结操作步骤或者确认之前的配置时非常有用。了解查看自己输过的全部命令的方法与技巧,能够帮助我们更高效地使用Linux系统。

最常用且简单的方法是使用`history`命令。当在终端中输入`history`并按下回车键后,系统会将当前用户在该终端会话中输入过的命令按顺序列出来,每一行命令前都会有一个编号。这个编号在后续的操作中非常有用,例如,如果我们想要再次执行之前的某条命令,可以使用`!编号`的形式。比如,若要执行历史命令列表中编号为123的命令,只需在终端输入`!123`并回车即可。而且,`history`命令还支持一些参数,使用`history -c`可以清空当前的历史命令记录,这在我们不希望他人查看自己的操作记录时非常实用;使用`history -d 编号`可以删除历史命令列表中指定编号的命令,能有效清理不必要的记录。
还可以通过环境变量`HISTFILE`来查看历史命令。`HISTFILE`通常指向一个文件,这个文件存储了用户的历史命令。在大多数Linux系统中,这个文件是`~/.bash_history`。我们可以使用`cat`、`more`或者`less`等命令来查看这个文件的内容。例如,输入`cat ~/.bash_history`可以一次性将文件内容全部输出到终端;使用`more ~/.bash_history`则可以分屏查看文件内容,按空格键翻页,按`q`键退出;而`less ~/.bash_history`提供了更多的操作功能,如可以使用上下箭头滚动查看内容,还能进行搜索等操作。不过需要注意的是,`~/.bash_history`文件中记录的是上一次终端会话结束时保存的历史命令,当前会话中还未退出终端时输入的命令不会立即保存到这个文件中。
除了直接查看历史命令,我们还可以对历史命令进行搜索。当历史命令记录非常多的时候,使用`history`命令直接查看可能不太方便,这时可以使用`grep`命令结合`history`命令进行搜索。例如,要查找包含`ls`的历史命令,可以输入`history | grep ls`,这样终端就会只显示包含`ls`的历史命令行。这种方法可以快速定位到我们需要的命令。
还有一种情况,如果我们在多个终端同时进行操作,想要合并所有终端的历史命令记录,可以先将各个终端对应的`~/.bash_history`文件备份,然后将它们合并到一个文件中。可以使用`cat`命令来完成这个操作,如`cat ~/.bash_history1 ~/.bash_history2 > ~/combined_history`,这样就将两个历史命令文件合并到了`~/combined_history`文件中,之后就可以对合并后的文件进行查看和分析。
掌握这些查看自己输过的全部命令的方法与技巧,能让我们在Linux系统的使用过程中更加得心应手。无论是排查问题、重复执行命令还是进行操作总结,这些技巧都能帮助我们更高效地完成任务,提升我们使用Linux系统的体验和效率。