压缩文件夹并排除终端中的子目录

时间:2015-03-16 09:39:01

标签: linux command-line terminal compression tar

我尝试使用以下命令压缩文件夹,并排除多个子文件夹,因为它超过10GB,我不需要:

    ubuntu@ip-172-31-X-XXX:/var/www$ tar -zcvf master16march.tar.gz master -x "master/media/com_easysocial/photos/*" "master/media/com_easysocial/avatars/*" "master/media/com_easysocial/tmp/*" "master/media/com_easydiscuss/attachments/*" "master/images/joomcareer/*"

我收到了这个错误:

    tar: You may not specify more than one `-Acdtrux' or `--test-label' option
    Try `tar --help' or `tar --usage' for more information.

1 个答案:

答案 0 :(得分:2)

您应该使用--exclude(而非-x)并在每个模式之前重复此长选项,例如:

tar -zcvf master16march.tar.gz master --exclude "master/media/com_easysocial/photos/*" --exclude "master/media/com_easysocial/avatars/*" --exclude "master/media/com_easysocial/tmp/*" --exclude "master/media/com_easydiscuss/attachments/*" --exclude "master/images/joomcareer/*"

或者,您可以使用-X指向包含排除模式的文件。

如果要完全排除文件夹(不仅是文件),请使用不带通配符的文件夹路径,例如:

tar -zcvf master16march.tar.gz master --exclude "master/media/com_easysocial/photos" --exclude "master/media/com_easysocial/avatars" --exclude "master/media/com_easysocial/tmp" --exclude "master/media/com_easydiscuss/attachments" --exclude "master/images/joomcareer"