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

问题描述 投票:0回答:2

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

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

我已经通过写作了解

cp -a / source / / path /

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

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

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

linux shell copy
2个回答
1
投票

我认为this可能就是你想要的。

你想使用rsync命令,并在--exclude标志,你想把*.tar

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

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


1
投票

你可以结合cp中的find来排除*.tar文件:

dest='/path/'
mkdir "$dest" &&
find /source -mindepth 1 -not -name '*.tar' -exec cp -a {} "$dest" \;
© www.soinside.com 2019 - 2024. All rights reserved.