在shell提示下操作檔案(轉)

ba發表於2007-08-11
在shell提示下操作檔案(轉)[@more@]你可以使用 Nautilus 或 Konqueror 之類的圖形化檔案管理器來操作檔案。你還可以使用 shell 提示來操作它們,這種方法通常較快。下面的章節解釋了在 shell 提示下操作檔案的方法。

14.4.1. 建立檔案
你可以透過應用程式(如文字編輯器)或使用 touch 命令來建立新檔案。這兩種方法都會建立一個空白的檔案,你可以在其中新增文字或資料。要使用 touch 命令來建立檔案,在 shell 提示下鍵入以下命令:

touch

把 替換成你選定的名稱。如果你列舉一下目錄內容,你會看到該檔案的大小為零,這是因為它是一個空檔案。譬如,在 shell 提示下鍵入命令 ls -l newfile 會返回以下輸出:

-rw-rw-r-- 1 test test 0 3月 11 17:09 newfile

14.4.2. 複製檔案
和許多 Linux 的功能一樣,操作檔案和目錄的方法也有很多種。你還可以使用萬用字元(在第 13.11.5 節 中有說明)來更快地複製、移動、或刪除多個檔案。

要複製檔案,鍵入以下命令:

cp

把 替換成你想複製的檔案,把 替換成你想儲存複製檔案的目錄名。

因此,要把檔案 sneakers.txt 複製到你的主目錄中的 tigger/ 目錄下,轉換到你的主目錄,然後鍵入:

cp sneakers.txt tigger/

cp 命令可以使用絕對或相對路徑。我們的主目錄是 tigger 的父目錄; tigger 是主目錄之下的一個目錄。

竅門:要進一步學習相對路徑名和絕對路徑名,請參考 第 13.4 節 。


閱讀 cp 的說明書頁(在 shell 提示下鍵入 man cp )可獲得 cp 的完整選項列表。其中包括的選項有:

-i — 互動。如果檔案將會覆蓋你的目標中的檔案,它會提示你確認。這個選項很實用,因為它可以幫助你避免犯錯。

-r — 遞迴。與其一個一個地複製所有指定的檔案和目錄,這個選項會複製整個目錄樹、子目錄及其它。

-v — 詳細。向你顯示檔案的複製進度。

現在,你在 tigger 目錄中已擁有了 sneakers.txt ,再使用一次 cp -i 來把檔案複製到同一位置。

cp -i sneakers.txt tigger cp: 是否覆蓋‘tigger/sneakers.txt'?

要覆蓋原來的檔案,按 [Y] ,然後按 [Enter] 鍵。如果你不想覆蓋原來檔案, 按 [N] ,然後按 [Enter] 鍵。

14.4.3. 移動檔案
要移動檔案,使用 mv 命令。關於 mv 的詳情,請參閱 mv 的說明書頁(鍵入 man mv )。

mv 的常見選項包括:

-i — 互動。如果你選擇的檔案會覆蓋目標中的現存檔案,它會提示你。這是一個實用的選項,因為它象 cp 中的 -i 選項一樣,會給你一個確認替換已存檔案的機會。

-f — 強制。它會超越互動模式,不提示地移動檔案。除非你知道自己在幹什麼,這個選項很危險。在你對系統信心十足之前,請謹慎使用這個選項。

-v — 詳細。顯示檔案的移動進度。

如果你想把檔案從你的主目錄中移到另一個現存的目錄中,鍵入以下命令(你需要位於你的主目錄內):

mv sneakers.txt tigger

另外的方法是,用同一個命令,但使用絕對路徑,如:

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

14.4.4. 刪除檔案和目錄
前面你已經學習了使用 touch 命令來建立檔案,以及使用 mkdir 命令來建立目錄 tigger 。

現在,你需要學習如何刪除檔案和目錄。 使用 rm 命令來刪除檔案和目錄是一個直截了當的過程。詳情請參閱 rm 的說明書頁。刪除檔案和目錄的選項包括:

-i — 互動。提示你確認刪除。這個選項可以幫助你避免誤刪檔案。

-f — 強制。代替互動模式,不提示地刪除檔案。除非你知道自己在幹什麼,使用這個選項通常不是明智之舉。

-v — 詳細。顯示檔案的刪除進度。

-r — 遞迴。將會刪除某個目錄及其中所有的檔案和子目錄。

要使用 rm 命令來刪除檔案 piglet.txt ,鍵入:

rm piglet.txt
警告:一旦檔案或目錄使用 rm 命令刪除後,它就一去不復返了。


使用 -i (互動)選項會再給你一次機會來決定你是否真的想刪除該檔案。

rm -i piglet.txt rm: 是否刪除一般檔案‘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 命令可以刪除你的整個檔案系統!如果你登入為根使用者,然後鍵入這個簡單命令: rm -rf / ,你的麻煩就大了;這個命令會遞迴地刪除你的系統上的一切。


閱讀 rmdir 的說明書頁( man rmdir )來獲取關於這個命令的詳細資訊。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-947325/,如需轉載,請註明出處,否則將追究法律責任。

相關文章