一、简介
在CentOS 7.9中,cp
命令用于复制文件或目录。以下是cp
命令的基本使用方法和一些常见的选项:
基本语法
bash复制代码cp [选项] 源文件或目录 目标文件或目录
常用选项
- -r, -R:递归复制目录及其内容。
- -i:在覆盖目标文件之前提示用户确认。
- -u:当源文件比目标文件新或目标文件不存在时,才复制源文件。
- -v:详细模式,显示正在复制的文件名。
- -p:保留文件的访问和修改时间,以及所有权和权限。
- -f:如果目标文件已存在,并且无法打开,则将其删除并重试(通常与
-i
选项一起使用时会被覆盖)。 - -d:当复制符号链接时,复制为符号链接而不是它所指向的文件或目录。
- -l:创建指向源文件的硬链接(而不是复制文件)。
- -s:创建指向源文件的符号链接(而不是复制文件)。
- -a:等同于
-dpR
,即归档模式,复制文件和目录,并保留它们的属性。
示例
1. 复制单个文件
cp source.txt destination.txt
2. 复制目录(递归)
cp -r sourcedir/ destinationdir/
3. 复制多个文件到目录
cp file1.txt file2.txt file3.txt destinationdir/
4. 复制文件并提示是否覆盖
cp -i source.txt destination.txt
5. 复制文件并保留属性
cp -p source.txt destination.txt
6. 归档模式复制目录(递归并保留属性)
bash复制代码cp -a sourcedir/ destinationdir/
注意事项
- 当复制目录时,必须使用
-r
或-R
选项,否则cp
命令会报告错误。 - 默认情况下,如果目标文件已存在,
cp
命令会覆盖它。如果希望提示确认,请使用-i
选项。 - 使用
-p
选项可以保留文件的属性,包括时间戳、权限和所有权。 - 如果目标是一个已存在的目录,并且源文件是一个文件,那么源文件将被复制到目标目录中,并保留其原始文件名。如果目标是一个文件名,并且源文件是一个目录,那么
cp
命令会报告错误,除非使用-r
或-R
选项。
通过组合这些选项,您可以灵活地使用cp
命令来满足不同的复制需求。