我知道可以通过这样的命令排除特定的文件夹:
tar --exclude='/srv/www/project/node_modules' -zcvf /backup/project.tgz .
我的问题是如何排除node_modules
整个/srv/www
目录中任何地方命名的任何文件夹,排除它并排除其下的所有文件夹?
答案1
要排除名为目录的目录,node_modules
无论它位于何处,/srv/www/
即使在不同的子目录下有它的多个副本,只需不要在部分中指定路径--exclude
并像这样使用它:
tar -zcvf /backup/project.tar.gz --exclude "node_modules" /srv/www/
这将排除所有名称完全相同的目录和文件node_modules
以及其下的所有子目录和文件/srv/www/
。