14.4. 在 Shell 提示符號下的檔案處理

使用其中一種圖形的檔案管理員,如 NautilusKonqueror,可以很容易的操作檔案。 它們也可以在 shell 提示符號下操作處理,這樣通常會更快。 這個章節將解釋如何在 shell 提示符號下處理檔案。

14.4.1. 建立檔案

您可以使用應用程式(例如文字編輯器),或使用 touch 指令(將會建立一個空白的檔案,讓您可以放入文字或資料)來建立新的檔案。 如要使用 touch 指令建立一個檔案,請在 shell 提示符號下輸入以下指令:

touch <filename>

用您想要的名稱取代 <filename>。 假如您執行目錄列出,該檔案會包含 0 位元組的資訊,因為它是一個空的檔案。 例如,在 shell 提示符號下輸入 ls -l newfile 指令將會得到以下的輸出:

-rw-rw-r--    1 sam      sam             0 Apr 10 17:09 newfile

14.4.2. 複製檔案

就像許多其他的 Linux 特色,有許多種不同的方式來操作檔案與目錄。 您也可使用萬用字元,例如在 菴 13.11.5 節 中所解釋的,這樣將使得複製、移動或刪除多重檔案與目錄的過程更快。

如要複製一個檔案,請輸入以下指令。

cp <source> <destination>

使用您想複製的檔名取代 <source>,還有使用您想存放這個檔案的目錄名稱取代 <destination>

所以,要複製 sneakers.txt 檔案到您家目錄中的 tigger/ 目錄,請先轉換至您的家目錄再輸入:

cp sneakers.txt tigger/

您可以將 cp 和相對與絕對路徑一起使用。 我們的家目錄是 tigger 的父目錄; 而 tigger 目錄是我們的家目錄下一層的目錄。

提示建議
 

如要學習更多關於相對與絕對路徑名稱的資訊,請參考 菴 13.4 節

請閱讀 cp 的 man page (在 shell 提示符號下輸入 man cp),以取得 cp 可使用的所有參數清單。 在這些參數中,您可以使用以下的參數與 cp 一起使用:

現在您有 sneakers.txt 檔案在 tigger 目錄中,使用 cp -i 指令來再度複製這個檔案到相同的位置。

cp -i sneakers.txt tigger
cp: overwrite 'tigger/sneakers.txt'?

要覆寫已經存在的檔案,請按下 [Y],再按下 [Enter] 鍵。 假如您不想覆寫這個檔案,請按下 [N] 然後再按下 [Enter] 鍵。

14.4.3. 移動檔案

要移動檔案,請使用 mv 指令。 要知道更多關於 mv 的資訊,請看 mv 的 man page (輸入 man mv)。

mv 的一般參數如下:

假如您想要將一個檔案移出您的家目錄,並移入另一個既有的目錄,請輸入下列的指令(您必須在您的家目錄中):

mv sneakers.txt tigger

或者,使用絕對路徑的相同指令就像:

mv sneakers.txt /home/newuser/sneakers.txt /home/newuser/tigger

14.4.4. 刪除檔案與目錄

您曾經學習過關於使用 touch 指令來建立檔案,以及使用 mkdir 來建立 tigger 目錄。

現在您需要學習如何刪除檔案與目錄。 使用 rm 指令來刪除檔案與目錄是一個很直接的過程。 請看 rm 的 man page 以取得更多資訊。 用來移除檔案與目錄的參數包括:

如要使用 rm 指令來刪除 piglet.txt 檔案,請輸入:

rm piglet.txt

警告警告
 

一旦使用 rm 指令刪除一個檔案或目錄,該檔案或目錄已被永久刪除而無法回復。

如使用 -i (interactive - 互動式的) 參數會給您再一次的機會想一想您是否真的要刪除這個檔案。

rm -i piglet.txt
rm: remove 'piglet.txt'?

您也可以使用萬用字元 * 來刪除檔案,不過需小心,因為您會很容易的就刪除您不想刪除的檔案。

要使用萬用字元來移除檔案,您可以輸入:

rm pig*

以上的指令將移除在目前目錄中所有以字母 pig 開頭的檔案。

您也可以使用 rm 指令來移除多重的檔案。 例如:

rm piglet.txt sneakers.txt

您可以使用 rmdir 來移除目錄 (例如 rmdir foo),不過只能在目錄是空的情況下。 要使用 rm 來移除目錄,您必須指定 -r 參數。

例如,您想要遞迴式的移除 tigger 目錄,您可以輸入:

rm -r tigger

假如您想要結合參數,例如強制一個遞迴式的刪除,您可以輸入:

rm -rf tigger

使用 rm 指令來移除目錄的一個較安全的方法就是使用 rmdir 指令。 這個指令不允許您使用遞迴式的刪除,所以將無法刪除含有檔案的目錄。

警告警告
 

rm 指令可以刪除整個檔案系統! 假如您登入為 root, 您只要輸入簡單的指令 rm -rf /,您的麻煩就大了; 這個指令將遞迴式的移除系統上的所有資料。

請閱讀 rmdir 的 man page (man rmdir) 以取得更多關於這個指令的資訊。