原文地址http://www.daileinote.com/computer/linux_cmd/09
cp命令可以用來(lái)復(fù)制拷貝文件和目錄
#常用命令選項(xiàng)
默認(rèn)覆蓋
-r/R 遞歸
-l 拷貝硬鏈接
-s 軟鏈接(不支持文件夾目錄)
-n 不覆蓋(使前面的-i失效)
-i,--interactive 交互模式(使前面的-n失效)
-a,--archive 原樣復(fù)制,保留全部(包括mtime,atime,文件的所有者,權(quán)限等)
-L,--dereference 跟隨符號(hào)鏈接(默認(rèn))
-P,--no-dereference 不跟隨符號(hào)鏈接,也就是只拷貝符號(hào)鏈接,不拷貝符號(hào)鏈接指向的實(shí)際文件
-v 顯示詳細(xì)信息
-u,--update 當(dāng)源文件比較新時(shí)復(fù)制
-b 同名文件會(huì)以~結(jié)尾備份
--remove-destination 復(fù)制前先刪除
-f 如果目標(biāo)文件不能打開(kāi),那么先刪除再?gòu)?fù)制(-n參數(shù)會(huì)使-f失效)
例子:
#復(fù)制并覆蓋當(dāng)前bbb文件為/tmp/aaa文件
cp bbb /tmp/aaa
#復(fù)制并覆蓋當(dāng)前所有可見(jiàn)文件和目錄到/tmp/aaa目錄下
cp -r * /tmp/aaa
#復(fù)制并覆蓋當(dāng)前所有文件和目錄到/tmp/aaa目錄下(包括隱藏文件)
cp -r . /tmp/aaa
#復(fù)制不覆蓋當(dāng)前所有文件和目錄到/tmp/aaa目錄下(包括隱藏文件)
cp -rn . /tmp/aaa
#原樣復(fù)制并覆蓋當(dāng)前所有可見(jiàn)文件和目錄到/tmp/aaa目錄下
cp -ar * /tmp/aaa
#生成軟連接bbb指向aaa
cp -s aaa bbb
總結(jié):
很多發(fā)行版可能已經(jīng)設(shè)置了命令別名夸浅,比如本人的centos7通過(guò)alias命令查看將會(huì)看到這么一句alias cp='cp -i'八毯,所以當(dāng)我們使用cp命令時(shí)(其實(shí)相當(dāng)于使用cp -i)如果目標(biāo)文件已經(jīng)存在来庭,則會(huì)提示你而不會(huì)直接覆蓋橄霉。
但是在很多場(chǎng)景下我們都希望直接覆蓋而不是提示
則可以臨時(shí)取消命令別名
unalias cp #刪除命令別名
cp -r * /tmp/aaa/ #復(fù)制當(dāng)前所有到/tmp/aaa/下并覆蓋
alias cp='cp -i' #重新生成命令別名