Terraform Most-Used Commands

FREE Terraform CLI AWS / Azure / GCP / Oracle Lite / Pro / Pro Plus coming soon

Terraform: FREE interactive emulator for AWS, Azure, GCP, and Oracle

Learn Terraform step by step with a visual learning-mode emulator. It includes guided challenges, a simulated terminal, infrastructure canvas output, and commands ready to copy or run.

40 explained Terraform commands

Use Copy to send the command to your clipboard or Run to load it into the emulator on this same page.

#CommandExplanationCopyRun
1terraform initInitializes the working directory and downloads required providers/modules.
2terraform init -upgradeUpgrades providers and modules while respecting version constraints.
3terraform init -backend=falseInitializes without configuring a remote backend; useful for local validation or CI.
4terraform fmtFormats .tf files using Terraform standard style.
5terraform fmt -recursiveFormats the current directory and all subdirectories.
6terraform validateValidates syntax, types and internal structure without creating resources.
7terraform validate -jsonReturns validation results as JSON for automated integrations.
8terraform planPreviews the changes Terraform would make to the infrastructure.
9terraform plan -out=tfplanSaves the plan so it can be applied later in a controlled way.
10terraform plan -destroyPreviews destruction of resources managed by the state.
11terraform plan -var="env=dev"Runs the plan using a variable passed from the command line.
12terraform plan -var-file="dev.tfvars"Runs the plan using variables from a tfvars file.
13terraform applyApplies proposed changes and creates, modifies or deletes resources.
14terraform apply tfplanApplies a plan previously saved with -out.
15terraform apply -auto-approveApplies without interactive approval; use only in labs or controlled CI/CD.
16terraform destroyDestroys infrastructure managed by the current state.
17terraform destroy -auto-approveDestroys without asking for confirmation; critical command to use carefully.
18terraform outputShows values defined in output blocks.
19terraform output -jsonShows outputs as JSON for integrations and scripts.
20terraform state listLists resources Terraform manages in the current state.
21terraform state show aws_instance.demoShows detailed attributes for one resource in state.
22terraform state mv old newRenames or moves a resource within state without recreating it.
23terraform state rm resourceRemoves a resource from state without deleting it from the real cloud.
24terraform import resource idImports an existing resource so Terraform can manage it.
25terraform refreshRefreshes state from provider data; newer workflows prefer plan/apply.
26terraform providersShows providers required by the configuration and modules.
27terraform providers lockGenerates or updates the provider lock file for repeatable runs.
28terraform versionShows the installed Terraform version and relevant provider versions.
29terraform consoleOpens an interactive console to evaluate Terraform expressions.
30terraform graphGenerates a DOT dependency graph between resources.
31terraform workspace listLists available workspaces.
32terraform workspace new devCreates a workspace to separate state by environment.
33terraform workspace select devSwitches to the dev workspace.
34terraform workspace showShows the active workspace.
35terraform taint resourceMarks a resource to be recreated on the next apply.
36terraform untaint resourceRemoves the taint mark from a resource.
37terraform loginLogs in to use Terraform Cloud or HCP Terraform.
38terraform logoutLogs out of the saved Terraform Cloud/HCP session.
39terraform testRuns native Terraform tests when test files exist.
40terraform modulesShows modules used by the configuration when supported by the CLI.

The emulator is educational: it does not request credentials, connect to real clouds, or create real resources.

50 Microsoft Excel Functions

🎓 FREE educational

Learn Excel easily with guided practice and interactive challenges

Practice formulas, functions, finance, accounting, inventory and data analysis without installing Microsoft Excel. The emulator is embedded into this page as a step-by-step guide so users can learn faster, understand each result and practice with clear challenges.

✅ Interactive table🧠 Explanation canvas📋 Copy-ready formulas🌎 Multilingual🚀 LITE / PRO / PRO Plus coming soon

How to use this learning page

The goal is not to memorize all of Excel. The goal is to practice with small, clear exercises. Each challenge shows what to do, where to write the formula, what result to expect and why that result is correct.

1. Review the dataLook at the challenge table and understand what needs to be calculated.
2. Write the formulaUse the hint or try to solve it by yourself.
3. Run and validateThe emulator calculates, validates and explains the result.
4. Move to the next challengeLearn a new function with progressive practice.

Embedded Excel emulator: guide and challenges

This shortcode activates the emulator in guided learning mode, ideal for teaching Excel from scratch with challenges.

