您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Linux系統中怎么重復執行歷史命令,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
在正式開始之前,我們先隨便執行幾條命令,便于后面演示。為了節約篇幅,執行結果暫時不列出來。
$ ls -l $ pwd $ date $ uname -a
沒錯,兩個嘆號也是一條命令,它會重復執行最后執行的那條命令。
$ !!
這條命令等同于如下效果:
$ !! 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 !!
假如我們在操作的過程中輸入了非常多的命令,現在要重復執行其中的一條,該怎么處理?有一種簡單的方法,就是利用上下箭頭去翻查,但如果之前輸入了太多命令,翻查起來可以要找半天。
這時候,!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
這個方法就比較靈活了,!-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
ctrl+r
這個快捷鍵可以讓你搜索你之前輸入過的所有的命令。其實良許更喜歡這個快捷鍵,因為它會讓你看到你將要執行的命令。而如果是 !! 命令的話,它是直接執行最后一條命令。如果這條命令是安全的還好,要是像 rm -rf /* 這樣的命令,那就悲劇了。
假如我現在要重復執行 uname -a ,我們可以先按一下 ctrl+r 這個組合鍵,然后再依次敲入 ‘u’ ‘n’ ‘a’ ,如果之前輸入的命令比較少的話,基本只需敲一個 u 或 n 就可以找到你要輸入的命令了。
(reverse-i-search)`u': uname -a
找到之后,再敲一下回車,即可重復執行你要輸入的命令了。
假如說你要對找到的那條命令進行一些小修改,那么只需敲一下左或右的箭頭即可。
如果你是懶癌晚期,不想再敲任何字母,只想翻查找到想要的命令并執行,要怎么操作?
前面提到,翻查歷史輸入的命令,可以使用上下箭頭。但這不是最高效的,我們可以使用 ctrl+p 和 ctrl+n 來達到同樣的效果。這樣更高效,因為你的手不用抬起來并移動到箭頭區。
通過 ctrl+p/n 的組合鍵找到想要的命令之后,我們可以按 ctrl+o
來執行這條命令。這個組合鍵與回車不太相同,因為它除了回車之外,還另外跳轉到最后一條命令。通過不斷地 ctrl+p/n ,然后 ctrl+o ,就可以高效的重復執行你要執行的命令了
關于Linux系統中怎么重復執行歷史命令就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。