2013-12-10 15 views
7

ẩn Khi tôi muốn loại trừ thư mục khi taring, tôi thường sử dụng cú pháp như thế này:làm thế nào để làm cho tar loại trừ thư mục

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

Làm thế nào tôi có thể sửa đổi này để loại trừ tất cả các thư mục ẩn, ví dụ, ngoài .ssh /, tôi cũng muốn loại trừ vnc /, .wine/vv

Trả lời

20

bạn có thể sử dụng --exclude = "*"

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

Hãy cẩn thận nếu bạn đang taring thư mục hiện hành , vì nó cũng sẽ là exclu khấu trừ theo mẫu phù hợp này.

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

Sau đó, bạn cần phải sử dụng --exclude = '[^ /] *' như mô tả elsewhere

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

Hoặc chỉ cần sử dụng --exclude = "+.", Và thiết lập đường dẫn đến là "." –

Các vấn đề liên quan