天天看點

每天一個liunx 指令 cp

                        cp 指令  

作用

cp 複制指令,用于系統間檔案或者目錄的複制

用法

Usage: cp [OPTION]... [-T] SOURCE DEST

參數說明

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

<code>-a 或 --archive     此參數的效果和同時指定</code><code>"-dpR"</code><code>參數相同</code>

<code> </code><code>-b 或 --backup      删除、覆寫目的檔案先備份,備份的檔案或目錄亦建立為符号連結,并指向源檔案或目錄連結的源檔案或目錄。假如沒有加上這個參數,在複制過程中若遇到符号連結,則會直接複制源檔案或目錄</code>

<code>-f 或 --force       強行複制檔案或目錄, 不論目的檔案或目錄是否已經存在</code>

<code>-i 或 --interactive 覆寫檔案之前先詢問使用者</code>

<code>-l 或 --link        對源檔案建立硬連結,而非複制檔案</code>

<code>-p 或 --preserve    保留源檔案或目錄的屬性,包括所有者、所屬組、權限與時間</code>

<code>-P 或 --parents     保留源檔案或目錄的路徑,此路徑可以是絕對路徑或相對路徑,且目的目錄必須已經存在</code>

<code>-r                 遞歸處理,将指定目錄下的檔案與子目錄一并處理。若源檔案或目錄的形态,不屬于目錄或符号連結,則一律視為普通檔案處理</code>

<code> </code> 

<code>-R 或 --recursive   遞歸處理,将指定目錄下的檔案及子目錄一并處理</code>

<code>-s 或 --symbolic-link  對源檔案建立符号連結,而非複制檔案</code>

<code>-S &lt;備份字尾字元串&gt; 或 --suffix=&lt;備份字尾字元串&gt; 用</code><code>"-b"</code><code>參數備份目的檔案後,備份檔案的字尾會被加上一個備份字元串。預設的備份字尾符串是符号</code><code>"~"</code>

<code>-u 或 --update      使用這項參數之後,隻會在源檔案的修改時間(Modification Time)較目的檔案更新時,或是名稱互相對應的目的檔案并不存在,才複制檔案</code>

<code>-</code><code>v</code> <code>或 --verbose     顯示執行過程</code>

常用參數,舉例說明 

複制檔案

cp /etc/passwd /root/test/

檢視檔案屬性資訊

 ll /etc/passwd

-rw-r--r-- 1 root root 1058 Jan 18 18:01 /etc/passwd

ll /root/test/passwd 

-rw-r--r-- 1 root root 1058 Jan 25 09:22 passwd

複制檔案并保留檔案的屬性資訊

 cp -p /etc/passwd /root/test/

<a href="http://s4.51cto.com/wyfs02/M01/8D/1C/wKioL1iH_z6i5xBdAABBdVO4jdA176.jpg-wh_500x0-wm_3-wmp_4-s_589932649.jpg" target="_blank"></a>

複制檔案夾内的所有檔案,包括檔案目錄

cp -r /etc/ /root/test/

<a href="http://s2.51cto.com/wyfs02/M02/8D/1E/wKiom1iIAC2hS-dbAAAxXYS0fl0461.jpg-wh_500x0-wm_3-wmp_4-s_2593982474.jpg" target="_blank"></a>

複制檔案夾内的所有檔案,不包括檔案目錄

<a href="http://s1.51cto.com/wyfs02/M02/8D/1C/wKioL1iIAO7Qi9kDAACo-vPnVU4489.jpg-wh_500x0-wm_3-wmp_4-s_2429232266.jpg" target="_blank"></a>

複制檔案并備份原有的檔案  

mkdir test1 test2

cat test1/1.txt 

this file is blong to test1 

cat test2/1.txt 

this  file is belong to test2

将test1 中 的1.txt 檔案複制到 test2 的檔案夾裡面,并備份test2檔案夾裡面的1.txt 

cp -b -S 1_bak /root/test1/1.txt /root/test2/1.txt

指令解釋

解釋:将/root/test1/1.txt  拷貝到  /root/test2/ 這裡 同時将/root/test2/檔案夾裡面的

txt 備份為1.txt.bak  (源檔案字尾加上1_bak )

 cat /root/test2/1.txt

this file is blong to test1

l /root/test2/

total 8

-rw-r--r-- 1 root root 28 Jan 25 10:07 1.txt

-rw-r--r-- 1 root root 30 Jan 25 09:57 1.txt1_bak

cat /root/test2/1.txt

[root@VM_71_179_centos test2]# cat /root/test2/1.txt1_bak (備份後的檔案源檔案)

本文轉自 水滴石川1 51CTO部落格,原文連結:http://blog.51cto.com/sdsca/1894146,如需轉載請自行聯系原作者

繼續閱讀