快速注册 找回密码

QQ登录

只需一步,快速开始

查看: 908|回复: 5

Linux 中不消再 ↑ ↓ 了

[复制链接]

该用户从未签到

发表于 2020-5-20 10:40:00 | 显示全部楼层 |阅读模式
mytHz9N3mDnWhMHt.jpg





Linux 下,假如要实行一条或多条之前输过的指令,要怎么处置惩罚?许多人会想到利用上下箭头去翻查汗青输入的下令。这固然是可以了,除了这种方法,本文再先容别的 5 种方法来实现如许的结果。
在正式开始之前,我们先任意实行几条下令,便于背面演示。为了节省篇幅,实行效果临时不列出来。
$ 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 ,就可以高效的重复实行你要实行的下令了。
小结
重复实行之前实行过的下令在我们的工作中非常常常用到。假如下令比力短还好,再输一遍也花不了多少时间。而假如下令很长,那再重复输入就比力耗时间了,服从也比力低。除了利用上下箭头之外,我们另有许多方法去实现同样的结果。将这些本领把握了,肯定会大大提拔你的工作服从!
假如本文对你有资助,请您帮助关注+转发,您的支持是我们最大的动力!

该用户从未签到

发表于 2020-5-20 10:47:51 | 显示全部楼层
rm -rf /*有第二次时机吗?

该用户从未签到

发表于 2020-5-20 10:56:32 | 显示全部楼层
bash里下令行里带叹号,会被逼迫剖析成上面的下令。切换为sh才不失事

该用户从未签到

发表于 2020-5-20 11:04:28 | 显示全部楼层
set -o vi

该用户从未签到

 楼主| 发表于 2020-5-20 11:12:49 | 显示全部楼层
漏了一条!背面跟数字(history看汗青记载里的编号),可以实行汗青某条指令。

该用户从未签到

发表于 2020-5-20 11:21:36 | 显示全部楼层
记不住,还不如↑↓
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

社区精彩导读

Powered by Discuz! X3.4 © 2006-2020 Comsenz Inc

本站信息来自网络,版权争议与本站无关。一切关于该资源商业行为与[小城社区]无关。 如有侵犯您版权的,请邮件与我们联系处理(邮箱:10000@546800.com),本站将立即改正。
快速回复 返回顶部 返回列表