cp
cp
(copy)是 Linux 中最常用的复制命令,适用于文件和目录的复制操作。
-
复制单个文件
cp [选项] 源文件路径 目标路径
示例:
cp /home/user/document.txt /backup/ # 将文件复制到 /backup 目录 cp report.pdf ~/documents/ # 复制到当前用户 documents 目录
-
复制多个文件到目录
cp file1.txt file2.jpg /target_dir/ # 复制多个文件到目标目录
-
复制目录(递归复制)
使用-r
或-R
参数复制目录及其内容:cp -r /var/www/my_site /backup/ # 递归复制整个目录
-
保留文件属性
使用-a
或-p
保留权限、时间戳等元数据:cp -a /source/dir /backup/ # 归档模式,保留所有属性
高级选项与场景
选项 | 作用 | 示例 |
---|---|---|
-i |
覆盖前提示确认 | cp -i file.txt /backup/ |
-v |
显示复制详情(verbose) | cp -rv data/ /backup/ |
-u |
仅更新(目标不存在/更旧) | cp -u *.log /archive/ |
-l |
创建硬链接而非复制 | cp -l original.txt link.txt |
-s |
创建符号链接(软链接) | cp -s /path/original link_name |
图形界面复制(GUI)
CentOS 6 默认使用 GNOME 2 桌面环境:
- 打开 文件浏览器(Nautilus)
- 右键点击文件/目录 → 选择 “复制”
- 进入目标位置 → 右键 → “粘贴”
替代工具:rsync
(远程/增量复制)
适用于大型数据或网络复制,需安装 rsync
包:
yum install rsync # 安装命令 rsync -av /source/ /dest/ # 本地复制(保留属性、显示进度) rsync -avz user@remote:/data/ /local_backup/ # 从远程服务器复制
重要注意事项
- 权限问题:
- 复制系统文件需
root
权限,命令前加sudo
:sudo cp /etc/config.conf /backup/
- 复制系统文件需
- 覆盖风险:
- 目标路径存在同名文件时,
cp
会静默覆盖,建议用-i
或备份数据。
- 目标路径存在同名文件时,
- 符号链接处理:
- 默认复制链接指向的文件(非链接本身),用
-d
保留链接:cp -d symlink /backup/ # 复制链接本身
- 默认复制链接指向的文件(非链接本身),用
常见问题解答(FAQ)
Q1: 如何复制隐藏文件(如 .config
)?
cp -r /home/user/.config /backup/ # -r 可复制隐藏文件
Q2: 复制时报错 “Permission denied” 怎么办?
- 检查读写权限:
ls -l 源文件 目标目录
- 使用
sudo
提权(谨慎操作)或修改目标目录权限。
Q3: 如何复制时重命名文件?
cp old_name.txt /path/new_name.txt # 目标路径包含新文件名
安全操作建议
- 关键操作前备份:
cp -a important_data/ important_data_backup/ # 归档模式备份
- 使用
rsync
验证完整性:rsync -c /source/ /dest/ # -c 选项通过校验和检查文件一致性
引用说明:
本文命令基于 CentOS 6 官方文档及 GNU Coreutils 标准工具集,参考资源包括:
- CentOS 6 官方手册(已归档,可通过 CentOS Archive 访问)
- IBM Linux 命令参考(cp 命令指南)
- Rsync 官方文档(https://rsync.samba.org/documentation.html)
操作前请确认系统版本:cat /etc/redhat-release
。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5585.html