在linux中复制文件夹但不复制tar文件

时间:2018-01-04 06:46:11

标签: linux shell copy

我有一个文件夹,它包含许多文件夹和许多tar文件。 (这很多是1000左右)

我想写一个脚本将所有文件夹及其内容复制到另一个目录,但我不想复制tar文件。

我已经通过写作了解

  

cp -a / source / / path /

我可以将包含其内容的目录复制到另一个目录,但对于这种情况,我不知道该怎么做。

由于目录数量很多,我每次都无法复制一个目录。

如果有人能帮助我,我感激不尽。

2 个答案:

答案 0 :(得分:1)

我认为this可能是您正在寻找的。

您想使用rsync命令并在--exclude标记中放置*.tar

所以你的答案看起来像这样:
rsync -r --exclude='*.tar' [source] [destination]

This也是一个有用的小教程,介绍如何使用rsync

答案 1 :(得分:1)

您可以cp合并find以排除*.tar个文件:

dest='/path/'
mkdir "$dest" &&
find /source -mindepth 1 -not -name '*.tar' -exec cp -a {} "$dest" \;