探索終端 (Terminal): 入門介紹
終端命令行: 完全不是傳說中的那么不好用。
先讓我們穿越到那個圖形用戶界面還沒有開始流行的年代吧:那時就只能通過一個叫做命令行的接口和電腦進行交互。這些簡單的文本命令就可以讓那些很熟悉這些語言的電腦工程師通過鍵入相應的命令來使用電腦,這都激勵著我們更加努力的去搞懂電腦到底是如何解析我們輸入的命令來完成相應的任務。
隨著圖形用戶界面的興起,您也許曾經想過那種老式的命令行交互方式應該消失了,但事實卻遠非如此。 對于這些把整個操作以超級炫的圖形交互方式擬物化表現出來的工程師們來說,命令行才是王道。
對于蘋果 OS X 系統來說, 命令行工具被叫作了終端 (Terminal), 我將協助您邁出如嬰兒學步般的開始,為以后您能了解更深的教程或者獨自探索更有趣的功能打下堅實的基礎。
學了這個有啥用?
其實并不象您所想的那樣,終端對于一般用戶來說就是一個可有可無的工具,他也給外行用戶提供了大量的讓您感到吃驚的用法,值得我們花些時間了解。
您可以這樣認為,使用終端和電腦交互就象您直接附在電腦耳邊輕聲耳語,而不是使用圖形界面那樣象站在遠處對著電腦大聲呼響。 這種方式讓您和電腦的交流方式更親密無間,同時也更強大。 當然做為這強大的后果,就意味著您得知道您正在執行的命令到底是做什么,以避免您不小心損壞了電腦。
步驟一: 打開并配置終端
讓我們從最基礎的事情開始吧: 打開終端。 要開始這個命令,您可以在Finder中找到 應用程序 -> 實用工具 的文件夾里找到終端的圖標,或者您也可以省點時間-用快捷鍵的方式— Command + Spacebar 的方式打開 Spotlight 搜索,然后輸入 ‘terminal’.
一旦終端被打開,他就會以系統默認的方式展示出來。實際上,您所看到的顯示出來的路徑同打開 Finder 并導航到當前用戶的路徑下的方式是一樣的。左邊那部分顯示的是您當前的路徑,或者說在您文件系統里面的位置,命令輸入區域前面那個閃爍的光標就是我們都很熟悉的提示符,因為這個跳動的光標是一直在提醒您輸入命令來告訴他要做什么。

