# 排除文件 跳过列表让某些文件和文件夹不进入任何一次备份。在设置中,它叫作 `exclude`。 ## 默认值 新的跳过列表包含 `.DS_Store`、`Thumbs.db`、`*.tmp`、`*.swp`、`node_modules` 和 `.cache`。想备份其中哪一项,就把它删掉。 ## 模式的写法 - **不含斜杠的名称或模式**会匹配任何位置上同名的文件或文件夹。`node_modules` 会跳过每一个 `node_modules` 文件夹及其中的所有内容。 - **含有斜杠的模式**是一个完整路径。它会跳过这个路径及其下的所有内容。`~` 代表你的主文件夹,比如 `~/Downloads/Movies`。 模式中可以使用这些通配符: | 通配符 | 匹配 | | --- | --- | | `*` | 任意数量的字符,`/` 除外 | | `?` | 任意单个字符,`/` 除外 | | `[abc]` | 列出的字符中的一个。`[a-z]` 表示一个范围,`[^abc]` 表示列出字符以外的任意字符 | | `\` | 让下一个字符按字面匹配,所以 `\*` 匹配真正的 `*` | 模式区分大小写,所以 `*.MOV` 不会跳过 `clip.mov`。 列表中的文件夹本身永远不会被跳过,被跳过的只会是它们里面的内容。 ## 示例 | 模式 | 跳过 | | --- | --- | | `*.iso` | 所有磁盘映像 | | `.git` | 所有 Git 文件夹 | | `Cache*` | 名称以 `Cache` 开头的所有内容 | | `~/Library/Caches` | macOS 主文件夹中的缓存文件夹 | | `~/Videos/*.mov` | 直接位于 `~/Videos` 中的 `.mov` 文件,不包括子文件夹中的 | ## 修改列表 运行 `frost init` 并修改 "Skip"(跳过)这一步,或者使用 `frost config edit`。也可以用一条命令设置整个列表,这会替换掉原有的内容: ```sh frost config set exclude .DS_Store node_modules '*.tmp' '~/Downloads' ``` 含有 `*` 或 `~` 的模式要加上引号,以免 shell 先把它们展开。 只在某一次备份中跳过某些内容: ```sh frost backup --exclude '*.iso' ``` 跳过某些内容,并不会把它们从已有的快照中删除。