使用 tar 排除隐藏的点文件

Posted

技术标签:

【中文标题】使用 tar 排除隐藏的点文件【英文标题】:Exclude hidden dot files with tar 【发布时间】:2020-07-29 22:09:11 【问题描述】:

我有一个简单的tar 命令将某些文件夹及其内容复制到存档中,但我想排除隐藏文件,例如.gitkeep.DS_STORE。我以为我有正确的命令(来自here),但文件仍然被包含在内。

tar -zcvf dist.tar.gz Foo/ Bar/ Buzz/ --exclude=".*"

其中Foo/Bar/Buzz/ 包含一个隐藏文件,例如.gitkeep

【问题讨论】:

【参考方案1】:

显然,tar 的订单很重要!

虽然问题中的命令不起作用,但将 --exclude 重新排列在前面确实有效。我在网上找到的许多指南在他们提供的示例命令中要么是错误的,要么没有指定,所以我想当我弄清楚时我会回答我自己的问题。

tar --exclude=".*" -zcvf dist.tar.gz Foo/ Bar/ Buzz/

【讨论】:

以上是关于使用 tar 排除隐藏的点文件的主要内容,如果未能解决你的问题,请参考以下文章

如何使 tar 排除隐藏目录

linux中tar命令的用法

rsync排除所有目录的隐藏文件

如何隐藏所有排除文件类型

在 Python 中排除隐藏文件

为啥会找到。 -not -name ".*" 不排除隐藏文件?