您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關五個常用的Bash歷史記錄操作方式分別是什么,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
眾所周知,Bash歷史記錄里有許多快捷方式的記錄,讓人眼花繚亂。其實這些快捷方式使用起來,可以極大的提高我們學習和工作的效率。如果大家覺得這些方式很難記,可以循序漸進,每天只學一點內容,這樣就能輕松掌握。下面小編將選五個最常用到的Bash歷史記錄操作方式為大家介紹。
1、最后一個參數:!$
如果你僅想從本文中學習一種快捷方式,那就是這個。它會將最后一個命令的最后一個參數替換到你的命令行中。
看看這種情況:
啊哈,我在命令中寫了錯誤的文件名 “wrongfile”,我應該用正確的文件名 “rightfile” 代替。
你可以重新鍵入上一個命令,并用 “rightfile” 完全替換 “wrongfile”。但是,你也可以鍵入:
這個命令也可以奏效。
在 Bash 中還有其他方法可以通過快捷方式實現相同的目的,但是重用上一個命令的最后一個參數的這種技巧是我最常使用的。
2、搜索并替換:!!:gs
這將搜索所引用的命令,并將前兩個/之間的字符替換為后兩個/之間的字符。
假設我想告訴別人我的s鍵不起作用,而是輸出了f:
然后我意識到這里出現的f鍵都是錯的。要將所有f替換為s,我可以輸入:
它不只對單個字符起作用。我也可以替換單詞或句子:
測試一下
為了向你展示如何組合這些快捷方式,你知道這些命令片段將輸出什么嗎?
3、全部參數:!:1-$
假設我運行了類似這樣的命令:
參數是正確的。然而,我想在文件中匹配 “ping” 或 “pong”,但我使用的是grep而不是egrep。
我開始輸入egrep,但是我不想重新輸入其他參數。因此,我可以使用!:1-$快捷方式來調取上一個命令的所有參數,從第二個(記住它們的索引從零開始,因此是1)到最后一個(由$表示)。
你不用必須用1-$選擇全部參數;你也可以選擇一個子集,例如1-2或3-9(如果上一個命令中有那么多參數的話)。
4、倒數第 n 行的最后一個參數:!-2:$
當我輸錯之后馬上就知道該如何更正我的命令時,上面的快捷鍵非常有用,但是我經常在原來的命令之后運行別的命令,這意味著上一個命令不再是我所要引用的命令。
例如,還是用之前的mv例子,如果我通過ls檢查文件夾的內容來糾正我的錯誤:
我就不能再使用!$快捷方式了。
在這些情況下,我可以在!之后插入-n:(其中n是要在歷史記錄中回溯的命令條數),以從較舊的命令取得最后的參數:
同樣,一旦你學會了它,你可能會驚訝于你需要使用它的頻率。
5、進入文件夾:!$:h
從表面上看,這個看起來不太有用,但我每天要用它幾十次。
想象一下,我運行的命令如下所示:
我可能要做的第一件事是轉到/etc文件夾,查看其中的內容并找出我做錯了什么。
我可以通過以下方法來做到這一點:
這是說:“獲取上一個命令的最后一個參數(/etc/system),并刪除其最后的文件名部分,僅保留/etc。”
上述就是小編為大家分享的五個常用的Bash歷史記錄操作方式分別是什么了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。