cp命令作用:拷貝文件和目錄
一、格式
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
二、解釋說明
如果源是一個文件,目標也是一個文件,則覆蓋這個文件
如果源是一個文件,目標文件不存在,則創建新文件並命名
如果源是一個文件,目標示一個目錄,則復制源到目標目錄中,保持原名字
如果源是多個文件,目標是一個文件,失敗
如果源是多個文件,目標是目錄,則復制到目標目錄
如果源是多個文件,目標目錄不存在,失敗
如果源是一個目錄,目標是一個文件且存在,失敗
如果源是一個目錄,目標目錄xxx不存在,創建新目錄xxx
如果源是一個目錄,目標目錄存在,復制源目錄至目標目錄中,成為子目錄,且保持原名
三、查用選項OPTION
cp -r 遞歸,可復制目錄,如果復制目錄必須加此選項
cp -R 復制目錄
cp -i 交互式,會提醒用戶是否覆蓋,linux默認的別名中已開啟此功能
cp -f 強行
cp -p 保留權限、屬主、時間戳
cp -d 默認copy鏈接文件是復制鏈接指向的源文件,-d 復制鏈接文件本身
cp -L 保存鏈接所指向的文件,默認cp 就是,不需要-L
cp -a 歸檔復制,常用於備份,相當於cp -dr --preserve=all
cp -v 復制過程可見
cp -s 創建新的符號鏈接文件,指向原符號鏈接文件,能保證鏈接文件可以使用
cp -u 只復制更新的文件
--backup 如果有目標文件,覆蓋的時候會將覆蓋前的源目標文件改名為xxx~,然后再把新文件進行覆蓋
--backup=numbered 如果有目標文件,覆蓋的時候會將源目標文件創建新的文件並加上序號
--preserve[=ATTR_LIST] preserve the specified attributes (default:mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all
四、示例
1、把目錄中的隱藏文件和非隱藏文件,都復制到指定目錄的方法,不創建新目錄或子目錄
# cp -r /etc/skel/. /home/test
2、只復制目錄中的隱藏文件
# cp -r /etc/skel/.[^.]* /home/test