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 <備份字尾字元串> 或 --suffix=<備份字尾字元串> 用</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,如需轉載請自行聯系原作者