fx
📱 On mobile you can scroll the table sideways or use compact mode.

Recommended fast learning path

Level 1: BasicsSUM, AVERAGE, MIN, MAX and COUNT for simple calculations.
Level 2: ConditionsIF, IFS, SUMIF and COUNTIF to make decisions with data.
Level 3: Clean dataTRIM, TEXT, CONCAT, LEFT, RIGHT and SUBSTITUTE to organize information.
Level 4: LookupsVLOOKUP, XLOOKUP, INDEX and MATCH to connect tables.
Level 5: FinancePMT, FV, PV, NPV and IRR to explain loans, investments and profitability.
Level 6: AccountingNet profit, balance, inflows, outflows and available inventory.

50 Excel commands, functions and formulas to practice

Copy each example, paste it into the emulator and review the result. The table adapts to phones, tablets and desktop screens.

#CategoryCommand / functionCopy exampleUsePractical explanationCopy
1BasicsSUM=SUM(B2:B6)Adds a range of values.Useful for adding sales, expenses, inventory or any numeric list.
2BasicsAVERAGE=AVERAGE(B2:B6)Calculates the average.Good for grades, sales, costs or time averages.
3BasicsMIN=MIN(B2:B6)Finds the lowest value.Helps detect the lowest cost, minimum sale or lowest result.
4BasicsMAX=MAX(B2:B6)Finds the highest value.Helps identify the highest sale, highest cost or best result.
5BasicsCOUNT=COUNT(B2:B20)Counts cells containing numbers.Counts numeric records without including text.
6BasicsCOUNTA=COUNTA(A2:A20)Counts non-empty cells.Useful for counting records, names, products or captured entries.
7ConditionsIF=IF(B2>=70,"Passed","Review")Evaluates a condition and returns a result.Ideal for status lights, approvals, diagnostics and validations.
8ConditionsIFS=IFS(B2>=90,"Excellent",B2>=70,"Good",B2<70,"Review")Evaluates several conditions in order.Classifies results without many nested IF formulas.
9ConditionsSUMIF=SUMIF(A2:A20,"Sales",B2:B20)Adds values that meet one condition.Useful for adding sales, expenses or transactions by category.
10ConditionsSUMIFS=SUMIFS(C2:C50,A2:A50,"Sales",B2:B50,"January")Adds values with multiple conditions.Great for reports by category, month, customer or region.
11ConditionsCOUNTIF=COUNTIF(B2:B50,">=70")Counts cells that meet a condition.Counts passed students, low stock items or critical tickets.
12ConditionsCOUNTIFS=COUNTIFS(A2:A50,"Sales",B2:B50,"January")Counts records with multiple conditions.Useful for audits, reports and segmented analysis.
13ConditionsAVERAGEIF=AVERAGEIF(A2:A50,"Sales",B2:B50)Averages values based on one condition.Shows average sales, costs or results by group.
14Formatting and numbersROUND=ROUND(B2,2)Rounds a number to a specific number of decimals.Very useful for amounts, percentages, taxes and indicators.
15Formatting and numbersROUNDUP=ROUNDUP(B2,0)Rounds up.Useful when minimum coverage, packages or full units are required.
16Formatting and numbersROUNDDOWN=ROUNDDOWN(B2,0)Rounds down.Good for conservative estimates or whole-unit calculations.
17Formatting and numbersABS=ABS(B2)Converts a negative number into positive.Useful for showing differences, losses or variations without a negative sign.
18DatesTODAY=TODAY()Shows the current date.Useful for dynamic reports, due dates and daily controls.
19DatesNOW=NOW()Shows the current date and time.Useful for logs, records and timestamps.
20DatesDATE=DATE(2026,6,16)Creates a date using year, month and day.Avoids format issues when building dates.
21DatesYEAR=YEAR(A2)Extracts the year from a date.Useful for annual reports and year grouping.
22DatesMONTH=MONTH(A2)Extracts the month from a date.Useful for classifying sales, expenses or transactions by month.
23DatesDAY=DAY(A2)Extracts the day from a date.Useful for daily analysis or due dates.
24TextTEXT=TEXT(B2,"$#,##0.00")Converts values to formatted text.Useful for presenting amounts, dates or percentages clearly.
25TextCONCAT=CONCAT(A2," - ",B2)Joins text from multiple cells.Creates combined keys, labels or descriptions.
26TextLEFT=LEFT(A2,3)Extracts characters from the beginning.Useful for prefixes, codes or abbreviations.
27TextRIGHT=RIGHT(A2,4)Extracts characters from the end.Useful for endings, last digits or codes.
28TextMID=MID(A2,2,5)Extracts text from a specific position.Useful for splitting parts of keys or identifiers.
29TextLEN=LEN(A2)Counts characters.Helps validate code, SKU, name or ID lengths.
30TextTRIM=TRIM(A2)Removes extra spaces.Very useful for cleaning data pasted from other systems.
31TextUPPER=UPPER(A2)Converts text to uppercase.Normalizes names, codes or records.
32TextLOWER=LOWER(A2)Converts text to lowercase.Standardizes emails, labels or data.
33TextFIND=FIND("@",A2)Finds the position of text inside another text.Useful for validating emails or splitting information.
34TextSUBSTITUTE=SUBSTITUTE(A2," ","-")Replaces specific text.Useful for cleaning data or creating slugs/codes.
35LookupVLOOKUP=VLOOKUP(A2,Products!A:D,4,FALSE)Looks up a value in the first column of a table.Useful for bringing prices, descriptions or related data.
36LookupXLOOKUP=XLOOKUP(A2,Products!A:A,Products!D:D,"Not found")Looks up values flexibly.Modern alternative for clearer and safer lookups.
37LookupINDEX=INDEX(B2:B20,3)Returns a value based on its position.Extracts specific data from a list.
38LookupMATCH=MATCH(E2,A2:A20,0)Finds the position of a value.Commonly used with INDEX for advanced lookups.
39Dynamic dataFILTER=FILTER(A2:C50,B2:B50="Active")Filters data that meets a condition.Ideal for clean views of customers, products or transactions.
40Dynamic dataSORT=SORT(A2:C50,2,-1)Sorts data by column.Useful for rankings, top sales or priorities.
41Dynamic dataUNIQUE=UNIQUE(A2:A50)Returns unique values.Useful for customer, category or product lists without duplicates.
42ErrorsIFERROR=IFERROR(B2/C2,"Review data")Shows a message if there is an error.Avoids confusing results like #DIV/0! or #N/A.
43FinancePMT=PMT(12%/12,24,-50000)Calculates a loan payment.Useful for monthly credit, financing or loan payments.
44FinanceFV=FV(8%/12,36,-1000)Calculates future value.Estimates future savings or investment value.
45FinancePV=PV(10%/12,24,-2500)Calculates present value.Shows the current value of future payments.
46FinanceNPV=NPV(10%,B2:B6)Calculates net present value.Helps evaluate investment projects.
47FinanceIRR=IRR(B2:B7)Calculates internal rate of return.Useful for analyzing investment profitability.
48FinancePercentage=B2/B3Calculates ratios or percentages.Example: margin, progress, compliance or share.
49AccountingNet profit=B2-B3-B4-B5Subtracts costs, expenses and taxes from income.Explains real profit for a period.
50AccountingBalance=SUM(B2:B10)-SUM(C2:C10)Compares debit vs credit or inflows vs outflows.Useful for simple balances and reconciliations.
51InventoryAvailable stock=B2-C2+D2Calculates final inventory.Adds entries, subtracts exits and shows availability.

