萬盛學電腦網

 萬盛學電腦網 >> 服務器教程 >> linux復制、刪除、移動文件的命令:cp、rm、mv

linux復制、刪除、移動文件的命令:cp、rm、mv

   cp命令將源文件或目錄復制到目標文件或目錄中。如果源文件是普通文件,則該命令把它復制到指定的目標文件中;如果是目錄,就需要使用”-r”選項,將整個目錄下所有的文件和子目錄都復制到目標位置。

  一般格式:cp [選項] 源文件或目錄 目標文件或目錄

  選項:

  -a 該選項通常在復制目錄時使用。它遞歸地將源目錄下的所有子目錄及其文件都復制到目標目錄中,並且保留文件鏈接和文件屬性不變。它等效於-dpR

  -d 復制時保留文件鏈接。

  -f 覆蓋己經存在的目標文件,並且不給出提示。

  -i與-f選項不同,在覆蓋目標文件之前先給出提示,要求用戶予以確認。回答y,將覆蓋目標文件。這是交互式復制。

  -p 除復制源文件的內容外,還將其修改時間和存取權限也復制到新文件中。

  -R,-r 遞歸復制目錄,即將源目錄下的所有文件及其各級子目錄都復制到目標位置。

  -l 不復制,而是創建指向源文件的鏈接文件,鏈接文件名由目標文件給出。

  注意:cp 命令復制一個文件,而原文件保持不變!

  如果把一個文件復制到一個目標文件中,而目標文件已經存在,那麼,該目標文件的內容將被破壞。此命令中所有參數既可以是絕對路徑名,也可以是相對路徑名。通常會用到點( . )或點點( .. )的形式。例如,下面的命令將指定文件復制到當前目錄下:

  # cp ../mary/homework/assign .

  所有目標文件指定的目錄必須是己經存在的,cp命令不能創建目錄。如果沒有文件復制的權限,則系統會顯示出錯信息。

  示例:

  將文件file復制到目錄/usr/men/tmp下,並改名為file1

  # cp file /usr/men/tmp/file1

  將目錄/usr/men 下的所有文件及其子目錄復制到目錄/usr/zh中

  # cp -r /usr/men /usr/zh

  將目錄/root/web/ 下的所有文件及其子目錄復制到目錄 /www/web中,注意此代碼只是復制文件,並不會將web文件夾也復制過去

  # cp -r /root/web/* /www/web

  交互式地將目錄/usr/men中的以m打頭的所有.c文件復制到目錄/usr/zh中

  #cp -i /usr/men m*.c /usr/zh

  rm命令,該命令可以刪除一個目錄中的一個或多個文件或目錄,也可以將某個目錄及其下屬的所有文件及其子目錄均刪除掉。對於鏈接文件,只是刪除整個鏈接文件,而原有文件保持不變。

  一般格式:rm [選項] 文件列表

  選項:

  -d 刪除目錄,不管它是否為空(僅超級用戶才可使用)。

  -f 忽略不存在的文件,並且不給出提示信息。

  -r 遞歸地刪除指定目錄及其下屬的各級子目錄和相應的文件。

  -i 交互式地刪除文件。

  注意:使用rm命令要格外小心。因為一旦刪除了一個文件,就無法再恢復它。所以,在刪除文件之前,最好再看一下文件的內容,確定是否真要刪除。rm命令可以用-i選項,這個選項在使用文件擴展名字符刪除多個文件時特別有用。使用這個選項,系統會要求你逐一確定是否要刪除。這時,必須輸入y並按Enter鍵,才能刪除文件。如果僅按Enter鍵或其他字符,文件不會被刪除。

  示例:

  交互式刪除當前目錄下的文件test和example:

  # rm -i test example

  Remove test ?n(不刪除文件test)

  Remove example ?y(刪除文件example)

  刪除當前目錄下除隱含文件外的所有文件和子目錄:

  # rm -r *

  應注意,這樣做是非常危險的!

  mv命令用來對文件或目錄重新命名,或者將文件從一個目錄移到另一個目錄中。source表示源文件或目錄,target表示目標文件或目錄。如果將一個文件移到一個已經存在的目標文件中,則目標文件的內容將被覆蓋。

  mv命令可以用來將源文件移至一個目標文件中,或將一組文件移至一個目標目錄中。源文件被移至目標文件有兩種不同的結果:

  1.如果目標文件是到某一目錄文件的路徑,源文件會被移到此目錄下,且文件名不變。

  2.如果目標文件不是目錄文件,則源文件名(只能有一個)會變為此目標文件名,並覆蓋己存在的同名文件。如果源文件和目標文件在同一個目錄下,mv的作用就是改文件名。當目標文件是目錄文件時,源文件或目錄參數可以有多個,則所有的源文件都會被移至目標文件中。所有移到該目錄下的文件都將保留以前的文件名。

  一般格式:mv [選項] source target

  選項:

  -i 交互式操作。如果源文件與目標文件或目標目錄中的文件同名,則詢問用戶是否覆蓋目標文件。用戶輸入”y”,表示將覆蓋目標文件;輸入”n”,表示取消對源文件的移動。這樣可以避免誤將文件覆蓋。

  -f與”-i”相反,它禁止交互式操作。在覆蓋己有的目標文件時,不給任何提示。

  注意事項:mv與cp的結果不同,mv好像文件“搬家”,文件個數並未增加。而cp對文件進行復制,文件個數增加了。

  示例:

  將文件ex3改名為new1:

  # mv ex3 new1

  將目錄/usr/men中的所有文件移到當前目錄(用”.”表示)中:

  # mv/usr/men/* .

copyright © 萬盛學電腦網 all rights reserved