【linux】文件与目录命令 - cp
文章目录
- 1. 基本用法
- 2. 常用参数
- 3. 用法举例
- 4. 注意事项
cp
命令用于复制文件或目录,支持单个文件复制、多文件复制以及目录的递归复制,是 Linux 系统中常用的文件管理命令之一。
1. 基本用法
-
语法:
cp [选项] 源文件 目标文件 cp [选项] 源文件... 目标目录
-
功能:
- 复制文件或目录到指定位置。
- 支持覆盖、备份和权限保留等操作。
-
此命令是否系统自带:此命令是系统默认自带的,无需额外安装。
2. 常用参数
-r
或-R
:递归复制目录及其内容。-i
:覆盖目标文件前提示用户确认。-f
:强制复制文件,不提示用户确认。-u
:仅复制源文件比目标文件更新的部分。-v
:显示详细的复制过程。-a
:归档模式,复制文件时保留文件的权限、属性和时间戳(相当于-dpR
的组合)。-p
:保留文件的属性,如权限、所有者、时间戳等。--backup
:为目标文件生成备份文件。--parents
:保留源文件的目录结构。--preserve[=ATTR_LIST]
:明确指定保留的属性(权限、所有者、时间戳等)。-n
:如果目标文件存在,不覆盖文件。
3. 用法举例
-
复制单个文件到目标文件:
cp source.txt destination.txt
-
复制多个文件到目标目录:
cp file1.txt file2.txt /path/to/destination/
-
递归复制目录及其内容:
cp -r /source/dir /destination/dir
-
覆盖文件前提示用户确认:
cp -i source.txt destination.txt
-
强制覆盖目标文件:
cp -f source.txt destination.txt
-
保留文件的权限和属性:
cp -a source.txt destination.txt
-
仅复制比目标文件更新的源文件:
cp -u source.txt destination.txt
-
显示复制过程:
cp -v source.txt destination.txt
-
为目标文件生成备份:
cp --backup source.txt destination.txt
-
保留目录结构复制文件:
cp --parents dir1/file.txt /path/to/destination/
4. 注意事项
-
使用递归复制目录时需小心,特别是复制到包含自身的路径时,可能导致死循环:
cp -r dir /path/to/dir/
-
当目标路径是文件时,需确保路径不存在目录冲突,否则可能导致数据覆盖。
-
使用
-a
参数是备份文件或目录的推荐方式,保留属性可避免数据丢失。 -
对于大批量文件复制操作,可结合
rsync
或scp
使用以提高效率。