---
author: 田冬冬
date: 2024-09-09
---

# 输入文件的搜索目录

## 搜索目录顺序

GMT 命令行经常需要读入文件。如果指定了文件的完整路径，GMT 会直接读入。
否则，GMT 会**依次**到以下目录中去寻找文件，直到找到文件为止：

1. 当前目录：{file}`./`
2. GMT 用户目录：环境变量 **\$GMT_USERDIR** 所定义的目录
3. GMT 数据目录：配置参数 {term}`DIR_DATA` 或环境变量 **\$GMT_DATADIR** 所定义的目录
4. GMT 缓存目录：配置参数 {term}`DIR_CACHE` 或环境变量 **\$GMT_CACHEDIR** 所定义的目录

这些配置参数或环境变量的具体用途如下：

- 环境变量 **\$GMT_USERDIR**：
  指定用户自定义配置文件的存放目录。例如，用户自定义的 {file}`gmt.conf` 文件、
  自定义符号、CPT 文件、网格文件后缀文件等。
  若该环境变量未定义，则用户目录默认为 {file}`~/.gmt` 目录（Linux 和 macOS ）
  或 {file}`C:\\Users\\用户名\\.gmt` 目录（Windows）。
- 配置参数 {term}`DIR_DATA` 或环境变量 **\$GMT_DATADIR**：
  指定一个或多个存放常用数据文件的数据目录。
  若该配置参数和环境变量均未定义，则数据目录默认为空；多个目录之间用逗号分隔；
  以斜杠 {kbd}`/` 结尾的目录都会被递归搜索（Windows 不支持此功能）。
  配置参数的值优先于且会**覆盖**环境变量的值，也就是说若同时设置了 {term}`DIR_DATA`
  和 **\$GMT_DATADIR**，则 GMT 只会在 {term}`DIR_DATA` 指定的目录中寻找。
- 配置参数 {term}`DIR_CACHE` 或环境变量 **\$GMT_CACHEDIR**：
  指定存放从 GMT 服务器上下载的临时数据（以 **@** 开头，如 {file}`@hotspots.txt`）的缓存目录。
  若该配置参数和环境变量均未定义，则默认缓存目录为 {file}`~/.gmt/cache`。
  可以使用 `gmt clear cache` 命令清空缓存目录。
  配置参数的值优先于且会**覆盖**环境变量的值，也就是说若同时设置了 {term}`DIR_CACHE`
  和 **\$GMT_CACHEDIR**，则 GMT 只会使用 {term}`DIR_CACHE` 指定的目录。

## 其他目录

还有一些目录相关的 GMT 配置参数或环境变量：

- 配置参数 {term}`DIR_DCW`：
  指定 {doc}`DCW 数据 </dataset/dcw/index>` 所在目录。该数据的默认目录为 **\$GMT_SHAREDIR**/dcw 目录。
- 配置参数 {term}`DIR_GSHHG`：
  指定 {doc}`GSHHG 数据 </dataset/gshhg>` 所在目录。该数据的默认目录为 **\$GMT_SHAREDIR**/coast 目录。
- 环境变量 **\$GMT_SHAREDIR**：
  指定 GMT 的 {file}`share` 目录。若未设置，GMT 自动猜测其所在位置
  （如 GMT 安装目录下的 {file}`share` 目录）。此环境变量通常不需设置，
  且推荐仅在特殊需求时设置。
