成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux cp 命令示例:創建文件和目錄的副本

運維 系統運維
拷貝文件和目錄是每一個操作系統的基本指令。備份行為基本上是創建文件和目錄的副本。在Linux系統下,我們可以用cp命令來實現。本文介紹了15個Linux cp命令實例,對此感興趣的朋友們多多關注。

拷貝文件和目錄是每一個操作系統的基本指令。備份行為基本上是創建文件和目錄的副本。在Linux系統下,我們可以用cp命令來實現。

copy 命令是什么

[[110027]]

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

1. 不帶任何參數下,運行cp

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

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

Copy without options

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

2. 同時拷貝多個文件

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

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

Copying multiple files

3. 拷貝一個目錄

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

  1. $ cp -r directory_1 /home/pungki/office

Copy directory

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

Copy directory error

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

4. 創建文件的硬鏈接,而不是拷貝它們

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

  1. $ cp -l file_4.txt /home/pungki/office

Copy hardlinks

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

原目錄 directory_1 的 inode 值是 278230

Inode number of original directory

原文件 file_5.txt 的 inode 值是 279231

Original inode number of file

對 directory_1 執行 cp 命令

Copy using -rl options

拷貝的 directory_1副本的 inode 值是 274800

Inode number of copied directory

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

Inode number of copied file

5. 創建文件的符號鏈接

也有一種鏈接叫做 軟鏈接 或 符號鏈接。我們用 -s 選項來實現。下面是命令的示例。

  1. $ cp -s /home/pungki/Documents/file_6.txt file_6.txt

創建符號鏈接只能在當前目錄下進行。在上面的截圖中,我們想要創建符號鏈接 /home/pungki/office/file6.txt 指向原文件 /home/pungki/Documents/file6.txt。但是為了創建符號鏈接,我必須在將/home/pungki/office作為目標目錄。一旦我設法進入目錄,我就可以向上面一樣運行 cp -s 命令。

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

Symbolic links

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

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

我們可以用 -P 選項來實現。當對符號鏈接使用 cp 命令,它會照原樣拷貝它自身。來看看下面的示例。

  1. $ cp -P file_6.txt ./movie

Copy using -P option

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

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

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

  1. $ cp -L file_6.txt ./movie

Copy using -L option

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

8. 文件歸檔

當我們去拷貝一個目錄時,我們會用-r或者-R選項。但是我們也可以用-a選項來歸檔文件。這樣會創建文件和目錄的準確套錄,如果有的話也可以包括符號鏈接。下面是示例:[譯注:-a 會保留原文件或目錄的屬性]

  1. $ cp -a directory_1/ /home/pungki/office

Copy using -a option

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

9. 顯示正在做什么

默認情況下,當拷貝作業成功時,我們僅僅會再次看到命令提示符。如果你想了解在拷貝文件時都發生了什么,我們可以用 -v 選項。

  1. $ cp -v *.txt /home/pungki/office

Verbose option

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

10. 當原文件較目標文件新時拷貝

我們用 -u選項來實現。下面是具體示例:

  1. $ cp -vu *.txt /home/pungki/office

Copy only if newer

起初我們看到file_1.txt 是0字節大小。然后我們用 vi 編輯,加入一些內容并保存。接下來,我們發現文件大小已經變為了 36 個字節。 與此同時在/home/pungki/office目錄中,我們已經包含了所有txt文件。當我們用 -u 選項,結合 -v 選項來查看具體操作,cp 命令會只拷貝比目標目錄下新的文件。因此,我們看到只有 file_1.txt 拷貝到 /home/pungki/office 目錄下。

11. 使用交互模式

交互模式下會詢問是否覆蓋目標目錄下的文件。使用 -i 選項,啟用交互模式。

  1. $ cp -ir directory_1/ /home/pungki/office/

Interactive mode

12. 創建備份文件

當目標目錄已經含有同名文件,默認情況下 cp 命令會覆蓋目標目錄下的同名文件。使用 --backup 選項,cp 命令會為每一個現有的目標文件做一個備份。../office 相對于 /home/pungki/office 。下面是示例:

  1. $ cp --backup=simple -v *.txt ../office

Backup option

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

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

13. 只拷貝文件屬性

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

  1. $ cp --attributes-only file_6.txt -v ../office

Copy attributes only

從上圖看出, 原文件 file_6.txt 有 50 字節大小。用了 --attributes-only選項,拷貝的文件只有0字節大小。這是因為文件內容并沒有拷貝。

14. 強制拷貝

用了 -f 選項會強制進行拷貝操作。如果目標文件不能打開,可以用 -f 嘗試一下。

  1. $ cp -f *.txt -v ../office

Copy with force

15. 在拷貝之前先刪除目標

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

  1. $ cp --remove-destination *.txt -v ../office

Remove destination option

總結

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


via: http://linoxide.com/linux-command/linux-cp-command/

譯者:Luoxcat 校對:Mr小眼兒

責任編輯:黃丹 來源: linux.cn
相關推薦

2009-08-04 09:37:34

Linux創建文件命令Linux創建文件命令

2009-12-23 10:58:58

Linux創建文件命令

2009-12-23 10:58:58

Linux創建文件命令

2009-08-04 09:53:21

linux創建文件命令tail命令自解壓

2009-08-04 09:42:09

linux創建文件命令ddlinux

2009-09-25 10:01:07

Linux教程Linux mkdir創建文件夾命令

2009-08-31 13:07:26

C#創建文件

2010-01-06 11:24:27

Linux命令

2009-12-22 15:06:38

Linux創建文件系統

2014-07-31 09:44:43

Linuxcp命令合并目錄樹

2023-03-21 12:52:05

Linux創建文件

2019-02-19 09:00:45

Linux創建文件命令

2014-03-19 19:46:43

Linuxmkdir 命令

2024-01-10 08:20:50

Linux編輯器pico

2023-08-12 15:05:26

Linuxcp 命令

2010-05-04 15:09:29

Unix命令

2020-11-02 18:27:29

進度條Linuxcp

2022-08-29 08:33:22

SocatLinux命令

2021-12-12 09:19:16

find命令Linux

2010-01-11 10:05:18

Linux刪除目錄
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 美国一级片在线观看 | 亚洲成av人影片在线观看 | 青青久在线视频 | 中文字幕一区二区不卡 | 欧美三区在线观看 | 动漫www.被爆羞羞av44 | 亚洲高清在线 | 欧美精品一二三区 | 亚洲狠狠 | 深夜爽视频| www亚洲免费国内精品 | 一区二区三区欧美 | 国产高清一区 | 国产精品国产三级国产aⅴ浪潮 | 亚洲福利在线观看 | 国产精品久久久久久久久久久新郎 | 精品乱码一区二区 | 亚洲精品电影网在线观看 | 国产精品高清在线 | 亚洲第一色av | 可以看黄的视频 | 亚洲一区在线播放 | 精品一区二区久久久久久久网站 | 国产精品美女久久久久aⅴ国产馆 | 国产精品福利视频 | 久久91av| 欧美一区二区三区一在线观看 | 看亚洲a级一级毛片 | 久久精品久久久 | 午夜性视频| 久色激情 | 91在线精品秘密一区二区 | av在线免费不卡 | 亚洲啪啪一区 | 国产偷久久一级精品60部 | 综合色导航 | 日韩一级电影免费观看 | 天天操网| 亚洲免费一区二区 | 国产精品一区一区三区 | 日韩免费一二三区 |