📅  最后修改于: 2023-12-03 15:06:28.448000             🧑  作者: Mango
在Shell或Bash中,有时我们需要从一个大目录中复制特定类型或特定名称的文件。下面给出几种方法。
cp /path/to/source/*.txt /path/to/destination/
这个命令将复制源目录中扩展名为.txt的所有文件到目标目录中。可以根据需要更改通配符。
find /path/to/source -type f -name "*.txt" -exec cp {} /path/to/destination/ \;
这个命令将查找源目录中所有扩展名为.txt的文件,并使用cp命令将它们复制到目标目录中。该命令的-exec选项将对每个文件执行一次cp命令。
rsync -a /path/to/source/*.txt /path/to/destination/
这个命令类似于cp命令,但它比cp命令更适合使用在大型文件夹中,因为它只复制更改的文件,而不是全部复制。
find /path/to/source -type f -name "*.txt" | xargs -I {} cp {} /path/to/destination/
类似于使用-exec选项的find命令,xargs命令可以将每个文件作为参数传递给cp命令,从而将它们复制到目标目录中。
总结:以上方法可以根据需要灵活选择,以便快速而有效地将特定类型或特定名称的文件从目录中复制到目标目录中。