在Ubuntu中,cp
命令是用于复制文件和目录的基本命令。以下是cp
命令的常见用法和选项:
基本语法
bash
cp [选项] 源文件 目标文件
常用选项
-r
或-R
:递归复制目录及其内容。-p
:保留源文件的属性(如权限、所有者、时间戳)。-i
:在覆盖文件前提示确认。-u
:只在源文件比目标文件新或目标文件不存在时复制。-v
:显示详细的复制过程。-a
:归档模式,等同于-dpR
,用于递归复制并保留文件属性。
常见用法示例
-
复制单个文件
bashcp source.txt destination.txt
将
source.txt
复制为destination.txt
。 -
复制多个文件到目录
bashcp file1.txt file2.txt /path/to/directory/
将
file1.txt
和file2.txt
复制到指定目录。 -
递归复制目录
bashcp -r /path/to/source_directory /path/to/destination_directory
递归复制
source_directory
及其所有内容到destination_directory
。 -
复制并保留文件属性
bashcp -p source.txt destination.txt
复制文件并保留其权限、所有者和时间戳等属性。
-
覆盖前提示确认
bashcp -i source.txt destination.txt
如果
destination.txt
存在,在覆盖前会提示确认。 -
显示复制过程
bashcp -v source.txt destination.txt
复制文件时显示详细信息。
-
更新复制
bashcp -u source.txt destination.txt
仅当
source.txt
比destination.txt
新或destination.txt
不存在时才进行复制。
注意事项
- 权限问题:在复制文件时,需要确保有足够的权限访问源文件和写入目标位置。
- 符号链接 :使用
-L
选项可以跟随符号链接并复制其指向的文件,而非链接本身。 - 危险操作 :在使用
cp
覆盖文件时,建议使用-i
选项以防止意外覆盖重要文件。