Linux 的 cp 命令详解
命令概述
cp 是 Linux 系统中用于复制文件和目录的基本命令,全称为 "copy"。它是日常文件管理中最常用的命令之一。
基本语法
cp [选项] 源文件 目标文件
cp [选项] 源文件... 目标目录
常用选项
-i:交互模式,覆盖前提示确认-r或-R:递归复制目录及其内容-v:显示详细操作信息-p:保留文件属性(权限、时间戳等)-f:强制覆盖已存在文件-u:仅复制源文件比目标文件新或不存在的文件
使用示例
1. 基本文件复制
bash
cp file1.txt file2.txt # 复制file1.txt为file2.txt
2. 复制到目录
bash
cp file1.txt /path/to/directory/ # 复制file1.txt到指定目录
3. 递归复制目录
bash
cp -r dir1/ dir2/ # 复制dir1目录及其内容到dir2
4. 保留文件属性
bash
cp -p file1.txt file2.txt # 复制并保留权限和时间戳
5. 交互式复制
bash
cp -i file1.txt file2.txt # 覆盖前会询问确认
高级用法
1. 通配符复制
bash
cp *.txt /backup/ # 复制所有.txt文件到备份目录
2. 创建硬链接
bash
cp -l file1.txt file2.txt # 创建硬链接而非复制内容
3. 创建符号链接
bash
cp -s file1.txt file2.txt # 创建符号链接
4. 仅更新较新文件
bash
cp -u *.html /var/www/ # 仅复制比目标目录中更新的HTML文件
注意事项
- 默认情况下,
cp命令会覆盖目标文件而不提示 - 复制目录时必须使用
-r选项 - 跨文件系统复制时,某些属性可能无法保留
- 对于大文件,可以考虑使用
rsync命令以获得更好的性能