重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要为大家展示了“Linux中如何重复执行历史命令”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中如何重复执行历史命令”这篇文章吧。
创新互联专注于调兵山网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供调兵山营销型网站建设,调兵山网站制作、调兵山网页设计、调兵山网站官网定制、成都小程序开发服务,打造调兵山网络公司原创品牌,更为您提供调兵山网站排名全网营销落地服务。
在正式开始之前,我们先随便执行几条命令,便于后面演示。为了节约篇幅,执行结果暂时不列出来。
$ ls -l $ pwd $ date $ uname -a
方法1:!!
没错,两个叹号也是一条命令,它会重复执行最后执行的那条命令。
$ !!
这条命令等同于如下效果:
$ !! uname -a Linux VM_0_16_centos 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
如果需要 root 权限,同样只需在前面加 sudo 即可。
$ sudo !!
方法2:!un
假如我们在操作的过程中输入了非常多的命令,现在要重复执行其中的一条,该怎么处理?有一种简单的方法,就是利用上下箭头去翻查,但如果之前输入了太多命令,翻查起来可以要找半天。
这时候,!un 这种命令就显现出它的作用来了。记住,这个 un 不是固定的,它是代表你想要重复输入的命令的前几个字符。
比如在这个例程中,我们想重复执行 uname -a 这条命令,只需这样执行:
$ !un uname -a Linux VM_0_16_centos 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
如果你之前输入的命令有多个是以 un 开头的,那么你可能需要多输入几个字符。
$ !uname
方法3:!-1
这个方法就比较灵活了,!-1 代表重复执行最后一条命令,!-2 表示重复执行倒数第二条命令,!-n 表示重复执行倒数第 n 条指令。
$ !-1 uname -a Linux VM_0_16_centos 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux $ !-3 # 注意,前面的 !-1 也算一条指令,所以倒数第 3 条指令是 date ,而不是 pwd date Sun May 19 18:30:26 CST 2019
方法4:ctrl+r
ctrl+r 这个快捷键可以让你搜索你之前输入过的所有的命令。其实良许更喜欢这个快捷键,因为它会让你看到你将要执行的命令。而如果是 !! 命令的话,它是直接执行最后一条命令。如果这条命令是安全的还好,要是像 rm -rf /* 这样的命令,那就悲剧了。
假如我现在要重复执行 uname -a ,我们可以先按一下 ctrl+r 这个组合键,然后再依次敲入 ‘u' 'n' 'a' ,如果之前输入的命令比较少的话,基本只需敲一个 u 或 n 就可以找到你要输入的命令了。
(reverse-i-search)`u': uname -a
找到之后,再敲一下回车,即可重复执行你要输入的命令了。
假如说你要对找到的那条命令进行一些小修改,那么只需敲一下左或右的箭头即可。
方法5:ctrl+p 或 ctrl+n 配合 ctrl+o
如果你是懒癌晚期,不想再敲任何字母,只想翻查找到想要的命令并执行,要怎么操作?
前面提到,翻查历史输入的命令,可以使用上下箭头。但这不是最高效的,我们可以使用 ctrl+p 和 ctrl+n 来达到同样的效果。这样更高效,因为你的手不用抬起来并移动到箭头区。
通过 ctrl+p/n 的组合键找到想要的命令之后,我们可以按 ctrl+o 来执行这条命令。这个组合键与回车不太相同,因为它除了回车之外,还另外跳转到最后一条命令。通过不断地 ctrl+p/n ,然后 ctrl+o ,就可以高效的重复执行你要执行的命令了。
以上是“Linux中如何重复执行历史命令”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!