web-dev-qa-db-ja.com

tarに隠しディレクトリを除外させる方法

風袋引き時にディレクトリを除外する場合、通常は次のような構文を使用します。

tar -zcf /backup/backup.tar.gz --exclude="/home/someuser/.ssh" /home/someuser

これを変更して、たとえば.ssh /に加えて、すべての隠しディレクトリを除外するにはどうすればよいですか。また、.vnc/、. wine /なども除外したいと思います。

25
user788171

--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
45
joelostblom