溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux系統(tǒng)中怎么重復(fù)執(zhí)行歷史命令

發(fā)布時(shí)間:2021-06-22 14:40:01 來(lái)源:億速云 閱讀:195 作者:Leah 欄目:大數(shù)據(jù)

這篇文章將為大家詳細(xì)講解有關(guān)Linux系統(tǒng)中怎么重復(fù)執(zhí)行歷史命令,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

在正式開始之前,我們先隨便執(zhí)行幾條命令,便于后面演示。為了節(jié)約篇幅,執(zhí)行結(jié)果暫時(shí)不列出來(lái)。

$ ls -l
$ pwd
$ date
$ uname -a
方法1:!!

沒錯(cuò),兩個(gè)嘆號(hào)也是一條命令,它會(huì)重復(fù)執(zhí)行最后執(zhí)行的那條命令。

$ !!

這條命令等同于如下效果:

$ !!
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 權(quán)限,同樣只需在前面加 sudo 即可。

$ sudo !!
方法2:!un

假如我們?cè)诓僮鞯倪^(guò)程中輸入了非常多的命令,現(xiàn)在要重復(fù)執(zhí)行其中的一條,該怎么處理?有一種簡(jiǎn)單的方法,就是利用上下箭頭去翻查,但如果之前輸入了太多命令,翻查起來(lái)可以要找半天。

這時(shí)候,!un 這種命令就顯現(xiàn)出它的作用來(lái)了。記住,這個(gè) un 不是固定的,它是代表你想要重復(fù)輸入的命令的前幾個(gè)字符。

比如在這個(gè)例程中,我們想重復(fù)執(zhí)行 uname -a 這條命令,只需這樣執(zhí)行:

$ !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

如果你之前輸入的命令有多個(gè)是以 un 開頭的,那么你可能需要多輸入幾個(gè)字符。

$ !uname
方法3:!-1

這個(gè)方法就比較靈活了,!-1 代表重復(fù)執(zhí)行最后一條命令,!-2 表示重復(fù)執(zhí)行倒數(shù)第二條命令,!-n 表示重復(fù)執(zhí)行倒數(shù)第 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 也算一條指令,所以倒數(shù)第 3 條指令是 date ,而不是 pwd
date
Sun May 19 18:30:26 CST 2019
方法4:ctrl+r

ctrl+r 這個(gè)快捷鍵可以讓你搜索你之前輸入過(guò)的所有的命令。其實(shí)良許更喜歡這個(gè)快捷鍵,因?yàn)樗鼤?huì)讓你看到你將要執(zhí)行的命令。而如果是 !! 命令的話,它是直接執(zhí)行最后一條命令。如果這條命令是安全的還好,要是像 rm -rf /* 這樣的命令,那就悲劇了。

假如我現(xiàn)在要重復(fù)執(zhí)行 uname -a ,我們可以先按一下 ctrl+r 這個(gè)組合鍵,然后再依次敲入 ‘u’ ‘n’ ‘a(chǎn)’ ,如果之前輸入的命令比較少的話,基本只需敲一個(gè) u 或 n 就可以找到你要輸入的命令了。

(reverse-i-search)`u': uname -a

找到之后,再敲一下回車,即可重復(fù)執(zhí)行你要輸入的命令了。

假如說(shuō)你要對(duì)找到的那條命令進(jìn)行一些小修改,那么只需敲一下左或右的箭頭即可。

方法5:ctrl+p 或 ctrl+n 配合 ctrl+o

如果你是懶癌晚期,不想再敲任何字母,只想翻查找到想要的命令并執(zhí)行,要怎么操作?

前面提到,翻查歷史輸入的命令,可以使用上下箭頭。但這不是最高效的,我們可以使用 ctrl+p 和 ctrl+n 來(lái)達(dá)到同樣的效果。這樣更高效,因?yàn)槟愕氖植挥锰饋?lái)并移動(dòng)到箭頭區(qū)。

通過(guò) ctrl+p/n 的組合鍵找到想要的命令之后,我們可以按 ctrl+o 來(lái)執(zhí)行這條命令。這個(gè)組合鍵與回車不太相同,因?yàn)樗嘶剀囍猓€另外跳轉(zhuǎn)到最后一條命令。通過(guò)不斷地 ctrl+p/n ,然后 ctrl+o ,就可以高效的重復(fù)執(zhí)行你要執(zhí)行的命令了

關(guān)于Linux系統(tǒng)中怎么重復(fù)執(zhí)行歷史命令就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI