cp
是 Linux 中用于复制文件或目录的核心命令,功能强大且灵活。以下是详细使用方法及示例:
cp [选项] 源文件 目标文件
cp [选项] 源文件... 目标目录
选项 | 作用 |
---|---|
-i |
覆盖前提示确认(交互模式) |
-r /-R |
递归复制目录(必选项) |
-v |
显示复制过程(verbose) |
-u |
仅复制源比目标新/不存在的文件(更新模式) |
-p |
保留原文件属性(权限、时间戳等) |
-a |
归档模式(相当于 -rp ,保留所有信息) |
-l |
创建硬链接而非复制(节省空间) |
-s |
创建符号链接(软链接) |
cp file.txt /backup/ # 复制到目录,保留原名
cp file.txt /backup/new.txt # 复制并重命名
-r
)cp -r dir1/ /backup/ # 递归复制目录
cp -a dir1/ /backup/ # 保留所有属性复制
cp *.jpg /images/ # 复制所有.jpg文件到目录
cp -i file.txt /existing/ # 覆盖前询问
\cp file.txt /existing/ # 强制覆盖(忽略别名提示)
cp -p important.txt /backup/ # 保留原属性
cp -u *.log /backup/ # 仅复制比目标更新的文件
结合 find
复制特定文件:
find . -name "*.conf" -exec cp {} /backup/ \;
排除特定文件(需结合 rsync
):
rsync -av --exclude='temp/' dir1/ /backup/
复制软链接本身(非指向文件):
cp -P link /backup/ # 保留软链接
-a
保留属性。rsync
(支持断点续传)。遇到具体场景可进一步提问,例如如何排除子目录等!