我正在尝试 tar 整个目录(除了一些子目录)。
目录my-base-dir
已压缩,但排除的目录/文件也包含在内?
tar -cf my-base-dir/bak/site/site.tar my-base-dir --exclude=my-base-dir/bak/db/* --exclude=my-base-dir/bak/site/*
排除的路径相对于当前工作目录是正确的。因为输出 tar 文件放在其中之一
答案1
您必须--exclude
在要放入(或取出)存档的文件名列表之前放置选项,即
tar --exclude='my-base-dir/bak/db/*' --exclude='my-base-dir/bak/site/*' -cf my-base-dir/bak/site/site.tar my-base-dir
或者你也可以使用:
tar -cf my-base-dir/bak/site/site.tar --exclude='my-base-dir/bak/db/*' --exclude='my-base-dir/bak/site/*' my-base-dir