在 Linux 中使用 History 命令 [初学者指南]
您在终端中输入的所有内容都存储在 shell 历史记录中。在历史命令简介中了解如何在 Linux 中使用命令历史记录。
让我们面对现实吧,我们人类并不擅长记住事情。有时健忘会让人非常沮丧,并导致痛苦的后果。
与我们不同,计算机具有近乎完美的记忆力。 Linux 中的历史命令就是一个例子。该程序会跟踪我们在命令行中输入的所有内容。
听起来很简单,确实如此。不过,您会惊讶地发现这个工具经常派上用场!
让我们来看一些可以提高我们的命令行技能并提高工作效率的示例。
Linux 中历史命令的设置存储在哪里?
为了更好地理解历史命令,我们将看看用户可以配置哪些设置。
在 Ubuntu 上,记录的命令数量的典型默认值是 1000,但它可能因系统而异。历史记录的设置由您的 bash 配置文件(通常为 ~/.bashrc)设置。可以从此文件中编辑多个历史文件设置,包括日志文件的位置。
默认情况下,命令历史记录通常记录到 ~/.bash_history 中。
christopher@linux:~$ cat ~/.bash_history
sudo apt-get clean
#sudo e4defrag /
df -h
sudo e4defrag /
sudo fstrim /
sudo -s
poweroff
ls
如何在Linux中使用history命令?
让我们看一些在 Linux 中使用历史命令的示例。
1) 使用箭头键滚动浏览命令历史记录
在我们知道这个技巧之前,我们中的许多人都没有想到命令行是什么样的。如果您还不知道,可以使用向上/向下箭头键快速滚动浏览命令历史记录。
当您在输入一些长而复杂的命令时犯错误时,这非常有用。只需点击向上箭头,然后更正即可。完毕。
2) 默认历史记录设置
让我们从简单的事情开始。我们只需输入命令并查看返回的内容即可。
history
这将返回您最近输入的命令的编号列表。
christopher@linux:~$ history
1 sudo apt-get clean
2 #sudo e4defrag /
3 df -h
4 sudo e4defrag /
5 sudo fstrim /
6 sudo -s
7 poweroff
8 ls
9 history
看起来很熟悉,对吧?这是 .bash_history 文件中的内容,加上“history”的新条目。
事实上,在关闭 shell 之前,新条目不会反映在文件中。
2) 使用索引从历史记录中运行命令
您是否注意到运行历史命令时命令已编号?要快速重新运行特定命令,请键入 !
,然后键入数字。
christopher@linux:~$ !8
ls
Desktop Downloads fontconfig Pictures Templates
Documents examples.desktop Music Public Videos
3)从历史记录中删除命令
如果您犯了错误,您可以使用 -d 选项后跟行号来删除特定项目。让我们删除第九行。
christopher@linux:~$ history -d 9
christopher@linux:~$ history
1 sudo apt-get clean
2 #sudo e4defrag /
3 df -h
4 sudo e4defrag /
5 sudo fstrim /
6 sudo -s
7 poweroff
8 ls
4) 删除整个命令历史记录
也许您想删除不止一行。我们可以使用 -c 选项删除整个历史记录。
christopher@linux:~$ history -c
christopher@linux:~$ history
1 history
5)在历史记录中搜索命令
显然,我的历史文件现在相当短,因为我刚刚清除了它。然而,由于可能有多达 1000 个命令,事情很快就会变得混乱。幸运的是,您可以使用工具来搜索历史记录,以帮助找到您之前使用过的复杂命令。
方法1.使用Grep
这是我们历史的更新列表。
christopher@linux:~$ history
1 history
2 ls
3 ll
4 cd
5 cd ..
6 cd
7 ls
8 ll
9 history
现在,我将使用通过 grep 命令传递的历史命令来查找包含字符 l
的条目。
christopher@linux:~$ history | grep l
2 ls
3 ll
7 ls
8 ll
10 history | grep l
方法 2:使用反向搜索
您还可以使用reverse-i-search 工具搜索命令。如果按 Ctrl+r,您将看到一个新提示,可用于搜索命令历史记录。
christopher@linux:~$
(reverse-i-search)`':
您可以开始输入,它会在您添加字母时返回结果。这是 Linux 中必须知道的终端快捷方式之一。
grep 和reverse-i-search 都可以让你的生活更轻松。
结论
这只是非常基本的历史命令示例。根据您的喜好和要求进行定制是没有止境的。也许我们稍后会介绍一些高级历史命令。
我希望您发现历史命令的介绍很有用。请在评论部分提供您的反馈。