如何使用 linux (debian) 命令行将所有类型文件 file1.ext、.file2ext 和 .anotherext 从文件夹移动到另一个文件夹?

How to move all the type file file1.ext, .file2ext and .anotherext from folder to another folder with linux (debian) command line?

我使用以下命令将所有文件从一个文件夹移动到另一个文件夹。在这种情况下,我按照以下命令将文件从 folder1 移动到 folder2:

 # mv  -v /path2dir/subdir/folder1/* /var/www/folder2

当然folder2是以前做过的。 问题不是所有文件都成功移动,有些文件像 .file2ext.anotherext 或以 字符 (.) 开头的文件,如 .htaccess.error_log 移动不成功

如何解决这个问题?

提前致谢...

Bash 提供了一种更灵活的方式来指定路径标记:

mv -v /path2dir/subdir/folder1/{.*,*} /var/www/folder2

在大括号内,您可以指定逗号分隔的标记列表。 shell 将通过遍历它们来扩展它们,因此处理所有它们的所有匹配项。

一个更短但在其他方面等效的替代方法是:

mv -v /path2dir/subdir/folder1/{.,}* /var/www/folder2

两种备选方案都会向您发出警告,指出由于充分的理由(...)将跳过的条目。您可以通过重定向命令的错误输出来抑制这些错误,但是您应该小心这样的事情,因为这样您可能会错过重要的细节:

mv -v /path2dir/subdir/folder1/{.,}* /var/www/folder2 2>/dev/null