2013-12-10 7 views
7

Wenn ich will Verzeichnisse ausschließen, wenn der Tarierung, verwende ich normalerweise Syntax wie folgt:wie auszunehmen machen tar Verzeichnisse versteckt

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

Wie kann ich das ändern, dass alle versteckten Verzeichnisse ausschließen, beispielsweise zusätzlich zu .ssh/möchte ich/auch ausschließen .vnc, .wine/etc.

Antwort

20

können Sie verwenden --exclude = "*"

# tar -czvf test.tgz test/ 
test/ 
test/seen 
test/.hidden 
# tar -czvf test.tgz test/ --exclude=".*" 
test/ 
test/seen 

Seien Sie vorsichtig, wenn Sie das aktuelle Verzeichnis Tarieren werden , da es auch exklusiv sein wird ded durch diesen Musterabgleich.

# cd test 
# tar -czvf test.tgz ./ --exclude=".*" 
# tar -czvf test.tgz ./ 
./ 
./seen 
./.hidden 

Dann brauchen Sie --exclude verwenden = '. [^ /] * Beschrieben als elsewhere

# tar -czvf test.tgz ./ --exclude='.[^/]*' 
./ 
./seen 
+0

Oder nur mit --exclude = "+" und der Einstellung des Pfades zu Sein "." –