查看 tar 的手册页,其中说明--exclude=PATTERN
“排除文件,以 PATTERN 形式给出“。我不确定是否在其他地方更详细地解释了 PATTERN,但是为什么用户必须--exclude
为每个目录或文件提供单独的选项?例如,
tar cvzf backup.tar.gz / --exclude=/home,/sys,/proc
相对于
tar cvzf backup.tar.gz / --exclude=/home --exclude=/proc --exclude=/sys
答案1
参考6.4 排除某些文件在手册中。除了接受多个--exclude
选项之外,GNU tar 还有此选项,用于多种模式:
-X
,--exclude-from
文件
排除中列出的模式文件
在手册中,它解释说模式是 shell 通配符。
至于为什么它是这样实现的:长期约定使用来自命令行选项的单个值,该选项接受一个值。如果每个程序都发明了不同的解析命令行的方法,那么维护工作就会更加繁重。