cp 命令在 Linux 系统中用于复制文件或目录。它是非常基础且常用的命令之一,允许用户将文件从一个位置复制到另一个位置,或者将目录及其内容复制到另一个位置。
语法
|---|-----------------------------|
| | cp [选项]... [-T] 源文件 目标文件 |
| | cp [选项]... 源文件... 目录 |
| | cp [选项]... -t 目录 源文件... |
常用选项
-i:在覆盖目标文件之前提示用户确认。-r,-R,--recursive:递归复制目录及其内容。-a,--archive:相当于-dR --preserve=all,用于在复制时尽可能保留文件的属性(如链接、文件权限、所有者、时间戳等)。-p,--preserve[=属性列表]:保留文件的某些属性,如修改时间、访问时间、文件模式、文件所有权和组所有权。-v,--verbose:显示详细的操作信息。-f,--force:如果目标文件已存在,并且无法打开以进行写入,则将其删除并尝试再次复制。-u,--update:仅当源文件比目标文件新,或者目标文件不存在时,才复制文件。-l,--link:对源文件创建硬链接,而非复制文件。-s,--symbolic-link:对源文件创建符号链接,而非复制文件。
示例
-
复制文件:
cp source.txt destination.txt这会将
source.txt复制到当前目录下,并命名为destination.txt。 -
复制文件到另一个目录:
cp source.txt /path/to/destination/注意,如果目标是一个目录,则
cp命令会将文件复制到该目录中,并保持原文件名。 -
递归复制目录:
cp -r source_directory/ destination_directory/使用
-r或--recursive选项递归地复制目录及其所有内容。 -
保留文件属性复制:
cp -a source_directory/ destination_directory/使用
-a或--archive选项在复制时尽可能保留文件的属性。 -
在覆盖前提示:
cp -i source.txt destination.txt如果
destination.txt已存在,cp命令会提示用户是否覆盖。
注意
- 使用
cp命令时,请确保目标路径正确,以避免意外覆盖重要文件。 - 对于重要数据,建议在执行复制操作之前进行备份。
- 在处理大量文件或大型目录时,可能需要一些时间来完成复制过程。