50 Most-Used Docker Commands

🐳 50 Most-Used Docker Commands with Interactive Emulator

Docker helps you build, share, and run applications in containers. This WordPress-ready guide combines a practical command table, an emulator, guided challenges, a visual canvas, and Dockerfile + Docker Compose practice without connecting to a real Docker daemon.

Learning note: emulator output is simulated for training. Real output can vary by Docker Engine version, operating system, image tags, local resources, Docker Desktop settings, registry permissions, and compose.yaml content.

🚀 Responsive Docker Emulator

Type a command, choose a suggestion, or click “Use in Emulator” from the table. The emulator shows simulated output, guided feedback, and visual movement across images, containers, volumes, networks, Dockerfile, and Compose services.

Challenge: run docker version to start your Docker session.
DOCKER WORKSPACE
RESOURCE SCOPE 0
docker-runbook.md0/13

Docker CLI

FREE challenges are available now. LITE, PRO, and PRO Plus will be available soon with more guided labs and deeper scoring.

Expected runbook commandsdocker version
Run the next command to receive guided feedback.
Run the next command to receive guided feedback.
Dockerfile used in this challenge
This challenge focuses on Docker CLI operations. Dockerfile and Compose examples appear in the last three FREE challenges.
compose.yaml used in this challenge
compose.yaml: This challenge focuses on Docker CLI operations. Dockerfile and Compose examples appear in the last three FREE challenges.
How Docker Compose uses it: This challenge focuses on Docker CLI operations. Dockerfile and Compose examples appear in the last three FREE challenges.
Docker Visual CanvasNo changes yet: run a command to move simulated Docker resources.
What is happening?Run a Docker command to see the emulator explain how images, containers, volumes, networks, Dockerfile, and Compose change.
WORKSPACE OUTPUTwaiting
$ Waiting for a Docker command...
Run a command to see simulated Docker output here.
$ Docker Emulator Ready
Tip: choose a command from the table and click "Use in Emulator".

