日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux cp 命令的15个示例 - 创建文件和目录的副本

發(fā)布時間:2023/12/31 linux 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux cp 命令的15个示例 - 创建文件和目录的副本 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

拷貝文件和目錄是每一個操作系統(tǒng)的基本指令。備份行為基本上是創(chuàng)建文件和目錄的副本。在Linux系統(tǒng)下,我們可以用cp命令來實(shí)現(xiàn)。

copy 命令是什么

正如我們在上文提到的,cp是一個用來創(chuàng)建文件和目錄副本的命令。在這里我們提供了一些在日常操作中可能用到的cp命令的實(shí)例。

1. 不帶任何參數(shù)下,運(yùn)行cp

這是 cp 命令最基礎(chǔ)的使用。 拷貝名為 myfile.txt 從一個位置到另一個位置,我們可以像這樣子輸入:

  • $ cp myfile.txt /home/pungki/office
  • Copy without options

    如果我們沒有輸入絕對路徑,這意味著我們正在當(dāng)前目錄下拷貝一個文件。在上面的實(shí)例中,myfile.txt位于/home/pungki/Documents目錄下。如果我們當(dāng)前目錄正是/home/pungki/Documets,那么沒有必要輸入/home/pungki/Documents/myfile.txt來拷貝文件。當(dāng)/home/pungki/office是一個目錄,則文件會拷貝到里面。

    2. 同時拷貝多個文件

    要在同時拷貝多個文件,我們只需要將多個文件用空格隔開。如下示例:

  • $ cp file_1.txt file_2.txt file_3.txt /home/pungki/office
  • Copying multiple files

    3. 拷貝一個目錄

    要拷貝一個目錄的話會有點(diǎn)棘手。你需要添加?-r?或者?-R?選項(xiàng)來實(shí)現(xiàn)。-r-R?選項(xiàng)表明遞歸操作。無論該目錄是否為空目錄,這個選項(xiàng)都是必要的。如下示例:

  • $ cp -r directory_1 /home/pungki/office
  • Copy directory

    需要注意的一件事,你需要移除在目錄名尾部的斜杠。否則你會收到類似的錯誤信息cp: omitting directory‘directory_1/

    Copy directory error

    如果你收到錯誤信息,則目錄不會被拷貝到目標(biāo)文件夾。

    4. 創(chuàng)建文件的硬鏈接,而不是拷貝它們

    拷貝文件意味著你必須使用一些存儲空間來儲存拷貝的文件。有時候出于某種原因,你可能想要創(chuàng)建“快捷方式”或者鏈接到文件,而不是拷貝它們。要做到這一點(diǎn),我們可以使用-l選項(xiàng)。

  • $ cp -l file_4.txt /home/pungki/office
  • Copy hardlinks

    從上圖看出,我們看到file_4.txt的硬鏈接已經(jīng)拷貝到/home/pungki/office/file_4.txt。標(biāo)記有同樣的 inode,835386。但是請注意,硬鏈接不能用來創(chuàng)建目錄。下面讓我們看一個例子。

    原目錄 directory_1 的 inode 值是 278230

    原文件 file_5.txt 的 inode 值是 279231

    對 directory_1 執(zhí)行 cp 命令

    拷貝的 directory_1副本的 inode 值是 274800

    拷貝的 file_5.txt副本的 inode 值是 279231。跟它的原文件一樣

    Inode number of copied file

    5. 創(chuàng)建文件的符號鏈接

    也有一種鏈接叫做?軟鏈接?或?符號鏈接。我們用?-s?選項(xiàng)來實(shí)現(xiàn)。下面是命令的示例。

  • $ cp -s /home/pungki/Documents/file_6.txt file_6.txt
  • 創(chuàng)建符號鏈接只能在當(dāng)前目錄下進(jìn)行。在上面的截圖中,我們想要創(chuàng)建符號鏈接?/home/pungki/office/file6.txt 指向原文件 /home/pungki/Documents/file6.txt。但是為了創(chuàng)建符號鏈接,我必須在將/home/pungki/office作為目標(biāo)目錄。一旦我設(shè)法進(jìn)入目錄,我就可以向上面一樣運(yùn)行 cp?-s?命令。

    現(xiàn)在你列出文件詳情,你會看到/home/pungki/office/file_6.txt指向了原文件。在其文件名后標(biāo)記了箭頭符號。

    Symbolic links

    6. 不隨符號鏈接拷貝原文件

    [譯注:意思是只拷貝符號鏈接文件]

    我們可以用?-P?選項(xiàng)來實(shí)現(xiàn)。當(dāng)對符號鏈接使用 cp 命令,它會照原樣拷貝它自身。來看看下面的示例。

  • $ cp -P file_6.txt ./movie
  • Copy using -P option

    如你所見,cp 命令照原樣拷貝file_6.txt自身。文件類型仍然是一個符號鏈接。

    7. 隨符號鏈接拷貝原文件

    現(xiàn)在我們可以試一下-L選項(xiàng)。基本上,這個剛好與上面的 -P 選項(xiàng)?相反。下面是個示例:

  • $ cp -L file_6.txt ./movie
  • Copy using -L option

    使用這個選項(xiàng),拷貝的文件將會和file_6.txt原文件一樣。我們可以從文件大小看出來。拷貝的文件有50 字節(jié)而當(dāng)file_6.txt作為符號鏈接時文件大小只有33 字節(jié)

    8. 文件歸檔

    當(dāng)我們?nèi)タ截愐粋€目錄時,我們會用-r或者-R選項(xiàng)。但是我們也可以用-a選項(xiàng)來歸檔文件。這樣會創(chuàng)建文件和目錄的準(zhǔn)確套錄,如果有的話也可以包括符號鏈接。下面是示例:[譯注:-a 會保留原文件或目錄的屬性]

  • $ cp -a directory_1/ /home/pungki/office
  • Copy using -a option

    上列的命令會拷貝一個名為 directory1 的目錄到/home/pungki/office目錄下。如你所見,**file6.txt**依然作為符號鏈接被復(fù)制。

    9. 顯示正在做什么

    默認(rèn)情況下,當(dāng)拷貝作業(yè)成功時,我們僅僅會再次看到命令提示符。如果你想了解在拷貝文件時都發(fā)生了什么,我們可以用?-v?選項(xiàng)。

  • $ cp -v *.txt /home/pungki/office
  • Verbose option

    當(dāng)我們從當(dāng)前目錄下拷貝所有的 txt 文件到?/home/pungki/office?目錄,-v選項(xiàng)會顯示正在操作的過程。這些額外的信息會幫助我們了解更多拷貝過程。

    10. 當(dāng)原文件較目標(biāo)文件新時拷貝

    我們用?-u選項(xiàng)來實(shí)現(xiàn)。下面是具體示例:

  • $ cp -vu *.txt /home/pungki/office
  • Copy only if newer

    起初我們看到file_1.txt 是0字節(jié)大小。然后我們用 vi 編輯,加入一些內(nèi)容并保存。接下來,我們發(fā)現(xiàn)文件大小已經(jīng)變?yōu)榱?36 個字節(jié)。 與此同時在/home/pungki/office目錄中,我們已經(jīng)包含了所有txt文件。當(dāng)我們用 -u 選項(xiàng),結(jié)合 -v 選項(xiàng)來查看具體操作,cp 命令會只拷貝比目標(biāo)目錄下新的文件。因此,我們看到只有 file_1.txt 拷貝到 /home/pungki/office 目錄下

    11. 使用交互模式

    交互模式下會詢問是否覆蓋目標(biāo)目錄下的文件。使用?-i?選項(xiàng),啟用交互模式。

  • $ cp -ir directory_1/ /home/pungki/office/
  • Interactive mode

    12. 創(chuàng)建備份文件

    當(dāng)目標(biāo)目錄已經(jīng)含有同名文件,默認(rèn)情況下 cp 命令會覆蓋目標(biāo)目錄下的同名文件。使用?--backup?選項(xiàng),cp 命令會為每一個現(xiàn)有的目標(biāo)文件做一個備份。../office 相對于 /home/pungki/office 。下面是示例:

  • $ cp --backup=simple -v *.txt ../office
  • Backup option

    正如我們看到的,--backup=simple?選項(xiàng)會創(chuàng)建一個在文件名末尾用波浪符標(biāo)記(~)的備份文件。--backup?選項(xiàng)也有一些其他控制:

    • none, off:從不備份(即使給出 --backup)
    • numbered, t:用編號備份
    • existing, nil?:如果編號備份存在則使用編號備份,否者用簡易備份[譯注:也就是用波浪號]
    • simple, never?:總是使用簡易備份

    13. 只拷貝文件屬性

    cp 命令也提供給我們?--attributes-only?選項(xiàng)。顧名思義,這個選項(xiàng)只會拷貝文件名及其屬性,不會拷貝任何數(shù)據(jù)。下面是示例:

  • $ cp --attributes-only file_6.txt -v ../office
  • Copy attributes only

    從上圖看出,?原文件 file_6.txt 有 50 字節(jié)大小。用了?--attributes-only選項(xiàng),拷貝的文件只有0字節(jié)大小。這是因?yàn)槲募?nèi)容并沒有拷貝。

    14. 強(qiáng)制拷貝

    用了?-f?選項(xiàng)會強(qiáng)制進(jìn)行拷貝操作。如果目標(biāo)文件不能打開,可以用?-f?嘗試一下。

  • $ cp -f *.txt -v ../office
  • Copy with force

    15. 在拷貝之前先刪除目標(biāo)

    我們可以用,--remove-destination 選項(xiàng)?實(shí)現(xiàn)。這個選項(xiàng)與上面的-f選項(xiàng)形成對照。如果 cp 命令在目標(biāo)目錄下發(fā)現(xiàn)同名文件, cp 命令會先刪除目標(biāo)文件,然后再拷貝一份新的。下面是示例:

  • $ cp --remove-destination *.txt -v ../office
  • Remove destination option

    總結(jié)

    cp 命令是 Linux 下最基礎(chǔ)的命令之一。對于那些想要學(xué)習(xí) Linux 的人,必須得把這個命令掌握。當(dāng)然你也可以在你的終端下鍵入?man cp?或者?cp --help?來顯示更多幫助信息。

    原文發(fā)布時間為:2014-03-14

    本文來自云棲社區(qū)合作伙伴“Linux中國”

    總結(jié)

    以上是生活随笔為你收集整理的Linux cp 命令的15个示例 - 创建文件和目录的副本的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。