当我想在去皮时排除目录时,我通常使用这样的语法:
tar -zcf /backup/backup.tar.gz --exclude="/home/someuser/.ssh" /home/someuser
如何修改此选项以排除所有隐藏目录,例如,除了.ssh /之外,我还想排除.vnc /,。wine /等。
答案 0 :(得分:36)
您可以使用--exclude ="。*"
$ tar -czvf test.tgz test/
test/
test/seen
test/.hidden
$ tar --exclude=".*" -czvf test.tgz test/
test/
test/seen
如果要去皮当前目录,请小心,因为它也会被此模式匹配排除。
$ cd test
$ tar --exclude=".*" -czvf test.tgz ./
$ tar -czvf test.tgz ./
./
./seen
./.hidden
然后你需要使用--exclude ='。[^ /] *'正如所描述的elsewhere
$ tar --exclude='.[^/]*' -czvf test.tgz ./
./
./seen