終端機: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。

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

--

--