Ad-hoc Commands

ansible all -m ping Ping all hosts
ansible all -m setup Gather facts
ansible all -m shell -a "uptime" Run shell command
ansible all -m copy -a "src=/local dest=/remote" Copy file
ansible all -m file -a "path=/tmp/test state=directory" Create directory
ansible all -m apt -a "name=nginx state=present" -b Install package
ansible all -m service -a "name=nginx state=started" -b Start service
ansible all -m user -a "name=deploy state=present" -b Create user

Playbook Execution

ansible-playbook playbook.yml Run playbook
ansible-playbook playbook.yml -i inventory Custom inventory
ansible-playbook playbook.yml -l webservers Limit to group
ansible-playbook playbook.yml -t deploy Run specific tags
ansible-playbook playbook.yml --skip-tags test Skip tags
ansible-playbook playbook.yml -e "env=prod" Extra variables
ansible-playbook playbook.yml --check Dry run
ansible-playbook playbook.yml --diff Show changes
ansible-playbook playbook.yml -v Verbose output
ansible-playbook playbook.yml -vvv Very verbose

Inventory Management

ansible-inventory --list List inventory
ansible-inventory --graph Show inventory graph
ansible-inventory --host hostname Host variables
ansible all --list-hosts List all hosts
ansible webservers --list-hosts List group hosts

Vault (Secrets)

ansible-vault create secrets.yml Create encrypted file
ansible-vault edit secrets.yml Edit encrypted file
ansible-vault view secrets.yml View encrypted file
ansible-vault encrypt secrets.yml Encrypt existing file
ansible-vault decrypt secrets.yml Decrypt file
ansible-vault rekey secrets.yml Change password
ansible-playbook site.yml --ask-vault-pass Prompt for vault password
ansible-playbook site.yml --vault-password-file=.vault Use password file

Galaxy (Roles)

ansible-galaxy init role_name Create role skeleton
ansible-galaxy install user.role Install role
ansible-galaxy install -r requirements.yml Install from file
ansible-galaxy list List installed roles
ansible-galaxy remove user.role Remove role
ansible-galaxy collection install community.general Install collection

Debugging

ansible-playbook playbook.yml --syntax-check Check syntax
ansible-playbook playbook.yml --list-tasks List tasks
ansible-playbook playbook.yml --list-tags List tags
ansible-playbook playbook.yml --step Step through tasks
ansible-playbook playbook.yml --start-at-task="task name" Start at task
ansible-config dump Show config
ansible-doc -l List modules
ansible-doc apt Module documentation

Common Modules

apt/yum/dnf Package management
copy/template File operations
file File properties
service/systemd Service management
user/group User management
lineinfile/blockinfile File content
command/shell/raw Command execution
debug/assert/fail Debugging
git Git operations
docker_container/docker_image Docker management

Connection Options

-u remote_user Remote user
-b / --become Privilege escalation
-K / --ask-become-pass Prompt sudo password
--private-key=~/.ssh/key SSH key
-c local Local connection
-f 10 Parallel forks
-T 30 Connection timeout