Ansible CLI cheatsheet
This page shows one or more examples of each Ansible command line utility with some common flags added and a link to the full documentation for the command. This page offers a quick reminder of some common use cases only - it may be out of date or incomplete or both. For canonical documentation, follow the links to the CLI pages.
ansible-playbook
ansible-playbook -i /path/to/my_inventory_file -u my_connection_user -k -f 3 -T 30 -t my_tag -M /path/to/my_modules -b -K my_playbook.yml
- Loads my_playbook.ymlfrom the current working directory and:
- -i- uses- my_inventory_filein the path provided for inventory to match the pattern.
- -u- connects over SSH as- my_connection_user.
- -k- asks for password which is then provided to SSH authentication.
- -f- allocates 3 forks.
- -T- sets a 30-second timeout.
- -t- runs only tasks marked with the tag- my_tag.
- -M- loads local modules from- /path/to/my/modules.
- -b- executes with elevated privileges (uses become).
- -K- prompts the user for the become password.
 
See ansible-playbook for detailed documentation.
ansible-galaxy
Installing collections
- Install a single collection: 
ansible-galaxy collection install mynamespace.mycollection
Downloads mynamespace.mycollection from the configured Galaxy server (galaxy.ansible.com by default).
- Install a list of collections: 
ansible-galaxy collection install -r requirements.yml
Downloads the list of collections specified in the requirements.yml file.
- List all installed collections: 
ansible-galaxy collection list
Installing roles
- Install a role named example.role: 
ansible-galaxy role install example.role
# SNIPPED_OUTPUT
- extracting example.role to /home/user/.ansible/roles/example.role
- example.role was installed successfully
- List all installed roles: 
ansible-galaxy role list
See ansible-galaxy for detailed documentation.
ansible
Running ad-hoc commands
- Install a package 
ansible localhost -m ansible.builtin.apt -a "name=apache2 state=present" -b -K
Runs  ansible localhost- on your local system.
- name=apache2 state=present - installs the apache2 package on a Debian-based system.
- -b - uses become to execute with elevated privileges.
- -m - specifies a module name.
- -K - prompts for the privilege escalation password.
localhost | SUCCESS => {
"cache_update_time": 1709959287,
"cache_updated": false,
"changed": false
#...
ansible-doc
- Show plugin names and their source files: 
ansible-doc -F
#...
- Show available plugins: 
ansible-doc -t module -l
#...