On small screens, the table automatically becomes cards so content is not cut off.

#Command / ParameterDescriptionExampleActions
1docker versionShow Docker client and server version information.docker version
2docker infoDisplay system-wide Docker information.docker info
3docker loginAuthenticate to a container registry.docker login
4docker logoutLog out from a container registry.docker logout
5docker searchSearch Docker Hub for images.docker search nginx
6docker pullDownload an image from a registry.docker pull nginx:latest
7docker imagesList local images.docker images
8docker image inspectInspect image metadata.docker image inspect nginx:latest
9docker image historyShow the layer history of an image.docker image history nginx:latest
10docker tagCreate a new tag for an image.docker tag nginx:latest local-nginx:v1
11docker buildBuild an image from a Dockerfile.docker build -t demo-app:1.0 .
12docker build --no-cacheBuild an image without using cache.docker build --no-cache -t demo-app:clean .
13docker runCreate and run a container from an image.docker run hello-world
14docker run -dRun a container in detached mode.docker run -d --name web -p 8080:80 nginx:latest
15docker psList running containers.docker ps
16docker ps -aList all containers, including stopped ones.docker ps -a
17docker logsShow container logs.docker logs web
18docker logs -fFollow container logs in real time.docker logs -f web
19docker execRun a command inside a running container.docker exec -it web sh
20docker stopStop a running container.docker stop web
21docker startStart a stopped container.docker start web
22docker restartRestart a container.docker restart web
23docker rmRemove a stopped container.docker rm web
24docker rmiRemove a local image.docker rmi local-nginx:v1
25docker container pruneRemove stopped containers.docker container prune -f
26docker image prune -aRemove unused images.docker image prune -a -f
27docker volume createCreate a named volume.docker volume create app-data
28docker volume lsList Docker volumes.docker volume ls
29docker volume inspectInspect a volume.docker volume inspect app-data
30docker volume rmRemove a Docker volume.docker volume rm app-data
31docker network createCreate a Docker network.docker network create app-net
32docker network lsList Docker networks.docker network ls
33docker network inspectInspect a Docker network.docker network inspect app-net
34docker network connectConnect a container to a network.docker network connect app-net web
35docker network rmRemove a Docker network.docker network rm app-net
36docker cpCopy files between host and container.docker cp index.html web:/usr/share/nginx/html/index.html
37docker statsShow live resource usage statistics.docker stats --no-stream
38docker topDisplay running processes inside a container.docker top web
39docker inspectReturn low-level Docker object information.docker inspect web
40docker eventsMonitor Docker daemon events.docker events --since 10m
41docker compose versionShow Docker Compose version.docker compose version
42docker compose upCreate and start services from compose.yaml.docker compose up -d
43docker compose psList containers managed by Compose.docker compose ps
44docker compose logsShow service logs from Compose.docker compose logs -f
45docker compose execRun a command inside a Compose service container.docker compose exec web sh
46docker compose restartRestart Compose services.docker compose restart
47docker compose downStop and remove Compose containers and networks.docker compose down
48docker compose down -vStop Compose services and remove named volumes too.docker compose down -v
49docker compose buildBuild or rebuild Compose services.docker compose build --no-cache
50docker compose pullPull service images defined in compose.yaml.docker compose pull

🧠 Conclusion

This Docker emulator is ready. The FREE pack contains the active challenges now, while LITE, PRO, and PRO Plus are visible as upcoming expansion tiers for deeper labs, scoring, downloadable runbooks, and advanced Docker Compose scenarios.