cp — 复制文件或目录

cp 用于复制文件或目录到目标位置。

命令说明

cp 创建源文件的副本。如果目标是目录,则将文件复制到该目录中;如果目标是文件路径,则创建该文件的副本。复制目录时需要配合 -r 参数。

应用场景

  • 备份文件
  • 复制配置文件
  • 复制整个项目目录
  • 保留属性地复制文件

常用示例

示例 1:复制文件到目录

bash
复制代码
cp config.yaml /etc/myapp/

示例 2:复制文件并重命名

bash
复制代码
cp app.conf app.conf.backup

示例 3:复制整个目录

bash
复制代码
cp -r project/ project_backup/

示例 4:保留文件属性复制

bash
复制代码
cp -p important_file.txt /backup/

示例 5:复制时显示进度

bash
复制代码
cp -v *.py /tmp/scripts/
plaintext
复制代码
'utils.py' -> '/tmp/scripts/utils.py'
'main.py' -> '/tmp/scripts/main.py'

示例 6:仅复制更新的文件

bash
复制代码
cp -u source/*.c destination/

help 参数详解

参数 长参数 说明
-r -R, --recursive 递归复制目录
-i --interactive 覆盖前询问确认
-f --force 强制覆盖目标文件,无法打开目标时删除后重试
-v --verbose 显示每个复制操作的信息
-p --preserve 保留源文件的权限、时间戳、所有者等属性
-u --update 仅当源文件比目标文件新或目标文件不存在时才复制
-a --archive 归档模式,等价于 -dR --preserve=all,完整保留所有属性
-l --link 创建硬链接而非复制文件
-s --symbolic-link 创建符号链接而非复制文件