使用Linux終端不僅僅是只輸入命令。學習這些基本的技巧,你就會逐漸掌握Bash shell,這個在大多數Linux發行版上默認使用的終端工具。這篇文章是寫給缺乏經驗的新手的,我相信大多數高級用戶已經知道了所有的這些技巧。但是,你仍然可以看看,也許能學到你一直以來都忽略了的東西。 Tab鍵自動補全
使用Tab鍵自動補全是基本的技巧。它能節省你很多時間,而且當你不確定一個文件名或者命令怎麼拼寫時,它也及其有用。
舉個例子,比如在當前目錄你有一個文件,文件名是“really long file nam”,你想刪除這個文件。你可以輸入整個文件名,但是你得小心輸錯空格符(需要用\轉義)。如果你輸入”rm r”,然後按Tab鍵,Bash會自動為你補全這個文件的名字。
當然,如果當前目錄中你有很多以字母r開頭的文件,Bash就會不知道你指的是哪一個。比如當前目錄你有另一個名字叫做“really very long file name”的文,當你按Tab鍵時,Bash會補全到“really\”部分,因為兩個文件都是以這開頭的。然後,再按Tab鍵你會看到所有能匹配該開頭的文件列表,如下圖。
接著輸入你想要的文件名然後按Tab鍵。這樣,當我們輸“l”然後按Tab鍵時,Bash會自動補全我們想要的文件名。
這種方法對於輸入命令來說同樣適用。當你不確定你想要的命令是什麼,只記得以”gnome”開頭時,輸入“gnome”然後按Tab鍵,你就會看到所有可能的結果。 管道命令
管道命令允許你把一個命令的輸出結果轉移給另一個命令。在Unix的設計哲學中,每個程序都是只有少而精的功能。舉個例子,”ls”命令會顯示當前目錄中所有的文件列表,而”grep”命令會在制定的地方搜索輸入的字符串。
把這兩者通過管道命令(用“|”符號表示)結合起來,你就可以在當前目錄搜索某個文件了,以下命令用來搜索“really”
通配符
星號”*”是一個可以匹配任何東西的通配符。比如,如果我們想把”really long file name“和”really very long file name“從當前目錄都刪了,我們可以使用如下命令:
這個命令刪除了所有以really開頭,以name結尾的文件。如果你用”rm *”命令,將會刪除該目錄下的所有文件,所有需謹慎使用。
輸出重定向
“〉”字符可以把一個命令的輸出結果重定向到一個文件,而不需要額外使用另一個命令。比如,下圖的代碼使用”ls”命令來列出當前目錄的所有文件,並把輸出的列表輸入到了一個名為”file1“的文件,而不是僅僅輸出顯示在終端上。