当前位置: 首页>>技术教程>>正文


如何使用命令行将所有文件从一个文件夹移动到另一个文件夹?

,

问题描述

我想知道如何使用命令行将文件夹中的所有文件移动到另一个文件夹。

假设我在我的Downloads文件夹中,并且有100个文件我想移动到我的Videos文件夹中,而无需编写所有文件名。

最佳解决方法

打开一个终端并执行以下命令:

mv  -v ~/Downloads/* ~/Videos/

它会将所有文件和文件夹从Downloads文件夹移动到Videos文件夹。


要移动所有文件,但不移动文件夹:

如果您有兴趣将所有文件(但不是文件夹)从Downloads文件夹移动到Videos文件夹,请使用此命令

find ~/Downloads/ -type f -print0 | xargs -0 mv -t ~/Videos

要仅从“下载”文件夹中移动文件,但不能从sub-folders移动文件:

如果要从“下载”文件夹中移动所有文件,而不是“下载”文件夹中文件夹内的任何文件,请使用以下命令:

find ~/Downloads/ -maxdepth 1 -type f -print0 | xargs -0 mv -t ~/Videos

在这里,-maxdepth选项指定查找应该尝试的深度,1表示仅查找命令中指定的目录。您可以尝试使用23也进行测试。

有关详细说明,请参阅Ubuntu find manpage

次佳解决方法

mv ~/Downloads/* ~/Videos

它将移动所有文件,包括您想要的目录中的子文件夹mv。如果您想要cp(复制)或rm(删除),您将需要-r(递归)选项以包含子文件夹。

第三种解决方法

例如,可以使用rsync

rsync -vau --delete-after src/ dst/

哪里:

  • -v--verbose:增加冗长度

  • -a--archive:归档模式;等于-rlptgoD(不包括-H,-A,-X)

  • -u--update:跳过接收器上较新的文件

  • --delete-after:在传输完成后删除接收端的文件

如果您拥有root权限,则以sudo为前缀来覆盖潜在的权限问题。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/370.html,未经允许,请勿转载。