📅  最后修改于: 2023-12-03 15:36:16.713000             🧑  作者: Mango
在 Ubuntu 系统中,我们可以使用 Bash Shell 来执行各种命令和操作。Bash Shell 不仅提供了强大的命令行工具和脚本语言,还允许我们访问之前执行的命令和操作的历史记录。在本文中,我们将介绍如何从历史记录中检索和重新运行之前执行的命令。
我们可以使用 history
命令来查看之前执行的命令的历史记录。该命令会显示一个包含所有历史记录的列表,每个命令占据一行,并以相应的编号开始。
$ history
1 ls
2 cd Desktop/
3 touch testfile.txt
4 nano testfile.txt
5 echo "Hello world"
6 history
我们可以使用 -c
参数来清除所有历史记录。
$ history -c
我们可以使用 !
命令来检索之前执行的命令的历史记录。!
后跟随命令的编号,就可以重新运行该命令。
$ !1
ls
我们还可以使用 !!
命令来重新运行刚刚执行的命令。
$ echo "Hello world"
Hello world
$ !!
Hello world
如果没有指定编号,!
命令会默认重新运行最后一条命令。
$ echo "Hello world"
Hello world
$ ls
Desktop Documents Downloads Music Pictures Public Templates Videos
$ !
ls
Desktop Documents Downloads Music Pictures Public Templates Videos
除了 !
命令之外,我们还可以使用 ctrl+r
快捷键来进行历史记录的搜索。按下 ctrl+r
后,我们只需输入要搜索的命令的关键字,即可找到并重新运行该命令。
(reverse-i-search)`ls': ls
我们可以使用 !!
、!-N
和 !string
命令来从历史记录中执行命令。
!!
命令会重新运行上一条命令。
$ echo "Hello world"
Hello world
$ !!
Hello world
!-N
命令会重新运行从当前命令倒数第 N 条命令。
$ ls
Desktop Documents Downloads Music Pictures Public Templates Videos
$ !-2
echo "Hello world"
Hello world
!string
命令会重新运行最后一条以指定字符串开头的命令。
$ ls
Desktop Documents Downloads Music Pictures Public Templates Videos
$ !ls
Desktop Documents Downloads Music Pictures Public Templates Videos
在本文中,我们讨论了如何从历史记录中检索和重新运行之前执行的命令。了解这些命令可以帮助我们更有效地管理 Shell 命令,并提高命令行工作效率。