cp
是 Linux 中用于复制文件和目录的基本命令。以下是 cp
命令的所有参数详解及示例说明。
语法
cp [选项] 源文件 目标文件 cp [选项] 源文件... 目标目录
常见参数
-
-a, --archive
- 以归档模式复制文件,等于
-dR --preserve=all
,意味着递归复制,保持文件属性(如时间戳、权限等)。 - 示例:
cp -a source_directory/ destination_directory/
- 以归档模式复制文件,等于
-
-b, --backup
- 在目标文件存在时,创建备份文件。备份文件名在原文件名后加上波浪号 (
~
) 或根据指定的备份选项来创建。 - 示例:
cp -b source_file.txt destination_file.txt
- 在目标文件存在时,创建备份文件。备份文件名在原文件名后加上波浪号 (
-
-d, --no-dereference --preserve=links
- 复制符号链接时,保持链接而不跟随它指向的文件。
- 示例:
cp -d symlink destination_directory/
-
-f, --force
- 强制复制,即使目标文件存在,也不询问用户确认。
- 示例:
cp -f source_file.txt destination_file.txt
-
-i, --interactive
- 询问用户确认,在目标文件存在时提示用户是否覆盖。
- 示例:
cp -i source_file.txt destination_file.txt
-
-r, --recursive
- 递归复制目录及其内容。
- 示例:
cp -r source_directory/ destination_directory/
-
-u, --update
- 仅在源文件比目标文件新时或目标文件不存在时进行复制。
- 示例:
cp -u source_file.txt destination_file.txt
-
-v, --verbose
- 显示详细输出,列出正在复制的文件。
- 示例:
cp -v source_file.txt destination_file.txt
-
-n, --no-clobber
- 在目标文件存在时,不覆盖它。
- 示例:
cp -n source_file.txt destination_file.txt
-
-h, --help
- 显示帮助信息。
-
-V, --version
- 显示版本信息。
常用示例
-
复制单个文件
cp file.txt /path/to/destination/
将
file.txt
复制到指定的目标目录。 -
递归复制目录
cp -r folder/ /path/to/destination/
复制整个
folder
目录及其所有内容到目标目录。 -
强制复制
cp -f existing_file.txt destination_file.txt
强制复制,覆盖目标文件而不询问确认。
-
备份文件
cp -b file.txt /path/to/destination/
如果目标文件已存在,将创建一个备份。
-
更新文件
cp -u new_file.txt old_file.txt
仅在
new_file.txt
更新时复制它到old_file.txt
。
注意事项
- 使用
cp
时要小心,尤其是涉及到覆盖文件或目录结构的操作。 - 确保具有适当的权限,以免在目标位置出现权限错误。
使用 cp
命令,你可以方便地管理和复制文件及目录,是日常文件操作中必不可少的工具。