cp:復制文件或目錄
阿新 • • 發佈:2018-12-24
block oot 用戶 分享 -i centos 系統 執行c oss 源文件 【功能說明】
cp命令可以理解為英文單詞copy的縮寫,其功能為復制文件或目錄
【語法格式】
cp [option] [source] [dest]
cp [選項] [源文件] [目標文件]
【選項說明】
參數選項 | 解釋說明(帶*的為重點) |
---|---|
-p | 復制文件時保持文件的所有者、權限信息及時間屬性 |
-d | 如果復制的源文件是符號鏈接,那麽僅復制符號鏈接本身,而且保留符號鏈接所指向的目標文件或目錄 |
-r | 遞歸復制目錄,即復制目錄下的所有層級的子目錄及文件 |
-a | 等同於上面的p、d、r 這3個選項功能的總和 <font color=#0099f6>*</font> |
-i | 覆蓋已有文件前提示用戶確認 |
-t | 默認情況下命令格式是“cp 源文件 目標文件”,使用-t參數可以顛倒順序,格式變為“cp -t 目標文件 源文件” |
使用範例
1.基礎範例
- 無參數和帶參數 -a 的比較
可以發現使用 -a 參數復制時,文件的時間屬性沒有改變,-a的參數功能包含-p參數保持文件屬性的功能。
- -i 參數的例子
[root@tianakong test]# cp -i file1.txt file5.txt # <==使用-i參數復制文件,會提示是否覆蓋文件 cp: overwrite `file5.txt‘? [root@tianakong test]# cp file1.txt file5.txt #<== 不使用 -i 參數一樣的結果,為什麽呢? cp: overwrite `file5.txt‘? [root@tianakong test]# alias cp #<==原因是系統為cp命令默認設置了別名 alias cp=‘cp -i‘
CentOS 系統默認為cp命令設置了別名,即增加了-i的參數。但是在Shell腳本中執行cp時,若沒有-i參數,則並不會詢問是否覆蓋。這是因為命令行和Shell腳本執行時的環境變量不同,不過在腳本中一般使用命令的全路徑。
cp:復制文件或目錄