bart 命令的输入文件为文本文件。这些文件由行组成,行中指定了要包括在清单中的文件和要包括在报告中的文件属性。同一个输入文件可同时在两项 BART 功能中使用。工具将忽略以 # 开头的行、空白行以及包含空格的行。
输入文件包含三种类型的指令:
子树指令,带有可选的模式匹配修饰符
CHECK 指令
IGNORE 指令
<Global CHECK/IGNORE Directives> <subtree1> [pattern1..] <IGNORE/CHECK Directives for subtree1> <subtree2> [pattern2..] subtree3> [pattern3..] subtree4> [pattern4..] <IGNORE/CHECK Directives for subtree2, subtree3, subtree4> |
所有指令均会按顺序进行读取,后面的指令可能会覆盖前面的指令。
每行都有一个子树指令。指令必须以绝对路径名开头,后面跟有零个或多个模式匹配语句。
bart 命令使用 CHECK 和 IGNORE 语句定义要跟踪或忽略的属性。每个属性都有一个关联的关键字。
acl
all
contents
dest
devnode
dirmtime
gid
lnmtime
mode
mtime
size
type
uid
all 关键字是指所有文件属性。
BART 所用的 rules 文件规范语言是用于表示非标准文件名的标准 UNIX 引用语法。嵌入的制表符、空格、换行符或特殊字符以八进制格式编码,以保证工具能够读取文件名。这种不一致的引用语法会阻止在命令管道中正确处理某些文件名,如包含嵌入的回车的文件名。使用 rules 规范语言可表达复杂的文件名过滤条件,这些条件如果仅使用 shell 语法会很难并且无法有效表达。
有关 BART rules 文件或 BART 所用的引用语法的更多信息,请参见 bart_rules(4) 手册页。