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為目標文件夾