Linux基础命令cp

一、基础选项

​**-a / --archive**
​功能:递归复制目录并保留所有属性(权限、时间戳、所有权等),等同于 -dR --preserve=all。
​示例:cp -a /source /destination → 保留 /source 的目录结构及文件属性。
​**-d / --dereference**
​功能:复制符号链接本身而非其指向的文件。
​示例:cp -d link.txt new_link.txt → new_link.txt 仍为符号链接。
​**-f / --force**
​功能:强制覆盖目标文件,忽略错误(如权限不足)。
​注意:与 -n 选项冲突,-n 会覆盖 -f 的行为。
​**-i / --interactive**
​功能:覆盖前提示用户确认,防止误操作。
​示例:cp -i file.txt new_file.txt → 若 new_file.txt 已存在,会提示 overwrite?。
​**-l / --link**
​功能:创建硬链接而非复制文件。
​示例:cp -l original.txt link.txt → link.txt 是 original.txt 的硬链接。
​**-p / --preserve**
​功能:保留源文件的权限、所有权、时间戳等属性。
​扩展:–preserve=all 还可保留 SELinux 上下文、扩展属性等。

​二、递归与链接处理

​**-r / -R / --recursive**
​功能:递归复制目录及其子目录和文件。
​示例:cp -r /source_dir /dest_dir → 复制整个目录树。
​**-L / --dereference**
​功能:始终跟随符号链接,复制链接指向的实际文件。
​对比:-L 与 -d 作用相同,但 -d 是旧版语法。
​**-H / --dereference-command-line**
​功能:在命令行参数中的符号链接也会被解析。
​示例:cp -H link.txt /dest → 复制 link.txt 指向的文件。

​三、属性保留与备份

​**–attributes-only**
​功能:仅复制文件属性(如权限),不复制数据内容。
​适用场景:批量修改文件权限或时间戳。
​**–backup**
​功能:覆盖前自动备份目标文件,支持多种备份策略。
​策略:
numbered(默认):备份文件名后加 ~。
simple:备份文件名后加 ~(若无编号备份)。
off:不备份。
​**-b / --backup**
​功能:类似 --backup,但备份文件名后加 ~。
​示例:cp -b file.txt new_file.txt → 若 new_file.txt 已存在,备份为 new_file.txt~。

​四、覆盖控制与更新

​**-n / --no-clobber**
​功能:不覆盖已存在的目标文件,与 -i 效果类似。
​示例:cp -n file.txt new_file.txt → 若 new_file.txt 存在,跳过复制。
​**-u / --update**
​功能:仅当源文件比目标文件新或目标文件不存在时才复制。
​适用场景:增量备份或同步更新。

​五、高级选项

​**–reflink**
​功能:启用 CoW(Copy-On-Write)技术,仅复制数据块差异。
​参数:
always:强制使用 CoW。
auto:自动判断是否支持。
never:禁用 CoW。
​**–sparse**
​功能:优化稀疏文件的存储,减少磁盘占用。
​示例:cp --sparse=always large_file.txt sparse_file.txt。
​**–version-control**
​功能:指定备份文件的命名方式(如 numbered、simple)。
​示例:cp --version-control=simple file.txt backup/。

​六、组合使用示例

​递归复制并保留属性
bash
cp -a /source /destination # 保留权限、时间戳、目录结构1,2,6
​强制覆盖并显示详细过程
bash
cp -f -v file.txt new_file.txt # 覆盖并输出每一步操作5,7
​增量备份
bash
cp -u *.log /backup/ # 仅复制修改过的日志文件2,7

​七、注意事项

​权限问题
若目标目录无写权限,需使用 sudo:
bash
sudo cp -r /source /destination # 提升权限3,6
​符号链接处理
默认行为(-P)会复制链接本身,使用 -L 可解析链接。
​备份文件冲突
若备份文件名与现有文件冲突,–backup 会自动重命名。
​引用说明
选项功能与示例:
SELinux 与 CoW 技术:
如需查看完整手册,可通过 man cp 或 cp --help 获取详细信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值