在Ubuntu系統中,cp(全稱“copy”)是一個非常基礎且常用的命令,用於複製文件或目錄。無論是日常備份文件,還是創建文件的副本,cp命令都能幫你輕鬆完成。接下來,我們就一步步學習如何使用它。
一、cp命令的基本作用¶
簡單來說,cp命令的核心功能是複製文件或目錄。它可以將一個或多個文件/目錄從“源位置”複製到“目標位置”,而不會刪除源文件(與mv命令不同,mv是移動文件)。
二、最基礎的用法¶
cp命令的基本格式很簡單:
cp 源文件/目錄 目標位置
- 源文件/目錄:你要複製的文件或目錄(可以是一個或多個)。
- 目標位置:複製後的文件/目錄要存放的位置(可以是目錄或新文件名)。
三、常用參數(讓複製更靈活)¶
cp命令有一些常用參數,能幫我們處理特殊場景,比如確認覆蓋、複製目錄等。初學者先掌握以下幾個:
| 參數 | 作用 | 示例 |
|---|---|---|
-i |
交互式複製,覆蓋前提示確認(避免誤操作) | cp -i 源文件 目標目錄 |
-r |
遞歸複製目錄(必須加!複製目錄時不能少) | cp -r 源目錄 目標目錄 |
-v |
顯示詳細複製過程(方便觀察) | cp -v 源文件 目標目錄 |
四、實際場景舉例¶
通過具體例子理解cp的用法,更直觀:
1. 複製單個文件到當前目錄¶
如果你想把當前目錄下的test.txt複製到當前目錄(相當於創建副本),直接寫:
cp test.txt .
- 這裏的
.表示“當前目錄”,也可以省略(直接寫cp test.txt),但明確寫.更清晰。
2. 複製文件到指定目錄¶
把test.txt複製到當前目錄下的docs文件夾中(假設docs已存在):
cp test.txt docs/
- 如果
docs不存在,會報錯“沒有那個文件或目錄”,此時需要先創建docs目錄(mkdir docs)。
3. 複製多個文件到目錄¶
如果要複製多個文件到同一個目錄,直接把文件名依次列出:
cp file1.txt file2.txt docs/
- 這會把
file1.txt和file2.txt都複製到docs目錄下。
4. 複製目錄(必須加-r!)¶
複製目錄時,必須加-r參數(否則會報錯“不是目錄”)。例如,把docs目錄複製到backup目錄:
cp -r docs/ backup/
- 如果
backup不存在,cp -r會自動創建backup目錄,並把docs的內容複製進去。
5. 覆蓋已有文件時確認(用-i)¶
如果目標目錄中已有同名文件,cp默認會直接覆蓋(可能導致數據丟失)。加上-i參數後,會先詢問是否覆蓋:
cp -i test.txt docs/
- 執行後會提示:
docs/test.txt: 目標文件已存在。是否覆蓋 (y/n)?,輸入y確認,n取消。
6. 顯示覆制過程(用-v)¶
如果想知道複製的具體步驟,用-v參數可以顯示詳細信息:
cp -v test.txt docs/
- 輸出會像這樣:
‘test.txt’ -> ‘docs/test.txt’,清晰看到複製的路徑。
五、注意事項¶
-
目錄複製必須加
-r:
複製目錄時忘記加-r,會提示“cp: omitting directory”(忽略目錄),導致複製失敗。 -
目標文件存在時的風險:
不加-i參數時,cp會直接覆蓋目標文件(尤其是同名文件)。建議養成用-i確認的習慣,避免誤刪。 -
複製隱藏文件:
Ubuntu中的隱藏文件(以.開頭,如.bashrc)也可以直接複製,和普通文件一樣:
cp .bashrc ~/backup/ # 複製隱藏文件到backup目錄
- 目標目錄不存在時的處理:
如果目標目錄不存在,cp -r 源目錄 新目錄會自動創建新目錄並複製內容;如果不用-r,則無法複製目錄。
六、總結¶
cp命令是Ubuntu中複製文件/目錄的核心工具,掌握以下關鍵點就能靈活使用:
- 基礎格式:cp 源 目標
- 目錄複製必須加-r
- 覆蓋前用-i確認,避免誤操作
- 用-v查看複製過程,更清晰
多練習幾個場景(比如複製多個文件、目錄嵌套複製),很快就能熟練掌握!