cp 用于复制文件或目录到目标位置。
cp 创建源文件的副本。如果目标是目录,则将文件复制到该目录中;如果目标是文件路径,则创建该文件的副本。复制目录时需要配合 -r 参数。
示例 1:复制文件到目录
cp config.yaml /etc/myapp/
示例 2:复制文件并重命名
cp app.conf app.conf.backup
示例 3:复制整个目录
cp -r project/ project_backup/
示例 4:保留文件属性复制
cp -p important_file.txt /backup/
示例 5:复制时显示进度
cp -v *.py /tmp/scripts/
'utils.py' -> '/tmp/scripts/utils.py'
'main.py' -> '/tmp/scripts/main.py'
示例 6:仅复制更新的文件
cp -u source/*.c destination/
| 参数 | 长参数 | 说明 |
|---|---|---|
-r |
-R, --recursive |
递归复制目录 |
-i |
--interactive |
覆盖前询问确认 |
-f |
--force |
强制覆盖目标文件,无法打开目标时删除后重试 |
-v |
--verbose |
显示每个复制操作的信息 |
-p |
--preserve |
保留源文件的权限、时间戳、所有者等属性 |
-u |
--update |
仅当源文件比目标文件新或目标文件不存在时才复制 |
-a |
--archive |
归档模式,等价于 -dR --preserve=all,完整保留所有属性 |
-l |
--link |
创建硬链接而非复制文件 |
-s |
--symbolic-link |
创建符号链接而非复制文件 |