cp和mv命令

注意事項:mv與cp的結果不一樣,mv好像文件「搬家」,文件個數並未增長。而cp對文件進行復制,文件個數增長了。linux

1、cp命令網站

cp命令用來將一個或多個源文件或者目錄複製到指定的目的文件或目錄。它能夠將單個源文件複製成一個指定文件名的具體的文件或一個已經存在的目錄下。cp命令還支持同時複製多個文件,當一次複製多個文件時,目標文件參數必須是一個已經存在的目錄,不然將出現錯誤。spa

語法:.net

cp(選項)(參數)遞歸

選項:ip

-a:此參數的效果和同時指定"-dpR"參數相同;get

-d:當複製符號鏈接時,把目標文件或目錄也創建爲符號鏈接,並指向與源文件或目錄鏈接的原始文件或目錄;io

-f:強行復制文件或目錄,不論目標文件或目錄是否已存在;file

-i:覆蓋既有文件以前先詢問用戶;權限

-l:對源文件創建硬鏈接,而非複製文件;

-p:保留源文件或目錄的屬性;

-R/r:遞歸處理,將指定目錄下的全部文件與子目錄一併處理;

-s:對源文件創建符號鏈接,而非複製文件;

-u:使用這項參數後只會在源文件的更改時間較目標文件更新時或是名稱相互對應的目標文件並不存在時,才複製文件;

-S:在備份文件時,用指定的後綴「SUFFIX」代替文件的默認後綴;

-b:覆蓋已存在的文件目標前將目標文件備份;

-v:詳細顯示命令執行的操做。

參數:

源文件:制定源文件列表。默認狀況下,cp命令不能複製目錄,若是要複製目錄,則必須使用-R選項;

目標文件:指定目標文件。當「源文件」爲多個文件時,要求「目標文件」爲指定的目錄。

實例:

若是把一個文件複製到一個目標文件中,而目標文件已經存在,那麼,該目標文件的內容將被破壞。此命令中全部參數既能夠是絕對路徑名,也能夠是相對路徑名。一般會用到.或..的形式。

例如,下面的命令將指定文件複製到當前目錄下:

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

 

交互式地將目錄/usr/men中的以m打頭的全部.c文件複製到目錄/usr/zh中:

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

 

在Linux下使用cp命令複製文件時候,有時候會須要覆蓋一些同名文件,覆蓋文件的時候都會有提示:須要不停的按Y來肯定執行覆蓋。此時能夠採用如下方法:

cp aaa/* /bbb

複製目錄aaa下全部到/bbb目錄下,這時若是/bbb目錄下有和aaa同名的文件,須要按Y來確認而且會略過aaa目錄下的子目錄。

cp -r aaa/* /bbb

此次依然須要按Y來確認操做,可是沒有忽略子目錄。

cp -r -a aaa/* /bbb

依然須要按Y來確認操做,而且把aaa目錄以及子目錄和文件屬性也傳遞到了/bbb。

\cp -r -a aaa/* /bbb

成功,沒有提示按Y、傳遞了目錄屬性、沒有略過目錄。

 

2、mv命令

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

 

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

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

二、若是目標文件不是目錄文件,則源文件名(只能有一個)會變爲此目標文件名,並覆蓋己存在的同名文件。若是源文件和目標文件在同一個目錄下,mv的做用就是改文件名。當目標文件是目錄文件時,源文件或目錄參數能夠有多個,則全部的源文件都會被移至目標文件中。全部移到該目錄下的文件都將保留之前的文件名。

語法:

mv(選項)(參數)

選項:

--backup=<備份模式>:若需覆蓋文件,則覆蓋前先行備份;

-b:當文件存在時,覆蓋前,爲其建立一個備份;

-f:若目標文件或目錄與現有的文件或目錄重複,則直接覆蓋現有的文件或目錄;

-i:交互式操做,覆蓋前先行詢問用戶,若是源文件與目標文件或目標目錄中的文件同名,則詢問用戶是否覆蓋目標文件。用戶輸入」y」,表示將覆蓋目標文件;輸入」n」,表示取消對源文件的移動。這樣能夠避免誤將文件覆蓋。

--strip-trailing-slashes:刪除源文件中的斜槓「/」;

-S<後綴>:爲備份文件指定後綴,而不使用默認的後綴;

--target-directory=<目錄>:指定源文件要移動到目標目錄;

-u:當源文件比目標文件新或者目標文件不存在時,才執行移動操做。

參數:

源文件:源文件列表。

目標文件:若是「目標文件」是文件名則在移動文件的同時,將其更名爲「目標文件」;若是「目標文件」是目錄名則將源文件移動到「目標文件」下。

實例:

將文件ex3更名爲new1:

mv ex3 new1

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

mv /usr/men/* .

參考網站: http://man.linuxde.net

相關文章
相關標籤/搜索