終端機:Mac 上最多人害怕的一個程式(入門)

Loyi Yu-Sung Hsu
#蘋果宅
Published in
6 min readJun 12, 2019
Image by Jae Rue from Pixabay

終端機 (Terminal) 可能是 Mac 上最多一班使用者害怕的程式之一,它命令行 (Command Line) 的「傳統」介面,對 GUI 原住民或者對於早期電腦有恐懼的人,是一個巨大的惡夢。然而,時至 2019 年這個「傳統」的程式還存在,甚至對於熟悉 Linux 系統或是比較進階的使用者來說,可能還覺得這個功能是讓你能真正發揮 Mac 能力的工具之一。

今天這篇文章,簡單介紹五個 Mac 上的終端機指令跟概念,讓你稍微可以認識一下這個東東。

(本篇對於完全沒有經驗的使用者會有點難讀,但是我們盡量會在前後段把重要的名詞做足解釋。)

簡單而重要的概念:使用者、超級使用者

sudo,超級使用者

在終端機中,除非是本來就使用超級使用者 (如 root) 使用,否則有一些目錄(directory) 是沒有辦法直接存取的,直接打出命令只會出現「存取遭拒」的字樣。例如以一般使用者在根目錄使用一般使用者就沒辦法建立資料夾,這時就要使用超級使用者,先打上 sudo 再輸入指令,這時候系統就會要你打管理員的密碼,就可以以超級使用者的身份執行這個指令。

— — 等等,你應該還沒看懂上面這個段落,這裡跟大家簡單介紹一下「根目錄」還有「家目錄」的概念。根目錄,一般來說我們用 「/」 的符號表示,表示的是一個檔案系統(例如 C 槽)的最上層的目錄,就像你進到 C 槽,你就會看到一些系統的資料夾,這時候你在的位置(在 Windows 顯示為 C:/)就是 C 槽的根目錄。

而「家目錄」目前還沒提到,但是你一進到終端機就會看到一個 「~」 的符號,這個符號是家目錄的意思。而家目錄就是你現在的使用者的檔案資料目錄,在家目錄中存的檔案,一般來說就是你的「桌面」、「我的文件」這些資料夾。到你的桌面的位置,就會是 「~/Desktop」意思是「家目錄中的桌面資料夾」。

在終端機的概念中,每個「資料夾」一個目錄,因為它就是一個列出在這個硬碟在這個區塊所存的資料夾或是檔案。

touch,「碰一下」那個檔案

碰一下那個檔案!

第二個介紹的指令是一個有點莫名其妙的指令。這個指令簡單來說是「碰一下」那個檔案。這個指令實際做的事情,例如你輸入 touch hello.txt,如果你的這個目錄下本來就有 hello.txt 的檔案,它就會「碰一下」這個檔案,如此一來看到的最新更新時間就會是最新的。如果是用一些同步的網路硬碟程式,可能就會因為這個「碰一下」的動作,而強迫那個同步程式重新同步你所指定的檔案。

但是要是你要「碰一下」的檔案原本沒有存在在這個目錄下的話,它就會馬上製造一個檔案出來,例如你的目錄下本來沒有 hello.txt 的檔案,它就會馬上創造一個 hello.txt 的空白文字檔!

「cd、ls」,這裡有什麼?

我要去桌面!

在終端機中最常用到的兩個指令,應該莫過於 cd 跟 ls 兩個指令了。 cd 是 change directory (更換目錄)的簡寫。舉例來說,如果你在家目錄 「~」,你想要更換到子目錄「桌面」(Desktop),你就可以用 cd Desktop 或是 cd ~/Desktop 的方式。

而如果你現在在一個目錄下,如果你要看到整個目錄下「非隱藏檔案」的檔案的話,最直接的方法就是使用 ls 的指令,終端機就會把這個目錄下的能看見得檔案跟子目錄(資料夾)都列出來了!

mkdir,創造資料夾

創一個資料夾

好的,既然我們已經知道要怎麼列出子目錄跟檔案,也知道怎麼切換目錄了,接著要講的就是要怎麼「製造新的目錄」,用比較正常人類的語言來說,就是要怎麼用終端機「創建資料夾」。

這就要使用 mkdir 的指令了。使用這個指令最直接的方法,就是直接儲存在當前的目錄下,這時候只要輸入 mkdir (子目錄名稱)就可以創建資料夾了。這時候要注意的是,如果在這個目錄下你沒有我們第一點提到的存取權限,你就會需要用到我們前面提到的 sudo 指令來存取。

如果你不是要在當前目錄創建資料夾,你可以先切換到想要的資料夾,或是直接在 mkdir 後面放上路徑,例如 mkdir ~/Pictures/Wallpaper/ ,就會在家目錄下的「圖片」(Pictures) 目錄(資料夾)下,創建一個 Wallpaper 的子目錄。

「mv、cp、rm」——移動、複製、刪除

知道要怎麼創建子目錄之後,就是要怎麼把檔案從一個目錄移動到另一個目錄了。這個動作其實相當直觀,使用的指令是 mv,基本的動作就是 mv (要移動的東西)(要被移動到的位置)。舉例來說,要把家目錄下的桌面上的一個 hello.txt 檔移動到上層的家目錄中,就可以在桌面目錄下使用 mv hello.txt ~ ,或是另一個邏輯下,這邊可以使用「上層」的概念,mv ./hello.txt ../。

在終端機的環境下,「./」表示的是當層目錄,「../」表示的則是上層目錄。因此上面的那個指令就是把當層目錄的檔案移動到上層目錄的意思。這個概念同時也常用在前面介紹的 cd 指令下。如果我現在在 Desktop 目錄下,而我要回到家目錄,我可以使用 cd ~ 的方式,但是因為桌面檔案夾在家目錄下面,這邊我們也可以使用 cd .. 的方式「回到上層目錄」。

最後 mv 指令也可以用在幫檔案更名的時候,例如我要將在桌面上的 hello.txt 檔案更名為 heLLo.txt,我就可以使用 mv hello.txt heLLo.txt 的方式,就可以把檔案更名了!

類似使用方法的指令還有 cp 是作為複製的功能,「搬運」的使用方式幾乎跟 mv 一樣。而 rm 是用來將一個檔案刪除,例如刪除檔案 rm hello.txt,或是刪除資料夾 rm -r folder。

今天的入門篇先到這邊,之後再找個機會介紹更深入的使用方法,可能也才能夠讓大家感受到終端機真正的魅力。

--

--