CentOS实战,如何快速移动一个目录下的所有子文件夹

admin
在CentOS实战中,若需快速移动目录下的所有子文件夹,推荐使用mv命令结合通配符,例如执行mv 源目录/* 目标目录/mv 源目录/[a-z]* 目标目录/,即可批量转移所有子文件夹,此方法操作简单,能显著提高文件管理的效率,避免逐个移动的繁琐。

在 CentOS 系统管理中,经常需要对文件结构进行整理,你可能有一个名为 source_dir 的目录,里面包含多个子文件夹(如 folder1, folder2 等),现在你需要将这些子文件夹一次性移动到另一个目标目录 target_dir 中。

以下是几种常用且高效的方法来实现“移动一个文件夹的所有文件夹”的操作。

场景假设

为了方便演示,假设:

CentOS实战,如何快速移动一个目录下的所有子文件夹

  • 源目录/data/source
  • 目标目录/data/backup

假设 /data/source 下有 folder1folder2 两个子文件夹。


使用 mv 命令(最常用)

这是最直接的方法,利用通配符 来匹配源目录下的所有内容。

命令:

mv /data/source/* /data/backup/

原理解析:

  • 代表匹配所有文件和文件夹。
  • 该命令会将 /data/source 下的所有内容(包括子文件夹和文件)移动到 /data/backup 中。

注意: 使用 mv 后,原目录 /data/source 中的内容将被清空,如果目标目录 /data/backup 不存在,系统会尝试将 /data/source 重命名为 /data/backup


使用 rsync 命令(推荐,更安全)

如果你担心源目录中的内容在移动过程中出错,或者你想在移动后保留源目录的空壳,rsync 是更好的选择,它支持递归复制并保留权限和属性。

命令:

rsync -av --progress /data/source/ /data/backup/

参数说明:

  • -a (archive):归档模式,递归传输并保持文件属性。
  • -v (verbose):显示传输过程。
  • --progress:显示进度条。

原理解析: rsync 会将 /data/source 下的内容复制到 /data/backup如果你只想复制内容而不删除源目录,这是最佳选择,如果你移动完成后手动删除源目录,效果等同于 mv


使用 find 命令(特定场景)

如果你只想移动**子文件夹

文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码