成為 Linux 終端高手的七種武器
1.Tab 補全
這樣能節省時間,並且對於輸入那些你不很確定其具體名稱的文件和命令來說很方便。比如,當前目錄下有一個名為「really long file name」的文件,你想要刪除它。你可以輸入完整的文件名,但是你必須確保正確地輸入了空格和每個字母。若當前目錄下還有許多以字母「r」開頭的文件,(如果你沒有正確地輸入字元) Bash 將不知道你想要刪除哪一個文件。
如果在當前目錄下存在著另一個名為「really very long file name」的文件,你敲擊了Tab鍵。Bash 將為所有以「r」開頭的文件自動補充「really 」部分。此時繼續敲擊Tab鍵,你將得到匹配所有文件名的列表。
2.管道機制
這種機制允許你把一條命令的輸出傳送到另一條命令。按照 UNIX 哲學,每個程序都足夠小,只做一件事並將之做到最好。例如,ls命令列出當前目錄下的所有文件,grep命令搜索輸入其中的指定檢索項。
你可以通過管道機制(|字元)把二者結合起來,在當前目錄下搜索文件。以下給出的命令(在當前文件夾下)搜索關鍵字為「word」的文件:
ls | grep word
3.通配符
「*」(星號)字元是一種匹配任意長度字元的通配符。比如,你想刪除當前文件夾下名為「really long file name」和「really very long file name」的兩個文件,你可以運行以下命令:
rm really*name
這條命令會刪除所有以「really」開頭以「name」結尾的文件。但是,如果你運行的是 rm * 這條命令,你將會刪除文件夾下的所有文件。(譯註:使用通配符時要小心,尤其是你的rm沒有-f確認時!)
4.輸出重定向
「>」字元可以把一條命令的輸出重定向到一個文件或另一條命令。比如,下面這行命令執行完 ls 後會列出當前文件夾下的所有文件,其結果不是在終端顯示,而是輸出到當前文件夾下一個名為「file1」的文件中去:
ls > file1
5.歷史記錄
Bash 能記住你以前輸入過的命令,上、下方向鍵可以逐行調出它們。使用 history 命令列印歷史記錄,以管道機制 grep 選擇性地輸出你想要的結果。
~
.
..
「~」,也叫做波浪符,用來表示當前用戶的主目錄。相比通過 cd /home/name 到達你的主目錄,你可以輸入 cd ~ 來達到相同效果。這點也可以在相關路徑上使用:比如 cd ~/Desktop 能夠到達當前用戶的 Desktop 目錄。
同樣,「.」代表當前目錄,「..」代表當前目錄的父目錄。使用 cd .. 可以返回上一級目錄。它們也可以用在相關路徑上,舉例說明:你當前處在 Desktop 文件夾下,通過 cd ../Documents 命令,你可以轉到與 Desktop 共有同一父文件夾的 Documents 文件夾去。
(譯註:「-」代表前一個目錄,cd - 可以返回到前一個工作目錄。)
6.後台命令
Bash 默認情況下會在當前終端下執行你鍵入的每條命令。通常這樣是沒有問題的,但是如果你想要在啟動某個應用後繼續使用終端呢?通過輸入 firefox 啟動火狐瀏覽器,你的終端將被錯誤提示等各種信息輸出佔據,直到你關閉火狐瀏覽器為止。在 Bash 中你可以通過在命令結尾添加「&」操作符來後台執行程序。
firefox &
7.條件執行
Bash 也可以連續執行兩條命令。 第二條命令僅在第一條命令成功執行後才會開始執行。如要如此,你可以通過鍵入「&&」,也就是兩個「&」字元進行分隔,在同一行輸入兩條命令。下面給出的命令會在等待 5 秒後運行 gnome-screenshot 工具:
sleep 5 && gnome-screenshot
via: http://www.efytimes.com/e1/fullnews.asp?edid=123564
譯者:SteveArcher 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive