Linux 終端不僅是一個鍵入命令的地方。如若你能熟諳這些基礎技巧,那么你會在絕大多數(shù) Linux 發(fā)行版的默認使用的 Bash shell中游刃有余。
這是howtogeek.com 網(wǎng)站特供給初級用戶升級打怪時不能忘記攜帶的七種武器——
1.Tab 補全
這樣能節(jié)省時間,并且對于輸入那些你不很確定其具體名稱的文件和命令來說很方便。比如,當前目錄下有一個名為“really long file name”的文件,你想要刪除它。你可以輸入完整的文件名,但是你必須確保正確地輸入了空格和每個字母。若當前目錄下還有許多以字母“r”開頭的文件,(如果你沒有正確地輸入字符) Bash 將不知道你想要刪除哪一個文件。
如果在當前目錄下存在著另一個名為“really very long file name”的文件,你敲擊了Tab鍵。Bash 將為所有以“r”開頭的文件自動補充“really ”部分。此時繼續(xù)敲擊Tab鍵,你將得到匹配所有文件名的列表。
2.管道機制
這種機制允許你把一條命令的輸出傳送到另一條命令。按照 UNIX 哲學,每個程序都足夠小,只做一件事并將之做到最好。例如,ls命令列出當前目錄下的所有文件,grep命令搜索輸入其中的指定檢索項。
你可以通過管道機制(|字符)把二者結(jié)合起來,在當前目錄下搜索文件。以下給出的命令(在當前文件夾下)搜索關鍵字為“word”的文件:
ls | grep word
3.通配符
“*”(星號)字符是一種匹配任意長度字符的通配符。比如,你想刪除當前文件夾下名為“really long file name”和“really very long file name”的兩個文件,你可以運行以下命令:
rm really*name
這條命令會刪除所有以“really”開頭以“name”結(jié)尾的文件。但是,如果你運行的是 rm * 這條命令,你將會刪除文件夾下的所有文件。(譯注:使用通配符時要小心,尤其是你的rm沒有-f確認時?。?/p>
4.輸出重定向
“>”字符可以把一條命令的輸出重定向到一個文件或另一條命令。比如,下面這行命令執(zhí)行完 ls 后會列出當前文件夾下的所有文件,其結(jié)果不是在終端顯示,而是輸出到當前文件夾下一個名為“file1”的文件中去:
ls > file1
5.歷史記錄
Bash 能記住你以前輸入過的命令,上、下方向鍵可以逐行調(diào)出它們。使用 history 命令打印歷史記錄,以管道機制 grep 選擇性地輸出你想要的結(jié)果。
~
.
..
“~”,也叫做波浪符,用來表示當前用戶的主目錄。相比通過 cd /home/name 到達你的主目錄,你可以輸入 cd ~ 來達到相同效果。這點也可以在相關路徑上使用:比如 cd ~/Desktop 能夠到達當前用戶的 Desktop 目錄。
同樣,“.”代表當前目錄,“..”代表當前目錄的父目錄。使用 cd .. 可以返回上一級目錄。它們也可以用在相關路徑上,舉例說明:你當前處在 Desktop 文件夾下,通過 cd ../Documents 命令,你可以轉(zhuǎn)到與 Desktop 共有同一父文件夾的 Documents 文件夾去。
(譯注:“-”代表前一個目錄,cd – 可以返回到前一個工作目錄。)
6.后臺命令
Bash 默認情況下會在當前終端下執(zhí)行你鍵入的每條命令。通常這樣是沒有問題的,但是如果你想要在啟動某個應用后繼續(xù)使用終端呢?通過輸入 firefox 啟動火狐瀏覽器,你的終端將被錯誤提示等各種信息輸出占據(jù),直到你關閉火狐瀏覽器為止。在 Bash 中你可以通過在命令結(jié)尾添加“&”操作符來后臺執(zhí)行程序。
firefox &
7.條件執(zhí)行
Bash 也可以連續(xù)執(zhí)行兩條命令。 第二條命令僅在第一條命令成功執(zhí)行后才會開始執(zhí)行。如要如此,你可以通過鍵入“&&”,也就是兩個“&”字符進行分隔,在同一行輸入兩條命令。下面給出的命令會在等待 5 秒后運行 gnome-screenshot 工具:
sleep 5 && gnome-screenshot
英文:efytimes,翻譯:Linux中國/Steve Zhang
linux.cn/article-2413-1.html
-
Linux系統(tǒng)
+關注
關注
4文章
590瀏覽量
27320
原文標題:成為 Linux 終端高手的七種武器
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論