嗨!歡迎回到上班族的命令列生存手冊。這章節要來談怎麼創造一個檔案,節幾張都只是複製、移動,最多就是編輯。從沒有談論過怎麼去「創造」一個檔案。有幾個方法可以建立檔案,首先,先回到文字編輯器,怎麼建立一個全新的檔案呢?
還記得之前介紹過 nano 編輯器嗎?(如果讀者比較喜歡 joe,操作其實大同小異),我們先直接進去 nano。
$ nano
可以注意到不一定要指定檔案給 nano 開啟,他自己也能開啟一個空白的文件。(在命令列中,這類的文字文件通常叫做「緩衝區(buffer,以下以 buffer 稱之)」,所以是開啟了一個空白的 buffer )。
進到 nano 之後,輸入文字。跟儲存修改過的文件一樣,請按下 Ctrl + O,輸入檔案名稱,讀者可以依照需求輸入副檔名。按下 Enter 後,就可以成功的建立一個新的文件。
複習一下,上面如果看到 Ctrl + O 完全不知道這邊在講什麼,nano 下方的指令列看到一些玄妙的符號:^
、M
。
^
: Ctrl 鍵M
: Meta 鍵:通常是 alt 鍵(mac 上是 option),不過這個鍵 Terminal Emulator 可以修改,按不出來可能要看一下讀者自己終端機的設定。故 ^O
就是 Ctrl + O。
直接輸入 $ joe
也會開啟一個空白的 buffer。隨意打幾個字,讓我們來看看這個要怎麼儲存。joe 和 nano 指令的風格不太一樣,是複數的輸入方式。我們先來打開使用說明,即 Ctrl + K + H
,說明會跳出來。
這裡的符號和 nano 的意義是一樣的,看到右下角「檔案」的環節,可以知道存檔是:Ctrl + K + D
。只要輸入這個
指令,joe 就會詢問要存成什麼名稱,按下 Enter 後即完成檔案建立。
那可以不依靠文字編輯器建立新的檔案嗎?可以!畢竟 Windows 都能用右鍵建立一個空白檔案了,
我們比較常用的指令叫做 touch,就是摸。怎麼摸出一個新檔案?後面鍵入這個新檔案的名稱:
$ touch newfile
憑空點出了一個新檔案!然後就能用文字編輯器去編輯這個檔案,一般筆者都是這樣直接建立檔案之後再進行編輯的。
還記得之前介紹的 $ ls -la
印出 Long Format 嗎?在這個詳細的清單之中,會印出檔案最後一次的修改時間。
這個 touch 的用途本來是拿來更新最後一次修改時間的,比如說去 touch 一個已經存在的檔案像是範例圖片的 try.java
,可以看出最後修改日期是 8 月 3 日。讓我們 touch 一下:
$ touch TaskSchedular.java
再印出 ls long format:
可以看到檔案前面的最後修改日期,已經變成了筆者寫這篇文章的當下 — 8 月 19 日。
不過讀者應該也發現了,touch 沒辦法憑空摸出一個資料夾。那怎麼建立一個新的資料夾?這時就需要另外一個指令:mkdir
mkdir…,make dir,Make directory!就跟 Michelle 教的英文一樣容易!這個指令的用法和 touch 一樣,後面加上想建立的資料夾名稱,再次提醒不管 touch 或是 mkdir,後面接的都是「路徑」,也就是說不一定只能在目前資料夾建立。
$ mkdir newDirs
就會建立一個名為 newDirs
的資料夾囉。因為路徑的關係,使用時有很大的彈性,例如可以在現在資料夾內的 folder01 裡面再建立一個新資料夾 helloDir:
$ mkdir folder01/helloDir
上面的範例,folder01 不存在 mkdir 就會抱怨資料夾不存在,難道不能讓它閉嘴好好做事?這時可以使用 $ mkdir -p
這個指令,一次建立一整串資料夾!
folder01 不存在,這樣下指令就可以正常把這兩個資料夾一次生出來:
$ mkdir -p folder01/helloDir
更棒的是,如果其中有幾個資料夾已經存在,它會生成剩下的還沒有生成的,不會跳錯誤訊息。用範例來看如果 folder01 早已存在,指令會將剩下的 helloDir 生成出來。
講到「創造」,就不能不提相反面— 刪除,怎麼刪除檔案、資料夾呢?下一個章節再來介紹給大家,這章先這樣囉。