Linux 終端新手指南
距離我的住處幾條街遠的地方,有一家咖啡館,我在每個周日都會去那里參加固定的 “龍與地下城Dungeons & Dragons”(D&D) 游戲。他們有一份菜單,前幾次我去點餐時,我總是要翻看好幾分鐘,才能確定要點些什么。熟悉了之后,我就不用看菜單了,因為我清楚地知道他們在賣什么,也清楚地知道自己想要什么?,F在點餐對我來說很簡單,只要說一聲“老規矩”就好了,接下來就是等待一杯咖啡、一碗薯片和烤餅被送來(通常不方便的是,在我們 做出決定roll for initiative 的那一刻,但這也不是他們的問題)。(LCTT 譯注:做出決定roll for initiative 是 D&D 玩家的黑話,它指的是在比賽開始前擲骰子的行為)
與餐廳的菜單類似,計算機的圖形界面也為用戶提供了操作選項。這里有圖標、窗口和按鈕,你可以搜索你想要的東西,點擊項目,拖動其他項目,操縱圖形界面,直到你的任務完成。不過,一段時間后,這可能會變得繁瑣,甚至是效率低下。既然你清楚地知道需要做什么,那么,如果只需告訴計算機你想要發生什么,無需耗費大量的體力和腦力來搜索項目、舞動鼠標,就能達到目的,豈不是更好嗎?
Linux 終端是什么
Linux 終端是一個基于文本的交互界面,它是用來控制 Linux 計算機的。雖然它只是幫助 Linux 用戶完成任何特定任務的眾多工具之一,但是它被廣泛地認為是最有效的方法。除了編寫代碼,這無疑是最直接的方法。事實上,它是如此受歡迎,以至于蘋果公司將操作系統的基礎改為 Unix,從而獲得了 Bash 和 Z shell,而微軟公司開發了它自己的開源命令行 PowerShell。
Linux 命令是什么
命令commands 是一種特殊的關鍵詞,你可以在終端中使用它,告訴計算機去執行一個動作。大多數命令是很小的應用程序,它們與你的操作系統的其他部分一起安裝。你可能沒有意識到它們的存在,因為它們通常被保存在相對模糊的目錄中,如 ??/bin?
?、??/sbin?
?、??/usr/bin?
? 和 ??/usr/sbin?
?,但你的終端知道在哪里可以找到它們(多虧了一個叫 ??PATH?? 的東西)。其他的命令是內置在終端中的。你不必擔心一個命令是安裝的還是內置的,無論是哪一種,終端都能執行。更棒的是,在大多數
Linux 發行版上,當終端找不到一個命令時,它會在互聯網上搜索提供該命令的軟件包,然后會主動為你提供安裝軟件包、運行該命令的服務。
下面是一個簡單的命令:
$ ls
??ls?
? 命令是 “list” 的縮寫,它會列出當前目錄的內容。試一試吧!先打開一個終端窗口,然后打開一個文件管理器窗口(Linux 上叫 “文件Files”,macOS 上叫 “訪達Finder”,Windows 上叫 “資源管理器Windows Explorer”)。比較一下這兩個窗口,它們是同一數據的兩種不同表現方式。
Linux 命令中的參數是什么
參數argument 是命令中的任意一個“不是命令本身”的部分。例如,要列出一個特定目錄的內容,你可以提供該目錄的名稱作為參數。
$ ls Documents
在這個例子中,??ls?
? 是命令,??Documents?
? 是參數。該命令將列出 ??Documents?
? 目錄的內容。
Linux 命令中的選項是什么
命令的 選項option,也叫 標志flag 或 開關switch,它是命令參數的一部分。命令參數是跟在命令后面的任何東西,而選項通常(但不總是)用一個連接號(??-?
?)或兩個連接號(??--?
?)來劃分。請看下面這個例子:
$ ls --classify Documents
在這個例子中,??--classify?
? 是一個選項。它也有一個簡短的版本,因為終端用戶更喜歡少打點字來提高效率。
$ ls -F Documents
短的選項通??梢院喜?。下面是一個 ??ls?
? 命令,它將 ??-l?
? 選項與 ??--human-readable?
?(??-h?
?)、??--classify?
?(??-F?
?) 和 ??--ignore-backups?
?(??-B?
?) 選項結合了起來:
$ ls -lhFB
一些選項本身可以帶參數。例如,??ls?
? 的 ??--format?
? 選項可以讓你改變信息的呈現方式。默認情況下,目錄的內容是以列的形式提供給你的,但如果你需要它們顯示為逗號分隔的列表,你可以把 ??--format?
? 設置為 ??comma?
?。
$ ls --format=comma Documents
alluvial, android-info.txt, arduinoIntro, dmschema,
headers.snippet, twine, workshop.odt
等于號(??=?
?)是可選的,所以這樣做也可以:
$ ls --format comma Documents
alluvial, android-info.txt, arduinoIntro, dmschema,
headers.snippet, twine, workshop.odt
學習使用 Linux 終端
學習如何使用終端可以提高工作效率和生產力,同時也可以使計算變得非常有趣。當我運行一個精心設計的命令時,我常常會坐下來,為我在空白屏幕上輸入幾個字就能實現的事情而驚嘆。終端可是和很多東西相關 —— 編程、詩歌、拼圖和實用主義,但無論你如何看待,它都是一個值得學習的持續創新。