這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)五個常用的Bash歷史記錄操作方式分別是什么,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
成都創(chuàng)新互聯(lián)公司從2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元舞鋼做網(wǎng)站,已為上家服務(wù),為舞鋼各地企業(yè)和個人服務(wù),聯(lián)系電話:13518219792
眾所周知,Bash歷史記錄里有許多快捷方式的記錄,讓人眼花繚亂。其實(shí)這些快捷方式使用起來,可以極大的提高我們學(xué)習(xí)和工作的效率。如果大家覺得這些方式很難記,可以循序漸進(jìn),每天只學(xué)一點(diǎn)內(nèi)容,這樣就能輕松掌握。下面小編將選五個最常用到的Bash歷史記錄操作方式為大家介紹。
1、最后一個參數(shù):!$
如果你僅想從本文中學(xué)習(xí)一種快捷方式,那就是這個。它會將最后一個命令的最后一個參數(shù)替換到你的命令行中。
看看這種情況:
啊哈,我在命令中寫了錯誤的文件名 “wrongfile”,我應(yīng)該用正確的文件名 “rightfile” 代替。
你可以重新鍵入上一個命令,并用 “rightfile” 完全替換 “wrongfile”。但是,你也可以鍵入:
這個命令也可以奏效。
在 Bash 中還有其他方法可以通過快捷方式實(shí)現(xiàn)相同的目的,但是重用上一個命令的最后一個參數(shù)的這種技巧是我最常使用的。
2、搜索并替換:!!:gs
這將搜索所引用的命令,并將前兩個/之間的字符替換為后兩個/之間的字符。
假設(shè)我想告訴別人我的s鍵不起作用,而是輸出了f:
然后我意識到這里出現(xiàn)的f鍵都是錯的。要將所有f替換為s,我可以輸入:
它不只對單個字符起作用。我也可以替換單詞或句子:
測試一下
為了向你展示如何組合這些快捷方式,你知道這些命令片段將輸出什么嗎?
3、全部參數(shù):!:1-$
假設(shè)我運(yùn)行了類似這樣的命令:
參數(shù)是正確的。然而,我想在文件中匹配 “ping” 或 “pong”,但我使用的是grep而不是egrep。
我開始輸入egrep,但是我不想重新輸入其他參數(shù)。因此,我可以使用!:1-$快捷方式來調(diào)取上一個命令的所有參數(shù),從第二個(記住它們的索引從零開始,因此是1)到最后一個(由$表示)。
你不用必須用1-$選擇全部參數(shù);你也可以選擇一個子集,例如1-2或3-9(如果上一個命令中有那么多參數(shù)的話)。
4、倒數(shù)第 n 行的最后一個參數(shù):!-2:$
當(dāng)我輸錯之后馬上就知道該如何更正我的命令時,上面的快捷鍵非常有用,但是我經(jīng)常在原來的命令之后運(yùn)行別的命令,這意味著上一個命令不再是我所要引用的命令。
例如,還是用之前的mv例子,如果我通過ls檢查文件夾的內(nèi)容來糾正我的錯誤:
我就不能再使用!$快捷方式了。
在這些情況下,我可以在!之后插入-n:(其中n是要在歷史記錄中回溯的命令條數(shù)),以從較舊的命令取得最后的參數(shù):
同樣,一旦你學(xué)會了它,你可能會驚訝于你需要使用它的頻率。
5、進(jìn)入文件夾:!$:h
從表面上看,這個看起來不太有用,但我每天要用它幾十次。
想象一下,我運(yùn)行的命令如下所示:
我可能要做的第一件事是轉(zhuǎn)到/etc文件夾,查看其中的內(nèi)容并找出我做錯了什么。
我可以通過以下方法來做到這一點(diǎn):
這是說:“獲取上一個命令的最后一個參數(shù)(/etc/system),并刪除其最后的文件名部分,僅保留/etc?!?/p>
上述就是小編為大家分享的五個常用的Bash歷史記錄操作方式分別是什么了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。