插件窝 干货文章 Linux命令如何复制

Linux命令如何复制

复制 递归 bash 目录 749    来源:    2025-04-04

在Linux中复制文件和目录主要通过cp命令完成。以下是详细用法和常见场景:


1. 基本文件复制

cp 源文件 目标路径

示例

cp file.txt /home/user/documents/  # 将file.txt复制到指定目录

2. 复制目录(递归复制)

使用 -r-R 参数复制目录及其内容:

cp -r 源目录 目标路径

示例

cp -r my_folder /backup/  # 递归复制整个目录

3. 保留文件属性

使用 -p 保留权限、时间戳等元数据:

cp -p source.txt /backup/

4. 强制覆盖(不提示)

添加 -f 强制覆盖目标文件(慎用):

cp -f file.txt /target/

5. 交互式复制(覆盖前确认)

使用 -i 参数避免意外覆盖:

cp -i file.txt /target/  # 若目标存在会提示确认

6. 复制多个文件到目录

cp file1.txt file2.txt /target_directory/

7. 显示详细输出

添加 -v 查看操作过程:

cp -rv source_dir/ backup/  # 递归复制并显示进度

8. 创建硬链接/符号链接

  • 硬链接(默认): bash cp -l source.txt link.txt # 创建硬链接
  • 符号链接(软链接): bash cp -s source.txt symlink.txt # 创建符号链接

9. 远程复制(需结合其他工具)

  • SCP(安全复制): bash scp file.txt user@remote:/path/to/destination/
  • Rsync(增量同步): bash rsync -avz source_dir/ user@remote:/backup/

注意事项

  • 目标路径如果是目录,需以 / 结尾(明确表示目录)。
  • 使用 -n 参数可避免覆盖(cp -n file.txt /existing/)。
  • 删除目录时,rm -r 是删除命令,与 cp -r 不同,勿混淆!

示例综合

cp -rpv /data/important/ /backup/2023/  # 保留属性递归复制并显示进度

根据需求选择合适的参数组合即可高效完成复制任务。