cp命令是Linux系统中用于复制文件和目录的基本命令。下面我将详细介绍cp命令的使用方法和常见场景。
cp [选项] 源文件 目标文件
cp [选项] 源文件... 目标目录
选项 | 说明 |
---|---|
-i |
覆盖前提示确认 |
-n |
不覆盖已存在文件 |
-r 或 -R |
递归复制目录及其内容 |
-v |
显示详细操作信息 |
-p |
保留原始文件属性(权限、时间戳等) |
-a |
归档模式(相当于-dpR ),保留所有属性 |
-u |
仅当源文件比目标文件新时才复制 |
-l |
创建硬链接而非复制文件 |
-s |
创建符号链接而非复制文件 |
cp file1.txt file2.txt # 将file1.txt复制为file2.txt
cp file1.txt /path/to/directory/ # 将file1.txt复制到指定目录
cp file1.txt file2.txt file3.txt /path/to/directory/
cp -r dir1/ dir2/ # 复制dir1目录及其内容到dir2
cp -p file1.txt file2.txt # 复制并保留权限、时间戳等
cp -i file1.txt file2.txt
cp -u file1.txt file2.txt # 仅当file1比file2新时才复制
cp -l file1.txt file2.txt # 创建硬链接
cp -s file1.txt file2.txt # 创建符号链接
-i
选项可以避免意外覆盖-r
或-a
选项-a
选项可以完整保留文件所有属性和目录结构cp *.txt /backup/ # 复制所有.txt文件到backup目录
cp -d symlink1 symlink2 # 复制符号链接本身而非其指向的文件
结合find命令可以实现排除复制:
find . -type f ! -name "*.tmp" -exec cp {} /backup/ \;
掌握cp命令的使用可以大大提高Linux文件管理效率,特别是在处理大量文件时。