我知道可以通过这样的命令排除特定文件夹:
tar --exclude='/srv/www/project/node_modules' -zcvf /backup/project.tgz .
Run Code Online (Sandbox Code Playgroud)
我的问题如何排除node_modules在整个/srv/www目录中任何地方命名的任何文件夹,排除它并排除它下的所有文件夹?
即使在不同的子目录下有多个副本,要排除该目录node_modules所在/srv/www/的目录,只需不要在该--exclude部分指定路径并像这样使用它:
tar -zcvf /backup/project.tar.gz --exclude "node_modules" /srv/www/
Run Code Online (Sandbox Code Playgroud)
这将排除完全命名的所有目录和文件node_modules以及/srv/www/.