cp 命令參數以及覆蓋與不覆蓋


1.參數詳解

cp (復制檔案或目錄)

[root@linux ~]# cp [-adfilprsu] 來源檔(source) 目的檔(destination)
[root@linux ~]# cp [options] source1 source2 source3 .... directory
參數:
-a   :相當於 -pdr 的意思;
-d   :若來源文件為連結文件的屬性(link file),則復制連結文件屬性而非檔案本身;
-f   :為強制 (force) 的意思,若有重復或其它疑問時,不會詢問使用者,而強制復制;
-i   :若目的檔(destination)已經存在時,在覆蓋時會先詢問是否真的動作!
-l   :進行硬式連結 (hard link) 的連結檔建立,而非復制檔案本身;
-p   :連同檔案的屬性一起復制過去,而非使用預設屬性;
-r   :遞歸持續復制,用於目錄的復制行為;
-s   :復制成為符號連結文件 (symbolic link),亦即『快捷方式』檔案;
-u   :若 destination 比 source 舊才更新 destination !
最后需要注意:
1)如果來源檔有兩個以上,則最后一個目的文件一定要是『目錄』才行!
2)由於 cp 有種種的檔案屬性與權限的特性,所以,在復制時,您必須要清楚的了解到: 
• 是否需要完整的保留來源檔案的信息? 
• 來源檔案是否為連結檔 (symbolic link file)? 
• 來源檔是否為特殊的檔案,例如 FIFO, socket 等? 
• 來源文件是否為目錄?

 

2.cp覆蓋目標文件

shell>cp -Rf a1 a2

3.cp不覆蓋目標文件

shell>awk 'BEGIN { cmd="cp -ri a1/* a2/"; print "n" |cmd; }'
注:a1為原文件夾,a2為目標文件夾


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM