溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux cp命令如何創(chuàng)建文件和目錄的副本

發(fā)布時(shí)間:2022-01-24 11:39:38 來(lái)源:億速云 閱讀:2088 作者:柒染 欄目:開(kāi)發(fā)技術(shù)

今天給大家介紹一下Linux cp命令如何創(chuàng)建文件和目錄的副本。文章的內(nèi)容小編覺(jué)得不錯(cuò),現(xiàn)在給大家分享一下,覺(jué)得有需要的朋友可以了解一下,希望對(duì)大家有所幫助,下面跟著小編的思路一起來(lái)閱讀吧。

在Linux系統(tǒng)中拷貝文件和目錄是一個(gè)熟練掌握操作系統(tǒng)的基本指令,下面和大家分享一下cp的使用用法。

copy 命令是什么

正如我們?cè)谏衔奶岬降模?strong>cp是一個(gè)用來(lái)創(chuàng)建文件和目錄副本的命令。在這里我們提供了一些在日常操作中可能用到的cp命令的實(shí)例。

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

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

  1. cp myfile.txt /home/pungki/office

Linux cp命令如何創(chuàng)建文件和目錄的副本

Copy without options

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

2. 同時(shí)拷貝多個(gè)文件

要在同時(shí)拷貝多個(gè)文件,我們只需要將多個(gè)文件用空格隔開(kāi)。如下示例:

  1. cp file_1.txt file_2.txt file_3.txt /home/pungki/office

Linux cp命令如何創(chuàng)建文件和目錄的副本

Copying multiple files

3. 拷貝一個(gè)目錄

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

  1. cp –r directory_1 /home/pungki/office

Linux cp命令如何創(chuàng)建文件和目錄的副本

Copy directory

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

Linux cp命令如何創(chuàng)建文件和目錄的副本

Copy directory error

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

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

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

  1. cp –l file_4.txt /home/pungki/office

Linux cp命令如何創(chuàng)建文件和目錄的副本

Copy hardlinks

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

原目錄 directory_1 的 inode 值是 278230

Linux cp命令如何創(chuàng)建文件和目錄的副本

原文件 file_5.txt 的 inode 值是 279231

Linux cp命令如何創(chuàng)建文件和目錄的副本

對(duì) directory_1 執(zhí)行 cp 命令

Linux cp命令如何創(chuàng)建文件和目錄的副本

拷貝的 directory_1副本的 inode 值是 274800

Linux cp命令如何創(chuàng)建文件和目錄的副本

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

Linux cp命令如何創(chuàng)建文件和目錄的副本

Inode number of copied file

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

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

  1. cp –/home/pungki/Documents/file_6.txt file_6.txt

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

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

Linux cp命令如何創(chuàng)建文件和目錄的副本

Symbolic links

6. 不隨符號(hào)鏈接拷貝原文件

[譯注:意思是只拷貝符號(hào)鏈接文件]

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

  1. cp –P file_6.txt ./movie

Linux cp命令如何創(chuàng)建文件和目錄的副本

Copy using -P option

如你所見(jiàn),cp 命令照原樣拷貝file_6.txt自身。文件類型仍然是一個(gè)符號(hào)鏈接。

7. 隨符號(hào)鏈接拷貝原文件

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

  1. cp –L file_6.txt ./movie

Linux cp命令如何創(chuàng)建文件和目錄的副本

Copy using -L option

使用這個(gè)選項(xiàng),拷貝的文件將會(huì)和file_6.txt原文件一樣。我們可以從文件大小看出來(lái)??截惖奈募?strong>50 字節(jié)而當(dāng)file_6.txt作為符號(hào)鏈接時(shí)文件大小只有33 字節(jié)

8. 文件歸檔

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

  1. cp –a directory_1/ /home/pungki/office

Linux cp命令如何創(chuàng)建文件和目錄的副本

Copy using -a option

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

9. 顯示正在做什么

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

  1. cp –*.txt /home/pungki/office

Linux cp命令如何創(chuàng)建文件和目錄的副本

Verbose option

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

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

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

  1. cp –vu *.txt /home/pungki/office

Linux cp命令如何創(chuàng)建文件和目錄的副本

Copy only if newer

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

11. 使用交互模式

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

  1. cp –ir directory_1/ /home/pungki/office/

Linux cp命令如何創(chuàng)建文件和目錄的副本

Interactive mode

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

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

  1. cp —backup=simple –*.txt ../office

Linux cp命令如何創(chuàng)建文件和目錄的副本

Backup option

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

  • none, off:從不備份(即使給出 –backup)

  • numbered, t:用編號(hào)備份

  • existing, nil :如果編號(hào)備份存在則使用編號(hào)備份,否者用簡(jiǎn)易備份[譯注:也就是用波浪號(hào)]

  • simple, never :總是使用簡(jiǎn)易備份

13. 只拷貝文件屬性

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

  1. cp —attributes–only file_6.txt –../office

Linux cp命令如何創(chuàng)建文件和目錄的副本

Copy attributes only

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

14. 強(qiáng)制拷貝

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

  1. cp –*.txt –../office

Linux cp命令如何創(chuàng)建文件和目錄的副本

Copy with force

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

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

  1. cp —remove–destination *.txt –../office

Linux cp命令如何創(chuàng)建文件和目錄的副本

Remove destination option

以上就是Linux cp命令如何創(chuàng)建文件和目錄的副本的全部?jī)?nèi)容了,更多與Linux cp命令如何創(chuàng)建文件和目錄的副本相關(guān)的內(nèi)容可以搜索億速云之前的文章或者瀏覽下面的文章進(jìn)行學(xué)習(xí)哈!相信小編會(huì)給大家增添更多知識(shí),希望大家能夠支持一下億速云!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI