linux入門教程Linux命令TurboLinux
第十課(六)文件的復制、刪除和移動命令
cp命令
該命令的功能是將給出的文件或目錄拷貝到另一文件或目錄中,就如同DOS下的copy命令一樣,功能非常強大。
語法: cp [選項] 源文件或目錄 目標文件或目錄
說明:該命令把指定的源文件復制到目標文件或把多個源文件復制到目標目錄中。
該命令的各選項含義如下:
- a 該選項通常在拷貝目錄時使用。它保留鏈接、文件屬性,並遞歸地拷貝目錄,其作用等於dpR選項的組合。
- d 拷貝時保留鏈接。
- f 刪除已經存在的目標文件而不提示。
- i 和f選項相反,在覆蓋目標文件之前將給出提示要求用戶確認。回答y時目標文件將被覆蓋,是交互式拷貝。
- p 此時cp除復制源文件的內容外,還將把其修改時間和訪問權限也復制到新文件中。
- r 若給出的源文件是一目錄文件,此時cp將遞歸復制該目錄下所有的子目錄和文件。此時目標文件必須為一個目錄名。
- l 不作拷貝,只是鏈接文件。
需要說明的是,為防止用戶在不經意的情況下用cp命令破壞另一個文件,如用戶指定的目標文件名是一個已存在的文件名,用cp命令拷貝文件後,這個文件就會被新拷貝的源文件覆蓋,因此,建議用戶在使用cp命令拷貝文件時,最好使用i選項。
$ cp - i exam1.c /usr/wang/shiyan1.c
該命令將文件exam1.c拷貝到/usr/wang 這個目錄下,並改名為 shiyan1.c。若不希望重新命名,可以使用下面的命令:
$ cp exam1.c /usr/ wang/
$ cp - r /usr/xu/ /usr/liu/
將/usr/xu目錄中的所有文件及其子目錄拷貝到目錄/usr/liu中。
mv命令
用戶可以使用mv命令來為文件或目錄改名或將文件由一個目錄移入另一個目錄中。該命令如同DOS下的ren和move的組合。
語法:mv [選項] 源文件或目錄 目標文件或目錄
說明:視mv命令中第二個參數類型的不同(是目標文件還是目標目錄),mv命令將文件重命名或將其移至一個新的目錄中。當第二個參數類型是文件時,mv命令完成文件重命名,此時,源文件只能有一個(也可以是源目錄名),它將所給的源文件或目錄重命名為給定的目標文件名。當第二個參數是已存在的目錄名稱時,源文件或目錄參數可以有多個,mv命令將各參數指定的源文件均移至目標目錄中。在跨文件系統移動文件時,mv先拷貝,再將原有文件刪除,而鏈至該文件的鏈接也將丟失。
命令中各選項的含義為:
- I 交互方式操作。如果mv操作將導致對已存在的目標文件的覆蓋,此時系統詢問是否重寫,要求用戶回答y或n,這樣可以避免誤覆蓋文件。
- f 禁止交互操作。在mv操作要覆蓋某已有的目標文件時不給任何指示,指定此選項後,i選項將不再起作用。
如果所給目標文件(不是目錄)已存在,此時該文件的內容將被新文件覆蓋。為防止用戶在不經意的情況下用mv命令破壞另一個文件,建議用戶在使用mv命令移動文件時,最好使用i選項。
需要注意的是,mv與cp的結果不同。mv好象文件“搬家”,文件個數並末增加,而cp對文件進行復制,文件個數增加了。
例1:將/usr/xu中的所有文件移到當前目錄(用“.”表示)中:
$ mv /usr/xu/ * .
例2:將文件wch.txt重命名為wjz.doc
$ mv wch.txt wjz.doc
rm命令
在linux中創建文件很容易,系統中隨時會有文件變得過時且毫無用處。用戶可以用rm命令將其刪除。該命令的功能為刪除一個目錄中的一個或多個文件或目錄,它也可以將某個目錄及其下的所有文件及子目錄均刪除。對於鏈接文件,只是刪除了鏈接,原有文件均保持不變。
rm命令的一般形式為:
rm [選項] 文件…
如果沒有使用- r選項,則rm不會刪除目錄。
該命令的各選項含義如下:
- f 忽略不存在的文件,從不給出提示。
- r 指示rm將參數中列出的全部目錄和子目錄均遞歸地刪除。
- i 進行交互式刪除。
使用rm命令要格外小心。因為一旦一個文件被刪除,它是不能被恢復的。例如,用戶在輸入cp,mv或其他命令時,不小心誤輸入了rm命令,當用戶按了回車鍵並認識到自己的錯誤時,已經太晚了,文件已經沒有了。為了防止此種情況的發生,可以使用rm命令中的 i選項來確認要刪除的每個文件。如果用戶輸入y,文件將被刪除。如果輸入任何其他東西,文件將被保留。在下一個例子中,用戶要刪除文件test和example。然後會被要求對每個文件進行確認。用戶最終決定刪除example文件,保留test文件。
$ rm - ii test example
Remove test ?n
Remove example ?y