cp命令可以用來復制拷貝文件和目錄
#常用命令選項
默認覆蓋
-r/R 遞歸
-l 拷貝硬鏈接
-s 軟鏈接(不支持文件夾目錄)
-n 不覆蓋(使前面的-i失效)
-i,--interactive 交互模式(使前面的-n失效)
-a,--archive 原樣復制,保留全部(包括mtime,atime,文件的所有者,權(quán)限等)
-L,--dereference 跟隨符號鏈接(默認)
-P,--no-dereference 不跟隨符號鏈接,也就是只拷貝符號鏈接,不拷貝符號鏈接指向的實際文件
-v 顯示詳細信息
-u,--update 當源文件比較新時復制
-b 同名文件會以~結(jié)尾備份
--remove-destination 復制前先刪除
-f 如果目標文件不能打開,那么先刪除再復制(-n參數(shù)會使-f失效)
例子:
#復制并覆蓋當前bbb文件為/tmp/aaa文件
cp bbb /tmp/aaa
#復制并覆蓋當前所有可見文件和目錄到/tmp/aaa目錄下
cp -r * /tmp/aaa
#復制并覆蓋當前所有文件和目錄到/tmp/aaa目錄下(包括隱藏文件)
cp -r . /tmp/aaa
#復制不覆蓋當前所有文件和目錄到/tmp/aaa目錄下(包括隱藏文件)
cp -rn . /tmp/aaa
#原樣復制并覆蓋當前所有可見文件和目錄到/tmp/aaa目錄下
cp -ar * /tmp/aaa
#生成軟連接bbb指向aaa
cp -s aaa bbb
總結(jié):
很多發(fā)行版可能已經(jīng)設(shè)置了命令別名linux命令,比如本人的centos7通過alias命令查看將會看到這么一句alias%20cp='cp%20-i'linux命令,所以當我們使用cp命令時(其實相當于使用cp%20-i)如果目標文件已經(jīng)存在,則會提示你而不會直接覆蓋。
但是在很多場景下我們都希望直接覆蓋而不是提示
則可以臨時取消命令別名
unalias cp #刪除命令別名
cp -r * /tmp/aaa/ #復制當前所有到/tmp/aaa/下并覆蓋
alias cp='cp -i' #重新生成命令別名
上面的這些例子已經(jīng)能應(yīng)付大部分場景了,更多詳細用法請通過命令man cp自行查閱
上一個教程:Linux 命令1 | 歌哥居士 | 簡書
下一個教程:Linux time命令