linux的cp命令详解
Linux cp 命令详解cp copy复制文件 / 目录格式bash运行cp [选项] 源文件 目标三种用法复制文件到文件、复制文件到目录、复制目录到目录一、基础语法cp 源 目标文件单文件改名复制bash运行cp a.txt b.txtcp 源1 源2 ... 目录多个文件复制进目标目录bash运行cp a.txt b.txt /tmp/复制目录必须加-r/-R二、常用参数重点1.-r / -R递归复制目录目录必带-r递归复制目录软链接当成普通文件复制-R保留链接属性、特殊文件 (设备)推荐目录复制用-Rbash运行cp -R testdir /tmp/2.-i覆盖前交互式询问 y/n默认 cp 直接覆盖-i防止误删bash运行cp -i a.txt /tmp/3.-n不覆盖已存在文件no clobberbash运行cp -n *.txt /tmp/4.-f强制覆盖不询问bash运行cp -f a.txt /tmp/5.-p保留原文件权限、属主、时间戳生产常用备份配置必备bash运行cp -p nginx.conf nginx.conf.bak6.-d保留软链接本身不复制链接指向的真实文件搭配-Rpd最常用cp -Rpd 源 目标7.-a-dRp归档参数生产复制目录首选保留权限、属主、软链接、递归等同于完整备份bash运行cp -a /etc/nginx /tmp/nginx.bak8.-v显示复制过程bash运行cp -av test/ /tmp/三、典型实战示例1. 单个文件备份bash运行cp /etc/profile /etc/profile.bak2. 批量复制多个文件到目录bash运行cp *.log /var/log/bak/3. 完整备份目录最常用 -abash运行cp -a /usr/local/mysql /data/backup/4. 复制时排除某个文件结合 find进阶bash运行find ./ -maxdepth 1 ! -name no.txt -exec cp {} /tmp \;四、易错注意目标不存在 → 创建目标目标是已存在目录 → 源放进目录内bash运行cp file1 dir1 # dir1存在file1 → dir1/file1 # dir1不存在生成文件dir1不是目录软链接不加-d/-a会复制链接指向的真实文件加-d只复制链接。root 复制不受权限限制普通用户无读权限无法复制。五、常用组合速记日常文件复制cp -i目录完整备份cp -av强制全覆盖cp -rf