Cloud Computing 8 min read

Master Terraform: From Basics to Advanced CLI Commands

This guide introduces Terraform, an open-source IaC tool, covering its core concepts, key features, installation steps, command hierarchy, and execution workflow, enabling readers to confidently automate and manage cloud and on-premise infrastructure using declarative configurations.

Efficient Ops
Efficient Ops
Efficient Ops
Master Terraform: From Basics to Advanced CLI Commands

What is Terraform

Terraform is an open-source infrastructure-as-code (IaC) tool created by HashiCorp that lets you safely and efficiently build, change, and version-manage infrastructure using declarative configuration files.

It lets you define cloud and on-prem resources in human-readable files that can be version-controlled, reused, and shared. Terraform determines how to achieve the desired state, supporting VMs, networks, containers, and multi-cloud environments with a consistent workflow.

The core idea is declarative configuration: you describe the desired outcome without specifying how to achieve it, making infrastructure more predictable, easier to manage, and less error‑prone.

图片
图片

Main Features

Terraform stands out in the IaC space with the following powerful features:

Infrastructure as Code : Describe infrastructure with a high-level configuration language, enabling version control like code.

Execution Plan : Generates a plan before applying changes, clearly showing what will happen to avoid surprises.

Resource Dependency Graph : Builds a graph of resource dependencies and creates or modifies resources in parallel when possible.

Change Automation : Applies complex change sets with minimal manual intervention.

图片
图片

Installation and Deployment

Before starting, ensure the following prerequisites are installed:

Go (>= 1.25). Verify with go version.

Git for cloning the Terraform repository.

Basic development tools (e.g., build-essential on Ubuntu/Debian or Development Tools on CentOS/RHEL).

3.1 Clone the Repository

Run the following commands to clone Terraform and enter the directory:

git clone https://github.com/hashicorp/terraform.git
cd terraform

3.2 Simple Build

For a quick build, use the standard Go build command:

go build -o bin/terraform .

3.3 Verify Installation

After building, verify the executable works:

# Navigate to bin directory:
cd bin

# Run Terraform with the -version flag:
./terraform -version

# Expected output:
Terraform v1.5.0

Command Structure

Terraform commands are divided into two groups:

4.1 Core Commands

These are the most commonly used commands that form Terraform’s core workflow:

init – Prepare a directory as a Terraform working directory.

validate – Check whether the configuration is valid.

plan – Create an execution plan to preview changes.

apply – Apply the changes required to reach the desired state.

destroy – Destroy all managed infrastructure.

4.2 Additional Commands

These provide more specialized functionality:

console    Interactive console for evaluating expressions
fmt        Reformat configuration files to a canonical style
graph      Generate visual graphs of Terraform resources
import     Import existing infrastructure into Terraform management
output     Show output variables from the configuration
providers  Show provider information and manage provider locks
refresh    Update the state file to match real infrastructure
show       Show the current state or a saved plan
taint/untaint Mark resources for recreation or clear taint
test       Run automated tests for Terraform modules
workspace  Manage multiple workspaces
state      Advanced state management commands

Command Execution Process

When a Terraform command runs, the following sequence occurs:

Initialization – CLI sets up logging, telemetry, and terminal handling.

Configuration Loading – Loads CLI configuration and provider settings.

Command Parsing – Parses the command and its arguments.

Command Execution – Executes the appropriate command implementation.

Cleanup – Cleans up resources and returns an exit code.

The CLI includes smart error handling that suggests corrections for misspelled commands.

Conclusion

The Terraform CLI is both intuitive and powerful, providing all the tools needed to manage infrastructure as code effectively. Its well‑organized command structure, comprehensive help system, and flexible configuration options make it suitable for simple workflows as well as complex infrastructure management scenarios.

Understanding the CLI architecture and available commands enables users to fully leverage Terraform’s potential for automating and scaling infrastructure management processes.

DevOpsiacTerraformInfrastructure as Codecloud automation
Efficient Ops
Written by

Efficient Ops

This public account is maintained by Xiaotianguo and friends, regularly publishing widely-read original technical articles. We focus on operations transformation and accompany you throughout your operations career, growing together happily.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.