本文详细介绍了Linux系统中复制文件夹及其内部所有文件的多种实用方法,主要讲解了如何使用cp -r命令进行递归复制,以及利用rsync命令实现更高级的文件同步和属性保留,还介绍了通过tar打包后复制的技巧,掌握这些方法能显著提升文件管理效率。
在 Linux 系统中,日常的文件管理操作离不开 cp 命令,对于初学者来说,直接使用 cp 复制文件夹往往会报错,因为默认情况下,cp 命令无法处理目录(文件夹),要实现 Linux下复制文件夹中的所有文件,我们需要使用特定的参数来告诉系统进行递归复制。
以下是几种最常用且高效的方法:
使用 -r (或 -R) 参数:递归复制
这是最基础也是最重要的一步。-r 代表 recursive(递归),意味着命令会进入文件夹内部,把里面的所有文件和子文件夹也一起复制过去。

语法:
cp -r 源文件夹路径 目标文件夹路径
示例:
假设你有一个名为 my_project 的文件夹,你想把它复制到 /backup 目录下。
cp -r /home/user/my_project /backup/
注意:在 Linux 中,命令末尾的斜杠 通常表示这是一个目录,如果省略,系统会创建一个名为 my_project 的新文件夹,并将原文件夹的内容放入其中。
使用 -r 配合通配符 :复制内容到现有目录
你的目标文件夹已经存在了,你只想把源文件夹里的文件“倒”进去,而不想复制源文件夹本身作为一个子目录。
语法:
cp -r 源文件夹/* 目标文件夹
示例:
将 source_dir 下的所有文件复制到 target_dir 中:
cp -r source_dir/* target_dir/
这里的 `` 是通配符,代表该目录下的所有内容。*
使用 -a 参数:保留属性复制
如果你在复制文件夹时,希望保留文件的权限、所有者、时间戳等属性(例如在备份配置文件时),可以使用 -a 参数,它实际上相当于 -dpr 的组合(保留链接、递归、保留属性)。
语法:
cp -a 源文件夹 目标文件夹
使用 -v 参数:显示详细过程
为了确保复制操作顺利进行,并确认哪些文件被复制了,可以使用 -v 参数(verbose,详细模式)。
语法:
cp -rv 源文件夹 目标文件夹
示例:
cp -rv my_files/ /home/user/new_backup/
屏幕上会输出类似 my_files/file1.txt -> /home/user/new_backup/file1.txt 的信息。
在 Linux 下复制文件夹中的所有文件,核心命令是 cp,关键在于加上 -r 参数。
cp -r 源目录 目标目录:复制整个文件夹结构。- *`cp -r 源目录/ 目标目录`**:只复制源目录内的文件到目标目录。
掌握这两个技巧,你就能轻松搞定 Linux 下的文件批量复制任务了。

