如何从命令行同时移动多种文件类型

时间:2020-03-21 11:44:47  来源:igfitidea点击:

我知道如何查找某些类型的文件并将其从一个目录复制到另一个目录。

但是,我不知道如何同时移动多种文件类型。
如果我们遇到过这种情况,这是从Linux中的命令行执行此操作的简便方法。

在Linux中同时移动多种文件类型

想象一下这种情况。
我们在名为“ dir1”的目录上具有多种文件类型,例如.pdf,.doc,.mp3,.mp4,.txt等。

让我们看一下该目录的内容:

$ls dir1
file.txt image.jpg mydoc.doc personal.pdf song.mp3 video.mp4

我们想将某些文件类型(并非全部)移动到其他位置。
例如,假设我们要一次性将doc,pdf和txt文件移动到另一个名为“ dir2”的目录。

要将.doc,.pdf和.txt文件同时从dir1移动到dir2,命令将为:

$mv dir1/*.{doc,pdf,txt} dir2/

很简单,不是吗?

现在,让我们检查dir2的内容:

$ls dir2/
file.txt mydoc.doc personal.pdf

看到了吗?
dir1中的.doc,.pdf和.txt文件类型已移至dir2.

我们可以在上述命令中的花括号内添加任意数量的文件类型,以在不同目录之间移动它们。
上面的命令对我在Bash上运行正常。

移动多种文件类型的另一种方法是转到源目录,例如:在本例中为:dir1:

$cd ~/dir1

然后,将我们选择的文件类型移动到目标位置(例如dir2),如下所示。

$mv *.doc *.txt *.pdf /home/sk/dir2/

要移动所有具有特定扩展名的文件(仅.doc),请运行:

$mv dir1/*.doc dir2/

有关更多详细信息,请参见手册页。

$man mv

移动几个相同或者不同的文件类型很容易!我们可以在GUI模式下单击几下鼠标来执行此操作,或者在CLI模式下使用单行命令。
但是,如果一个目录中有数百种不同的文件类型,并且想一次将多种文件类型移动到不同的目录中,那将是一项繁琐的任务。