cp — Linux 手册页
文章目录
名称语法
cp - 复制文件和目录
cp [选项]… 源… 目标
描述
cp 命令用于复制指定的源文件或目录到目标位置。它可以在不同目录之间复制文件,也可以递归地复制整个目录及其内容。
cp 命令最早出现在 Unix 系统中,是一个常见的文件操作工具。它被设计为快速、简单和高效的复制文件和目录的方式。
选项
适用于 cp 命令的主要选项有:
| 选项 | 描述 |
|---|---|
| -a, --archive | 等同于 -dR --preserve=all |
| –attributes-only | 仅复制文件属性,不复制文件数据 |
| –backup[=CONTROL] | 为每个已存在的目标文件创建备份 |
| -b | 类似于 --backup,但不接受参数 |
| –copy-contents | 递归复制特殊文件的内容 |
| -d | 等同于 --no-dereference --preserve=links |
| –debug | 解释文件的复制过程。隐含 -v 选项 |
| -f, --force | 如果无法打开已存在的目标文件,则删除它并重试(当同时使用 -n 选项时,此选项将被忽略) |
| -i, --interactive | 在覆盖前提示确认(覆盖先前的 -n 选项) |
| -H | 在源文件中跟随命令行符号链接 |
| -l, --link | 创建硬链接而不是复制文件 |
| -L, --dereference | 总是跟随源中的符号链接 |
| -n, --no-clobber | 不覆盖已存在的文件(覆盖 -u 或先前的 -i 选项)。参见 --update |
| -P, --no-dereference | 永远不要跟随源中的符号链接 |
| -p | 等同于 --preserve=mode,ownership,timestamps |
| –preserve[=ATTR_LIST] | 保留指定的属性 |
| –no-preserve=ATTR_LIST | 不保留指定的属性 |
| –parents | 在目录下使用完整的源文件名 |
| -R, -r, --recursive | 递归复制目录及其内容 |
| –reflink[=WHEN] | 控制克隆/写时复制的副本。参见下面的说明 |
| –remove-destination | 在尝试打开现有目标文件之前,删除每个已存在的目标文件(与 --force 相对比) |
| –sparse=WHEN | 控制创建稀疏文件。参见下面的说明 |
| –strip-trailing-slashes | 从每个 SOURCE 参数中删除任何尾随斜杠 |
| -s, --symbolic-link | 创建符号链接而不是复制文件 |
| -S, --suffix=SUFFIX | 覆盖常规备份后缀 |
| -t, --target-directory=DIRECTORY | 将所有 SOURCE 参数复制到 DIRECTORY |
| -T, --no-target-directory | 将 DEST 视为普通文件 |
| –update[=UPDATE] | 控制更新现有文件;UPDATE={all,none,older(默认值)}。参见下面的说明 |
| -u | 等同于 --update[=older] |
| -v, --verbose | 解释正在进行的操作 |
| -x, --one-file-system | 保持在此文件系统上 |
| -Z | 将目标文件的 SELinux 安全上下文设置为默认类型 |
| –context[=CTX] | 类似于 -Z,或者如果指定了 CTX,则将 SELinux 或 SMACK 安全上下文设置为 CTX |
| –help | 显示帮助信息并退出 |
| –version | 输出版本信息并退出 |
Linux命令cp的常见用法及代码示例
1. 复制单个文件到指定位置
$ cp file destination
示例:
$ cp file.txt /home/user/Documents/
2. 复制多个文件到指定目录
$ cp file1 file2 directory
示例:
$ cp file1.txt file2.txt /home/user/Documents/
3. 递归复制目录及其内容到指定位置
$ cp -r directory destination
示例:
$ cp -r folder /home/user/Backup/
4. 复制目录及其内容到新目录,并保留所有属性
$ cp -a directory new_directory
示例:
$ cp -a folder new_folder
5. 强制复制,覆盖已存在的目标文件
$ cp -f file destination
示例:
$ cp -f file.txt /home/user/Documents/
6. 交互式复制,提示用户确认操作
$ cp -i file destination
示例:
$ cp -i file.txt /home/user/Documents/
7. 仅复制比目标文件更新的文件
$ cp -u file destination
示例:
$ cp -u file.txt /home/user/Documents/
8. 创建硬链接而不是复制文件
$ cp -l file link_file
示例:
$ cp -l file.txt link.txt
9. 创建符号链接而不是复制文件
$ cp -s file symlink_file
示例:
$ cp -s file.txt symlink.txt
10. 显示详细信息,列出已复制的文件
$ cp -v file destination
示例:
$ cp -v file.txt /home/user/Documents/

其他类似命令
- mv:mv 命令用于移动或重命名文件和目录。它可以在不同目录之间移动文件,也可以重命名文件。
详细区别
cp 和 mv 都是用于文件和目录操作的命令,但它们之间存在一些区别。主要区别包括:
- cp 命令用于复制文件和目录到指定位置,而 mv 命令用于移动文件和目录到指定位置或重命名文件。
- cp 命令在复制时保留源文件的属性,而 mv 命令在移动文件时不会更改文件的属性。
官方链接
详细区别
cp 和 mv 都是用于文件和目录操作的命令,但它们之间存在一些区别。主要区别包括:
- cp 命令用于复制文件和目录到指定位置,而 mv 命令用于移动文件和目录到指定位置或重命名文件。
- cp 命令在复制时保留源文件的属性,而 mv 命令在移动文件时不会更改文件的属性。
本文详细介绍了Linuxcp命令的语法、常用选项以及各种场景下的应用实例,包括复制单个文件、目录、创建硬链接和符号链接等,同时对比了与mv命令的区别。
1725

被折叠的 条评论
为什么被折叠?



