Linux中的cp命令详解
cp是Linux系统中用于复制文件或目录的核心命令,其名称源于"copy"。它通过创建源文件/目录的副本来实现数据备份、迁移或重复使用。
一、基础语法
cp [选项] 源文件 目标路径
- 源文件:被复制的文件或目录路径
- 目标路径:副本的存储位置(文件或目录)
二、常用选项
| 选项 | 功能说明 |
|---|---|
-r | 递归复制目录(必需用于目录) |
-i | 覆盖前提示确认 |
-v | 显示复制过程详情 |
-p | 保留文件属性(权限/时间戳) |
-u | 仅复制更新的文件(增量备份) |
-a | 归档模式(等效于-rp) |
三、典型使用场景
-
文件复制
cp document.txt ~/backups/ # 复制文件到备份目录 -
目录复制(需
-r选项)cp -r photos/ /mnt/external/ # 递归复制整个目录 -
批量复制
cp *.log /var/log/archive/ # 复制所有日志文件 -
保留元数据
cp -p config.conf backup/ # 保留原始权限和时间戳
四、注意事项
-
覆盖风险:目标路径存在同名文件时默认静默覆盖,建议搭配
-i选项:cp -i source.txt existing.txt # 提示: overwrite 'existing.txt'? -
特殊文件处理:
- 符号链接:默认复制链接本身(非目标文件),加
-L复制实际文件 - 设备文件:需使用
-a保留特殊属性
- 符号链接:默认复制链接本身(非目标文件),加
-
通配符规则:
cp dir1/* dir2/ # 仅复制dir1内容到dir2(不含隐藏文件) cp dir1/.* dir2/ # 专门复制隐藏文件
扩展技巧:结合
find实现条件复制find . -name "*.jpg" -exec cp {} /images/ \; # 复制所有JPG文件
通过灵活组合选项,cp可满足从简单文件备份到复杂数据迁移的全场景需求。

被折叠的 条评论
为什么被折叠?



