cp 源文件 目标文件
,cp file1.txt file2.txt
将file1复制为新文件file2。核心命令:cp
cp
(copy)是Linux最常用的复制命令,语法如下:
cp [选项] 源文件 目标路径
常用选项及示例
-
基础复制
cp file.txt /backup/ # 将file.txt复制到/backup目录
-
递归复制目录(
-r
或-R
)cp -r my_folder/ /backup/ # 复制my_folder及其子内容到/backup
-
保留文件属性(
-p
)
保留权限、时间戳等元数据:cp -p config.conf /backup/ # 复制并保留原始属性
-
交互模式(
-i
)
覆盖前提示确认,避免误操作:cp -i old.txt new.txt # 若new.txt存在,会询问是否覆盖
-
强制覆盖(
-f
)
跳过提示直接覆盖(慎用):cp -f source.txt destination.txt
-
显示详细过程(
-v
)cp -rv data/ backup/ # 递归复制并显示每个文件路径
高级复制工具:rsync
rsync
适用于远程同步、增量备份(仅传输变化部分),语法:
rsync [选项] 源路径 目标路径
关键场景
-
本地增量复制
rsync -avh /home/user/docs/ /backup/docs/ # -a:归档模式 -v:详细输出 -h:易读格式
-
同步到远程服务器
rsync -avz -e ssh /local_dir/ user@remote_host:/remote_dir/ # -z:压缩传输
特殊场景命令
-
install
:复制并设置权限
常用于安装脚本:install -m 755 script.sh /usr/local/bin/ # 复制并赋予755权限
-
dd
:块级复制(如磁盘克隆)dd if=/dev/sda of=/dev/sdb bs=4M status=progress # 克隆整个磁盘(谨慎操作!)
关键注意事项
-
覆盖风险
cp
默认静默覆盖文件!建议始终搭配-i
选项(可通过别名永久设置):alias cp='cp -i' # 加入~/.bashrc文件
-
权限问题
- 复制需对源文件有读权限,对目标路径有写权限。
- 使用
sudo
复制系统文件:sudo cp /etc/conf /backup/
-
符号链接处理
cp -L
复制链接指向的实际文件(而非链接本身)。
最佳实践总结
场景 | 推荐命令 | 示例 |
---|---|---|
单文件/目录复制 | cp -rp |
cp -rp data/ backup/ |
增量备份/远程同步 | rsync -avz |
rsync -avz src/ user@host:dst/ |
安装文件(带权限) | install |
install -m 640 file.conf /etc/ |
磁盘克隆 | dd |
dd if=input.img of=/dev/sdX |
⚠️ 重要提示:
- 操作前用
ls
确认目标路径,避免误覆盖。- 对关键数据先备份再执行复制操作。
- 使用
man cp
或rsync --help
查阅官方文档。
引用说明: 参考Linux核心工具手册(GNU coreutils)、man
命令官方文档及IBM Linux开发者指南,实践建议基于Linux Filesystem Hierarchy Standard (FHS) 和运维安全规范。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/45965.html