Linode CLI cheatsheet

Basic Linode CLI commands

view on github

Linode cloud CLI commands

Table of contents

  1. Help commands
  2. Linodes management
  3. Stackscripts management
  4. Useful links

Help commands

# enable autocompletion
source <(linode-cli completion bash)
# configure CLI with access token (saved in $HOME/.config/linode-cli)
linode-cli configure --token
# account information commands
linode-cli account --help
# available linodes related commands
linode-cli linodes --help
# available firewalls related commands
linode-cli firewalls --help
# ip addresses management actions
linode-cli networking --help

Linodes management

List available instance types, images and regions

# list instance types
linode-cli linodes types
# list regions (linode-cli regions list)
linode-cli regions list
# list images
linode-cli images list
# list private provisioning scripts
linode-cli stackscripts list --is_public false

Start, stop and delete linodes

# list instances with their IDs
linode-cli linodes list

# autocompletion is NOT available
linode-cli linodes boot "$linode_id"
linode-cli linodes shutdown "$linode_id"
linode-cli linodes delete "$linode_id"

Stackscripts management

Add a new provisioning script to the account

# script specifics
SCRIPT_TITLE="debian-minimal"
LINODE_IMAGE="linode/debian11"
SCRIPT="$(realpath ./linode.minimal.provision.sh)"
DESCRIPTION="minimal provisioning script for tests"

# scripts are managed at account level + make script private
linode-cli stackscripts create \
--label "$SCRIPT_TITLE" \
--images "$LINODE_IMAGE" \
--script "$SCRIPT" \
--description "$DESCRIPTION" \
--is_public false

Update an existing provisioning script

# script specifics
SCRIPT_TITLE="debian-minimal"
SCRIPT="$(realpath ./linode.minimal.provision.sh)"

# retrieve script id
SCRIPT_ID=$(linode-cli stackscripts list --label "$SCRIPT" --no-headers --format id --text)

# update script
linode-cli stackscripts update "$SCRIPT_ID" --script "$SCRIPT"

Useful links