cp
是 Linux/Unix 系统中用于 复制文件或目录 的核心命令,其名称来源于 copy 的缩写。以下是它的主要用途和功能详解:
复制文件
cp 源文件 目标文件
源文件
复制到 目标文件
(若目标已存在则覆盖)。复制到目录
cp 文件1 文件2 目标目录/
目标目录
中,保留原文件名。递归复制目录(需 -r
或 -a
参数)
cp -r 源目录/ 目标目录/
参数 | 作用 |
---|---|
-i |
覆盖前提示确认(交互模式) |
-n |
不覆盖已存在的文件 |
-u |
仅复制源比目标更新的文件 |
-v |
显示复制过程(verbose) |
-p |
保留原文件的权限、时间戳等属性 |
-a |
归档模式(相当于 -rp ,保留所有元数据) |
-l |
创建硬链接而非复制文件(节省空间) |
-s |
创建符号链接(软链接)而非复制 |
备份文件
cp -a /data/config.conf /backup/config.conf.bak
更新目录内容
cp -u ~/downloads/*.iso /media/backup/
安全复制(防覆盖)
cp -i important.txt /tmp/
/tmp/important.txt
存在,会提示确认。复制软链接本身(而非目标文件)
cp -P symlink.txt dest/
-i
或 -n
。-r
参数,否则会报错。Permission denied
。find
选择性复制bash
find . -name "*.log" -exec cp {} /backup/ \;
rsync
替代(支持增量复制)bash
rsync -av 源目录/ 目标目录/
掌握 cp
命令能高效完成文件管理任务,是 Linux 用户必备技能!