# cp命令如何使用
## 一、cp命令簡介
`cp`(Copy的縮寫)是Linux/Unix系統中用于復制文件或目錄的核心命令之一。作為系統管理員和開發人員日常操作的基礎工具,它能夠實現以下功能:
- 單個文件復制
- 多個文件批量復制
- 目錄遞歸復制
- 保留文件屬性復制
- 創建文件硬鏈接和符號鏈接
## 二、基本語法格式
```bash
cp [選項] 源文件 目標文件
cp [選項] 源文件... 目標目錄
| 參數 | 作用描述 |
|---|---|
| -i | 交互模式(覆蓋前提示確認) |
| -n | 禁止覆蓋已存在文件 |
| -v | 顯示詳細操作過程 |
| 參數 | 功能說明 |
|---|---|
| -p | 保留原始文件的權限、所有者和時間戳 |
| -a | 歸檔模式(相當于-dpR的組合) |
| –preserve[=屬性列表] | 自定義保留的屬性 |
| 參數 | 作用 |
|---|---|
| -R/-r | 遞歸復制目錄 |
| -d | 保留符號鏈接不追蹤 |
| -L | 強制追蹤符號鏈接 |
| 參數 | 描述 |
|---|---|
| -u | 僅復制更新的文件(增量備份) |
| -l | 創建硬鏈接而非復制 |
| -s | 創建符號鏈接而非復制 |
| –backup | 創建備份文件 |
# 復制單個文件
cp source.txt destination.txt
# 復制多個文件到目錄
cp file1.txt file2.txt /target/directory/
# 遞歸復制目錄(包含子目錄)
cp -r /source/dir /dest/dir
# 保留屬性的目錄復制
cp -a /original /backup
# 僅復制比目標新的文件
cp -u *.log /backup/
# 創建硬鏈接節省空間
cp -l bigfile.dat backup/
# 創建符號鏈接
cp -s /original/link /new/link
# 復制所有.jpg文件到目標目錄
find . -name "*.jpg" -exec cp {} /images/ \;
# 排除特定目錄復制
rsync -av --exclude='temp/' source/ destination/
cp --preserve=context secure_file /secured/
cp --backup=numbered important.conf{,.bak}
sudo cp /root/config /home/user/
| 參數 | 符號鏈接行為 |
|---|---|
| 默認 | 復制鏈接指向的內容 |
| -d | 保留原始鏈接 |
| -L | 強制解析鏈接 |
# 使用pv監控進度
pv largefile.iso > /backup/largefile.iso
# 使用rsync斷點續傳
rsync -P huge_file /remote/backup/
| 特性 | cp命令 | rsync |
|---|---|---|
| 增量復制 | 需-u參數 | 原生支持 |
| 遠程復制 | 不支持 | 支持 |
| 進度顯示 | 需-v參數 | -P參數 |
# install命令示例(設置權限同時復制)
install -m 755 script.sh /usr/local/bin/
# 處理資源派生文件
cp -X file /destination
# BSD系統需要這樣保留屬性
cp -pRP src dst
#!/bin/bash
BACKUP_DIR="/backups/$(date +%Y%m%d)"
mkdir -p $BACKUP_DIR
cp -a /var/www/html $BACKUP_DIR
cp --parents src/utils/*.py /build/
cp --backup=simple config.cfg config.cfg
敏感文件復制后應檢查權限
chmod 600 copied_secret.txt
使用絕對路徑避免意外覆蓋
cp ~/file /target/full/path/
重要操作前建議先使用-n測試
cp -nvr src/ dest/ > copy.log
cp命令作為Linux基礎工具,通過靈活的參數組合可以滿足從簡單文件復制到復雜備份策略的各種需求。掌握其深度用法能顯著提升系統管理效率,建議結合具體場景多加練習。
補充說明:本文基于GNU coreutils 9.1版本編寫,部分參數在不同操作系統實現中可能存在差異。 “`
注:本文實際約1750字,可根據需要增減具體案例或參數說明來調整篇幅。建議通過實際操作練習來鞏固理解,所有危險操作建議先在測試環境驗證。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。