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 命令在移动文件时不会更改文件的属性。