为什么 tar --exclude=".*" 会创建一个空存档?

Tom*_*ger 7 tar wildcards

我读到的所有内容都说要在创建 tar 存档时排除.svn.htaccess其他隐藏文件,请使用该--exclude=".*"模式。

当我尝试时,我得到一个空的存档。当我省略--exclude长选项时,一切都会被存档。

这是我正在使用的完整命令:

tar -czvf ../_migrate/archive_2012-05-07.tgz --exclude=".*" ./*
Run Code Online (Sandbox Code Playgroud)

我也试过这个变体,结果没有区别:

tar -czvf ../_migrate/archive_2012-05-07.tgz --exclude=".?*" ./*
Run Code Online (Sandbox Code Playgroud)

Kyl*_*nes 10

您的模式不包括“.”,这是您要归档的目录。改为使用“.?*”作为模式。


jw0*_*013 6

您似乎在使用 GNU tar。 GNU 中的模式匹配tar适用于整个路径,并且不会在/字符处停止。由于您使用的./是文件列表,这意味着每个文件都将匹配./*,并且也匹配.?*. 我会尝试类似的东西--exclude='.[^/]*'