歡迎來到終端,這個系統自帶的色彩方案看起來還是很絕妙干練的。當然如果您對這個色彩方案以及窗口的大小都不滿意,那就可以到系統預置功能里,很簡單的做調整。當您做這些事情的時候,如果一直能象黑客那般操作電腦的感覺肯定是最酷的,所以此時您完全可以通過按 “Command + ,” 來打開預置頁面,在設置欄下,您可以選擇不同的主題系列(或定制自己比較心水的內容) 。
在這個系列的教程中,我在找到更滿意的外觀之前, 一直選用的 “Homebrew”預設,選半透明的選項來配置我的輸入界面。
步驟二: 您的第一行命令:列出文件
舉例來說,現在我們想訪問我們在文稿文件夾里面的某些內容。 要完成這任務,我們需要完成的是改變當前路徑 (Change Directory). 該操作其實就跟您在Finder 下面雙擊菜單按鈕是完全一樣的。要執行這個改變當前路徑,我們就是簡單的輸入 ‘cd’ 命令,后面跟著我們要轉入的文件夾的名字 - 在這個例子里,‘Document’.
類似的,如果您想知道當前到底是在哪個路徑之下,簡單的輸入 ‘pwd’ – 代表的是展示當前工作路徑 (Present Working Directory) – 終端就會告訴您當前位置的清晰路徑。
特別注意:在您的命令和參數之間一定要有空格的。這個定律適合于終端命令中的所有條目。
到這您已經學會了幾個重要的命令了。
步驟三: 命令參數
終端已經顯示出來我們當前的位置是在 文檔文件夾下。 接下來我們打算看看這個文件夾里到底都有什么東西, 但這次,我想給您介紹的就是終端命令語法的第二部分: 參數,或是選項吧。 在當前的位置再次敲入命令 ‘ls’,但這次在敲入回車之前,讓我們在該命令后面加個小尾巴 ‘-a’ . 這個小參數用來告訴電腦,您想要電腦展示當前路徑之下的所有文件,包括那些隱藏的系統文件。
顯示出當前路徑下的所有隱藏文件一定是您經常需要操作的,現在您知道了一個比在 Finder 里實現該功能更快的方式了!更好的是,現在您了解了終端命令的基本格式:一條命令后面跟著可選的參數,最后是命令的變量。
命令的參數,就象 ‘-a’ ,如同是命令的觸發選項,隨著任務的不同而變化。
步驟四: 打開編輯文件
舉例說,現在在文稿文件夾里看到一個文件,我們想對此進行修改。打開他,您只要輸入 ‘open’ 命令,后面帶上該文件的名字即可。 如果文件的名字很長,您并不想把全部內容都手輸, 也可以使用終端所帶的功能自動匹配文件名的功能,該功能很簡單,先輸入文件的首字母后,然后按 Tab 鍵,讓系統自動完成文件名的輸入。 我打算找開的這個文件名字叫做: ‘ExampleFileWithALongNameWhyOhWhyItNeverEndsIDontEven.txt’:
在自動完成的功能幫助下,我們已經打開了這個文本文檔。
根據這個文件的文件類型,該文件被默認的應用程序打開,在我們這個例子里是文本編輯器,現在我們已經可以隨心所欲的對該文檔進行修改了。但如果您想創建一個新的文本文檔,該如何操作?通常我會先打開文本編輯器,然后在這里創建新文件,但如果您使用終端命令來完成,那再簡單不過了。
步驟五:更多的導航命令
我想在我的桌面上創建一個文本文件,您會注意到我當前還是在文檔目錄下。 有幾個不同的方法可以讓我實現我的想法。
我可以先使用命令 ‘cd ..’ 回到我文件系統的上層目錄 - 在本例子中我是回到了用戶的路徑下 – 然后再使用命令 ‘cd Desktop’ 即可。 我們也可以就直接使用命令 ‘cd /Users/Ben/Desktop/’, 這樣論您在文件系統的什么位置都可以直接到達桌面,當然該命令最麻煩就是需要您輸入整個路徑。
如果您在自己的終端下輸入該命令,記得把用戶名 ‘Ben’ 替換成您本地的用戶名。對于本教程其它地方也是都用這種操作。
最后一種也是最快的方法就是使用相對路徑命令: ‘cd ../Desktop’。 因為文稿文件夾以及桌面文件夾是在同一個目錄下,我們就可以使用這個相對路徑命令在他們之間快速導航。
有時,你需要在一個路徑埋的很長的文檔或是目錄下面工作,或者是該文件有一個很長的很復雜的名字, 為了少輸入一些內容,您可以首先輸入命令,然后在 Finder 中找到該文件和目錄,直接把他們拖入到終端即可。
步驟六: 創建文件
選擇任何一種你喜歡的方式,把當前目錄定位到桌面上。 在當前的目錄下創建一個新文件的命令是 ‘touch’ . 假如您現在想創建一個文本文件,名字叫做 bananas, 就在命令行里輸入命令 ‘touch bananas.txt’. 您將注意到該文件已經出現在桌面上了,等著您的編輯。
終端命令行有一件事天生就處理不好,那就是文件或者文件夾名字里面的空格符。 試想如果您打算線給您的文件命名為 “banana muffin.txt”,那您會在命令行里敲入如下的命令 ‘touch banana muffins.txt’ ?您先自己在命令行里試試這個命令。
您會看到,按照上面我們所想的輸入到命令行里,那么您會在桌面得到兩個文件。終端把這個命令解析成為您想分別創建兩個文件:一個文件名為 “banana”,另一個文件名字為 “muffins.txt”. 這也告訴我們了終端可以使用這一條命令快速的創建多個文件。 要講清楚這個問題,讓我們再次使用這個命令,這次我們把文件名用雙引號給括起來: ‘touch “banana muffins.txt”’.
順便提一句,你可以用這個命令創建各種不同的文件類型,不僅僅限于文本文件。 比方我需要一個 Word文件來儲存我那個天才般的香蕉松餅菜譜, 我只要在命令行里輸入 ‘touch “banana muffins.doc”’ 就可以快速開始了。
步驟七:拷貝文件
現在讓我們開始一些基本清理工作吧。因為我們已經知道了如何創建一個文件了,那再了解一下如何刪除一個文件就會很有幫助。 但是因為我們也知道備份的重要性,所以我們應該先確保我們已經把我們那個珍貴的香蕉小松餅菜譜保存好了。我想把這個菜譜先保存一份到我的文稿文件夾內,所以我打算使用’CP’ 命令把該文件拷貝過去。
該命令的語法非常簡單直接: ‘cp’ 后面跟上文件名字 - “banana muffins.doc”, 當然這里要記住文件名一定要被雙引號括起來 - 再這個文件名之后再跟上您想保存的文件路徑。 本例中,整條命令看起來就應該是這樣的: ‘cp “banana muffins.doc” /Users/MacTuts/Documents/"’, 或者,使用相對路徑, ‘cp “banana muffins.doc” ../Documents’ . 完成該命令后,您也可以去Finder 中檢查是否和您的預期結果一樣。
步驟八 刪除文件
刪除一個文件的命令是 ‘rm’, 使用這條命令一定要特別小心,以免不小心刪除了那些很重要的文件,要知道在終端的世界里可是沒有回收站這個說法了。
首先讓我們試著刪除那個孤零零的存在桌面上的文件 “muffins.txt”. 命令非常簡單 ‘rm muffins.txt’. 為了安全起見,您也可以加一個參數 ‘-i’ 以啟動交互模式,該參數會在執行命令之前彈出一條確認信息,比方本例中,終端會發出一條信息 “remove muffins.txt?” 如果我們確認那就直接輸入 ‘yes’ 或者是簡單的輸入 ‘y’來確認命令執行。
桌面上還留著一些沒用的文件。比起那些手動的一個個去刪除這些命令,在命令行中采用命令來刪除文件就會快很多。 因為這些文件都是由’banana’開頭的,我們就可以使用星號 ‘*’, 眾所周所的全匹配字符,告訴終端去找到所有適合這個條件的文件,并把他們刪除掉。
‘-i’ 參數主要用來確保我們不會因為不小心誤刪了重要的文件。在命令行里輸入 ‘rm –i banana*’ 然后回車。 終端會自動的找出所有的匹配文件,并彈出確認信息讓您決定是否刪除。如果您很確定您的刪除操作,也可以去掉 ‘-i’ 參數以節約時間。
步驟九: 創建文件夾
到目前為止你已經做的灰常好了,現在只有一個基礎任務我想讓您在這個教程里面了解到了。 因為我們每個人都有一大堆文件,所以管理這些文件的最好方法就是做好分類。 因此,比起目前,我們就把 “banana muffins.doc” 文件混在文稿文件夾里的所有文件中,不如我們為他專門建立一個新家名字就叫做 Recipes(菜譜)。
首先的首先,我們得先進到文稿文件夾內。 如果您現在在比較深的文件目錄下,不想用一大堆的返回上層目錄的命令 ‘cd ..’, 那有一個更簡單的方式 ‘cd ~’, 這個命令可以讓您直接回到用戶的根目錄下。在這里,我們就可以簡單的使用’cd Documents’ 進入到我們想到的路徑下了。
現在,假如我們輸入命令 ‘ls’, 就可以看到當前目錄下的所有文件了, 您注意到這里并沒有Recipes(菜譜) 文件夾。 那現在我們馬上就要創造一個出來了!幸運的是,您只需要簡單的輸入命令 ‘mkdir Recipes’ 即可。 一旦您按了回車鍵,文件夾就會被命令mkdir 創造出來. Mkdir就是英文 make Directory( 建文件夾) 的簡寫了。
現在我們創建一個文件夾就和在桌面上實現是一樣的簡單了。
步驟十:移動文件
現在我們需要把以前創建好的菜譜移到這個新的文件夾內,用以前的知識那就是我們把原來的文件拷貝到新的目錄下,然后刪除原始的文件。現在我們可以用一個新的命令把這兩步都完成了: ‘mv “banana muffins.doc” /Users/MacTuts/Documents/Recipes/’
這個命令還有一個特別的用法就是給文件改名字。比方現在您使用命令cd 進到新的 Recipes(菜譜)文件夾,在命令行內輸入:‘mv “banana muffins.doc” “amazing banana muffins.doc”’就可以完成改名操作了。
獲得成就:初探終端 勛章
同時,如果您想了解更多關于今天我們所學到的這些命令的更多使用方式以及參數,那就可以通過命令 ‘man’- manual (手冊)的簡寫 – 然后后面跟上您想了解的命令,比方 ‘man ls’, 終端就會列出 list 命令的所有使用方法和參數說明。讀完之后,您只需按一個 ‘q’ 就可以回到原來您進入該幫助文檔前的界面了。
結語
很快,您就會學到更多的命令,那些才會真正的展示終端的強大作用。 所以一直保持著這種旺盛的探索精神吧!
不深思則不能造于道。不深思而得者,其得易失。
名人名言- 曾國藩
- By 優聯實達
- 2015-10-22
- 2172
- 公司新聞,網站開發,網站設計,UI