linux 命令 cp
cp
是 Linux 中用于复制文件和目录的命令,基本功能是将源文件或目录复制到目标位置
基本语法
cp [选项] 源文件 目标文件
cp [选项] 源文件1 源文件2 ... 目标目录
常用选项
选项 | 说明 |
---|---|
-i | 交互模式(覆盖前询问确认) |
-r 或 -R | 递归复制目录(复制目录及其内容) |
-v | 显示详细操作过程(Verbose) |
-p | 保留文件属性(权限、时间戳等) |
-a | 归档模式(相当于 -dpR ,保留所有信息) |
-f | 强制覆盖目标文件(忽略提示) |
-u | 仅复制源中比目标新的文件(Update) |
-l | 创建硬链接而非复制文件(节省空间) |
-s | 创建符号链接(软链接)而非复制文件 |
常见用法示例
复制单个文件到目标文件
cp a.txt backup/
复制多个文件到目录
cp file1.txt file2.txt /path/to/destination/
递归复制目录(包括子目录和文件)
cp -r my_folder/ backup/
保留文件属性(权限、时间戳等)
cp -p source.txt destination/
交互模式(覆盖前询问)
cp -i *.txt /backup/
仅复制新文件(避免覆盖旧版本)
cp -u source/*.log /backup/
创建符号链接(软链接)而非复制文件
cp -s /path/to/original link_name
注意事项
-
覆盖风险:默认情况下,
cp
会直接覆盖目标文件(无提示)。使用-i
选项可开启确认提示。 -
目录复制:复制目录时,必须使用
-r
或-R
选项,否则会报错。 -
权限问题:若目标目录无写入权限,操作会失败(需
sudo
提权)。 -
符号链接处理:默认复制链接指向的文件,而非链接本身。使用
-d
或-a
可保留链接。
其他
结合通配符:复制所有 .txt
文件到目标目录:
cp *.txt /backup/
结合 find
命令:复制所有 7 天内的文件:
find /source -type f -mtime -7 -exec cp {} /backup/ \;