素材阁

Terraform 命令速查

共 33 条 Terraform 常用命令,覆盖基本工作流(init / plan / apply / destroy)、 状态管理、变量与输出、工作区与调试五组场景。支持搜索与分类筛选,点击命令即可复制。

基本工作流

标准流程:init → plan → apply → destroy。

命令说明
初始化,下载 provider 与模块
升级 provider 与模块到允许的新版本
格式化 .tf 文件(-recursive 递归子目录)
校验语法与配置是否合法
预览将要创建 / 修改 / 删除的资源
把执行计划保存到文件
执行变更(会再次确认)
按保存的计划执行,结果可预期
跳过确认(脚本 / CI 用,谨慎)
销毁本配置管理的全部资源(危险)
查看当前 state 或指定 plan 文件

状态管理

state 记录已创建的资源,慎改。

命令说明
列出 state 中的全部资源
查看某资源的详细属性
从 state 移除(不销毁实际资源)
把已存在的资源导入 state
用真实资源状态刷新 state
标记资源需重建(apply 时替换)
取消重建标记

变量与输出

传参与读取输出。

命令说明
命令行传入单个变量
用 tfvars 文件批量传参
查看本配置的输出值
以 JSON 输出,便于脚本读取
导出远程 state 到本地

工作区

同一份配置管理多套环境。

命令说明
列出所有工作区
新建并切换到 dev 工作区
切换到 prod 工作区
显示当前工作区
删除工作区(需先无资源)

调试与技巧

排查问题与常用开关。

命令说明
打开详细日志排查问题
用退出码区分「有变更(2) / 无变更(0)」
列出配置依赖的 provider
导出资源依赖图
交互式测试表达式与函数

使用说明

Terraform 常用命令速查:基本工作流、状态管理、变量与输出、工作区与调试;支持搜索与分类筛选,点击命令即可复制。

  1. 按用途点分类:基本工作流、状态管理、变量与输出、工作区、调试与技巧。
  2. 点「命令」列复制,替换资源地址(如 aws_instance.web)与变量值后执行。
  3. 标准流程:terraform init → plan 预览 → apply 执行;确认无误再销毁用 destroy。
  4. 脚本 / CI 中若要跳过确认,用 apply -auto-approve,并先把 plan 保存成文件再审。

常见问题

plan 和 apply 之间有什么联系?
plan 只预览将要发生的变化,不真正改动;apply 才会执行。若要保证执行的正是预览过的计划,用 terraform plan -out=tfplan 保存,再 terraform apply tfplan。
state 文件能随便删吗?
不能。state 记录资源与真实环境的映射,删了会导致 Terraform 认为资源不存在并可能重复创建。应使用远程后端(如 S3 / COS)集中保存并开启锁定。
怎么让已存在的资源纳入管理?
用 terraform import <资源地址> <资源ID> 把它写进 state,然后在 .tf 里补上对应配置,使 plan 无差异。导入前该资源不能已被 state 记录。
workspace 适合隔离生产环境吗?
适合中小规模的多环境隔离。但生产环境更推荐「独立目录 + 独立 state + 独立变量文件」,避免一次切换工作区误操作到生产。

延伸阅读

相关工具