Linux終端用戶必備的技巧
Linux終端用戶必備的技巧
作為L(zhǎng)inux終端的初學(xué)者,要學(xué)習(xí)的知識(shí)有很多,除了基本的命令使用外,還需要掌握一些小技巧,下面學(xué)習(xí)啦小編就給大家介紹下Linux終端初學(xué)者必備的小技巧,希望對(duì)你有所幫助。
使用Linux終端不僅僅是只輸入命令。學(xué)習(xí)這些基本的技巧,你就會(huì)逐漸掌握Bash shell,這個(gè)在大多數(shù)Linux發(fā)行版上默認(rèn)使用的終端工具。
這篇文章是寫(xiě)給缺乏經(jīng)驗(yàn)的新手的,我相信大多數(shù)高級(jí)用戶已經(jīng)知道了所有的這些技巧。但是,你仍然可以看看,也許能學(xué)到你一直以來(lái)都忽略了的東西。
Tab鍵自動(dòng)補(bǔ)全
使用Tab鍵自動(dòng)補(bǔ)全是基本的技巧。它能節(jié)省你很多時(shí)間,而且當(dāng)你不確定一個(gè)文件名或者命令怎么拼寫(xiě)時(shí),它也及其有用。
舉個(gè)例子,比如在當(dāng)前目錄你有一個(gè)文件,文件名是“really long file nam”,你想刪除這個(gè)文件。你可以輸入整個(gè)文件名,但是你得小心輸錯(cuò)空格符(需要用\轉(zhuǎn)義)。如果你輸入”rm r”,然后按Tab鍵,Bash會(huì)自動(dòng)為你補(bǔ)全這個(gè)文件的名字。
當(dāng)然,如果當(dāng)前目錄中你有很多以字母r開(kāi)頭的文件,Bash就會(huì)不知道你指的是哪一個(gè)。比如當(dāng)前目錄你有另一個(gè)名字叫做“really very long file name”的文,當(dāng)你按Tab鍵時(shí),Bash會(huì)補(bǔ)全到“really\”部分,因?yàn)閮蓚€(gè)文件都是以這開(kāi)頭的。然后,再按Tab鍵你會(huì)看到所有能匹配該開(kāi)頭的文件列表,如下圖。
接著輸入你想要的文件名然后按Tab鍵。這樣,當(dāng)我們輸“l”然后按Tab鍵時(shí),Bash會(huì)自動(dòng)補(bǔ)全我們想要的文件名。
這種方法對(duì)于輸入命令來(lái)說(shuō)同樣適用。當(dāng)你不確定你想要的命令是什么,只記得以”gnome”開(kāi)頭時(shí),輸入“gnome”然后按Tab鍵,你就會(huì)看到所有可能的結(jié)果。
管道命令允許你把一個(gè)命令的輸出結(jié)果轉(zhuǎn)移給另一個(gè)命令。在Unix的設(shè)計(jì)哲學(xué)中,每個(gè)程序都是只有少而精的功能。舉個(gè)例子,”ls”命令會(huì)顯示當(dāng)前目錄中所有的文件列表,而”grep”命令會(huì)在制定的地方搜索輸入的字符串。
把這兩者通過(guò)管道命令(用“|”符號(hào)表示)結(jié)合起來(lái),你就可以在當(dāng)前目錄搜索某個(gè)文件了,以下命令用來(lái)搜索“really”
ls | grep really
通配符
星號(hào)”*”是一個(gè)可以匹配任何東西的通配符。比如,如果我們想把”really long file name“和”really very long file name“從當(dāng)前目錄都刪了,我們可以使用如下命令:
rm really*name
這個(gè)命令刪除了所有以really開(kāi)頭,以name結(jié)尾的文件。如果你用”rm *”命令,將會(huì)刪除該目錄下的所有文件,所有需謹(jǐn)慎使用。
輸出重定向
“〉”字符可以把一個(gè)命令的輸出結(jié)果重定向到一個(gè)文件,而不需要額外使用另一個(gè)命令。比如,下圖的代碼使用”ls”命令來(lái)列出當(dāng)前目錄的所有文件,并把輸出的列表輸入到了一個(gè)名為”file1“的文件,而不是僅僅輸出顯示在終端上。
ls 》 file1
命令行歷史
Bash會(huì)記得你使用過(guò)的命令的歷史。你可以使用向上鍵和向下鍵來(lái)翻閱你已經(jīng)使用過(guò)的命令。使用”history”命令會(huì)把歷史命令都打印出來(lái),因此你可以使用管道命令來(lái)搜索你最近使用的命令。
關(guān)于命令行歷史,還有很多可以使用的技巧
~,.& 。。
波浪符”~”代表當(dāng)前用戶的主目錄。所以,你可以使用”cd ~”切換到你的主目錄,而不用輸入”cd /home/name”。這對(duì)相對(duì)路徑同樣使用,比如”cd ~/Desktop”會(huì)切換到當(dāng)前用戶的桌面目錄。
與之類(lèi)似的是,”。”代表當(dāng)前目錄,”。。”代表父級(jí)目錄。所有,”cd 。。”會(huì)跳到父級(jí)目錄。這對(duì)相對(duì)路徑同樣有效,比如你在Desktop目錄,你想切換到與Desktop目錄同級(jí)的Document目錄,你可以使用”cd 。。/Documents”命令。
后臺(tái)運(yùn)行命令
默認(rèn)情況下,Bash會(huì)在當(dāng)前終端下運(yùn)行你的命令。正常來(lái)說(shuō)沒(méi)有問(wèn)題,但是當(dāng)你想同時(shí)運(yùn)行一個(gè)應(yīng)用程序而又要繼續(xù)使用該終端時(shí)怎么辦?比如你輸入”firefox”命令來(lái)運(yùn)行火狐瀏覽器,火狐將會(huì)占據(jù)你的終端并且顯示一些錯(cuò)誤信息等輸出,直到你關(guān)閉它。但是加一個(gè)”&”符號(hào)在命令后面會(huì)使Bash在后臺(tái)運(yùn)行該程序:
firefox &
條件執(zhí)行
你同樣可以用Bash運(yùn)行兩個(gè)命令,一個(gè)接著一個(gè)。第二個(gè)命令只有當(dāng)?shù)谝粋€(gè)命令成功運(yùn)行完畢后才會(huì)運(yùn)行。要想做到這樣,把兩個(gè)命令在同一行中用”&&”分隔即可。
比如,”sleep”命令會(huì)以秒為單位接受一個(gè)參數(shù),然后倒計(jì)時(shí),允許結(jié)束。單獨(dú)來(lái)用的話,該命令沒(méi)有任何用處,但是你可以把它作為運(yùn)行下一個(gè)程序之前的延時(shí)。下面的命令會(huì)停5秒然后運(yùn)行g(shù)nome的截屏工具:
sleep 5 && gnome-screenshot
上面就是Linux終端用戶必備技巧的介紹了,作為剛剛?cè)腴T(mén)的初學(xué)者而言,掌握一些小技巧能夠更方便的使用Linux終端,掌握Bash shell,你記住了嗎?