使用 tar 排除隐藏的点文件

Exclude hidden dot files with tar

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

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

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

显然 tar 的顺序很重要!

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

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