焦油排除不工作?

tar -cvf file.tar --exclude=thumbs/ \ --exclude=uploads_event/ \ --exclude=uploads_forum/ \ --exclude=uploads_admin/ \ --exclude=uploads_userpoints/ \ --exclude=uploads_group/ \ --exclude=up_old/ \ --exclude=uploads_user/ \ --exclude=uploads_wall/ \ directory_to_tar/ 

我有错吗? 尝试tar整个目录,但完全排除所有这些目录和这些文件夹中的任何文件。

使用GNU tar,您不能在所有这些排除项目中包含结尾斜杠。 它会和BSD tar一起工作。

迈克尔·洛曼的回答应该被接受,但是由于我已经举出了一些例子,所以我将把它推广并离开它,也许有人会发现它的价值。

重复迈克尔的答案,看起来你的问题尾部的斜杠 – --exclude选项。

我还会注意到,当你有很多东西要排除时,把它放在一个文件中可能会更容易,只需要用-X选项包含文件。

这里有几个使用–exclude和-X的实际例子

 g3 0 /home/jj33/swap/t > mkdir -p dir/d1 dir/d2 g3 0 /home/jj33/swap/t > touch dir/{d1,d2}/{f1,f2,f3} g3 0 /home/jj33/swap/t > find . -type f ./dir/d1/f1 ./dir/d1/f2 ./dir/d1/f3 ./dir/d2/f1 ./dir/d2/f2 ./dir/d2/f3 #### using the trailing slash, as in your question, doesn't work: g3 0 /home/jj33/swap/t > tar -cvf file.tar --exclude=d1/f2 --exclude=d2/ dir dir/ dir/d1/ dir/d1/f1 dir/d1/f3 dir/d2/ dir/d2/f1 dir/d2/f2 dir/d2/f3 # removing the / works better g3 0 /home/jj33/swap/t > tar -cvf file.tar --exclude=d1/f2 --exclude=d2 dir dir/ dir/d1/ dir/d1/f1 dir/d1/f3 # example using a file and -X g3 0 /home/jj33/swap/t > echo d1/f2 >exclude.txt g3 0 /home/jj33/swap/t > echo d2 >>exclude.txt g3 0 /home/jj33/swap/t > cat exclude.txt d1/f2 d2 g3 0 /home/jj33/swap/t > tar -cvf file.tar -X exclude.txt dir dir/ dir/d1/ dir/d1/f1 dir/d1/f3 g3 0 /home/jj33/swap/t >