在Linux服务器中处理文件复制文件的时候,我们一般用cp命令,这里我们整理这个命令的使用方法。
基本语法:
cp [选项] 源文件 目标文件
cp [选项] 源文件... 目标目录
源文件:要复制的文件或目录。
目标文件:复制后的文件名(如果目标已存在,会被覆盖)。
目标目录:将源文件复制到指定目录(目录必须存在)。
常用选项:
选项 | 说明 |
---|---|
-i |
交互模式,覆盖前提示确认(推荐默认使用)。 |
-v |
显示详细过程(verbose),打印复制的文件名。 |
-r / -R |
递归复制目录(包括子目录和文件)。 |
-p |
保留文件属性(权限、所有者、时间戳等)。 |
-a |
归档模式(相当于 -rp + 保留符号链接等)。 |
-f |
强制复制,不提示直接覆盖(慎用)。 |
-l |
创建硬链接(不复制文件,仅创建链接)。 |
-s |
创建软链接(类似 Windows 快捷方式)。 |
-u |
仅复制更新过的文件(目标不存在或源文件更新时才复制)。 |
使用案例:
复制单个文件:
cp file1.txt file2.txt # 将 file1.txt 复制为 file2.txt(覆盖)
cp -i file1.txt file2.txt # 覆盖前提示确认
cp -v file1.txt /tmp/ # 复制到 /tmp/ 并显示过程
复制文件到目录:
cp file1.txt /home/user/docs/ # 复制 file1.txt 到 /home/user/docs/
cp -v file1.txt file2.txt /tmp/ # 复制多个文件到 /tmp/
递归复制目录:
cp -r dir1/ dir2/ # 复制 dir1 到 dir2(dir2 已存在)
cp -r dir1/ /backup/ # 复制 dir1 到 /backup/(目录必须存在)
cp -a dir1/ /backup/ # 归档复制(保留权限、时间戳等)
保留文件属性:
cp -p file1.txt /tmp/ # 复制并保留权限、所有者、时间戳
创建软连接:
cp -s /path/to/file /path/to/link # 创建软链接