889 commands · 48 cheat sheets · 6 subcategories

Linux master quick reference

Browse 223 commands from 12 focused cheat sheets on page 1 of 4. Each example opens its matching detailed section.

Shell, Files, and Automation · 20 commands

Bash Scripting Cheat Sheet

Open full cheat sheet
UseSyntaxExamples
Select Bash through PATH#!/usr/bin/env bashView examples
Enable stricter failure handlingset -Eeuo pipefailView examples
Read an argumentinput=${1:?usage: script INPUT}View examples
Supply a defaultmode=${MODE:-safe}View examples
Preserve one argumentprintf '%s\n' "$filename"View examples
Create an arrayfiles=("report one.txt" "report two.txt")View examples
Pass every array membercommand -- "${files[@]}"View examples
Read a literal lineIFS= read -r lineView examples
Process a file line by linewhile IFS= read -r line; do printf '%s\n' "$line"; done \ < input.txtView examples
Test a regular fileif [[ -f $path ]]; then process "$path"; fiView examples
Compare integersif (( count > 10 )); then printf 'large\n'; fiView examples
Match alternativescase $mode in safe|fast) run "$mode" ;; *) exit 2 ;; \ esacView examples
Define a functionlog() { printf '%s\n' "$*" >&2; }View examples
Keep function state locallocal path=$1View examples
Parse short optionswhile getopts ':o:v' option; do case $option in o) \ output=$OPTARG ;; v) verbose=1 ;; esac; doneView examples
Remove parsed optionsshift "$((OPTIND - 1))"View examples
Create a temporary directoryworkdir=$(mktemp -d)View examples
Clean up on exittrap 'rm -rf -- "$workdir"' EXITView examples
Check syntaxbash -n script.shView examples
Run static analysisshellcheck script.shView examples

Shell, Files, and Automation · 18 commands

Cron, at, and Anacron Scheduling Cheat Sheet

Open full cheat sheet
UseSyntaxExamples
List personal crontabcrontab -lView examples
Edit personal crontabcrontab -eView examples
Validate a Cronie tablecrontab -T ./app.crontabView examples
Install a reviewed tablecrontab ./app.crontabView examples
Run on weekday mornings15 6 * * 1-5 /usr/local/bin/report-jobView examples
Run every 15 minutes*/15 * * * * /usr/local/bin/health-sampleView examples
Select Cronie timezoneCRON_TZ=UTCView examples
Set a deterministic PATHPATH=/usr/local/bin:/usr/bin:/binView examples
Define a system cron job20 2 * * * backup /usr/local/libexec/app-backupView examples
Prevent overlapping runsflock -n /run/user/1000/report.lock \ /usr/local/bin/report-jobView examples
Queue commands from a fileat -f ./maintenance.sh 02:30 tomorrowView examples
List queued at jobsatqView examples
Inspect an at jobat -c 42View examples
Remove an at jobatrm 42View examples
Queue for low loadbatch -f ./index-rebuild.shView examples
Define a weekly catch-up job7 20 app-weekly /usr/local/libexec/app-weeklyView examples
Validate anacrontabsudo anacron -T -t /etc/anacrontabView examples
Run one due job in foregroundsudo anacron -d -s app-weeklyView examples

Shell, Files, and Automation · 20 commands

Linux Archives and Compression Cheat Sheet

Open full cheat sheet
UseSyntaxExamples
Create a tar archivetar -cf project.tar project/View examples
Archive relative namestar -C /srv/app -cf app.tar config publicView examples
Exclude generated filestar --exclude='*.log' --exclude='cache/' -cf app.tar \ app/View examples
List archive memberstar -tf project.tarView examples
Inspect stored metadatatar -tvf project.tarView examples
Extract an archivetar -xf project.tar -C destination/View examples
Extract one membertar -xf project.tar project/README.mdView examples
Remove a leading directorytar -xf release.tar -C destination/ --strip-components=1View examples
Ignore stored ownershiptar -xf backup.tar -C destination/ --no-same-ownerView examples
Create a gzip tarballtar -czf project.tar.gz project/View examples
Create an xz tarballtar -cJf project.tar.xz project/View examples
Select compression by suffixtar -caf project.tar.gz project/View examples
Extract compressed tartar -xf project.tar.gz -C destination/View examples
Compress and keep a filegzip -k report.csvView examples
Decompress to standard outputgzip -dc report.csv.gz | headView examples
Compress with xzxz -k report.csvView examples
Test gzip integritygzip -t project.tar.gzView examples
Test xz integrityxz -t project.tar.xzView examples
Verify a checksum filesha256sum --check project.tar.gz.sha256View examples
Review before extractionfile release.tar.gz && gzip -t release.tar.gz && tar -tf \ release.tar.gzView examples

Shell, Files, and Automation · 14 commands

Linux Environment Variables and Shell Startup Cheat Sheet

Open full cheat sheet
UseSyntaxExamples
Print exported valuesprintenvView examples
Read one variableprintenv PATHView examples
Set a shell variablemode=developmentView examples
Export to childrenexport MODE=developmentView examples
Scope to one commandMODE=development ./appView examples
Remove a variableunset MODEView examples
Prepend a PATH directoryexport PATH="$HOME/.local/bin:$PATH"View examples
Resolve a commandcommand -v python3View examples
Start cleanenv -i PATH=/usr/bin:/bin HOME="$HOME" commandView examples
Inspect localelocaleView examples
List localeslocale -aView examples
Inspect manager environmentsystemctl show-environmentView examples
Set a unit variableEnvironment=APP_MODE=productionView examples
Load an environment fileEnvironmentFile=/etc/myapp/environmentView examples

Shell, Files, and Automation · 22 commands

Linux Files and Directories Cheat Sheet

Open full cheat sheet
UseSyntaxExamples
Show the current directorypwdView examples
List directory contentsls -lahView examples
Change directorycd /var/logView examples
Move to the parentcd ..View examples
Return homecd ~View examples
Create nested directoriesmkdir -p project/src/componentsView examples
Create an empty filetouch notes.txtView examples
Identify a file typefile archive.tar.gzView examples
Print a text filecat notes.txtView examples
Read the first lineshead -n 20 app.logView examples
Read the last linestail -n 20 app.logView examples
Follow a growing logtail -f app.logView examples
Copy a file safelycp -i config.ini config.ini.bakView examples
Copy a directory treecp -a project project-backupView examples
Move or rename an itemmv -i draft.txt final.txtView examples
Find files by namefind . -type f -name '*.json'View examples
Find recently changed filesfind . -type f -mtime -7View examples
Search text recursivelygrep -RIn --exclude-dir=.git 'TODO' .View examples
Measure directory sizedu -sh projectView examples
Remove a file interactivelyrm -i obsolete.txtView examples
Remove an empty directoryrmdir empty-directoryView examples
Remove a directory treerm -rI build-outputView examples

Shell, Files, and Automation · 20 commands

Linux Text Processing Cheat Sheet

Open full cheat sheet
UseSyntaxExamples
Find matching linesgrep 'ERROR' app.logView examples
Match literal textgrep -F 'user[id]' app.logView examples
Ignore letter casegrep -i 'warning' app.logView examples
Show line numbersgrep -n 'timeout' app.logView examples
Exclude matching linesgrep -v '^#' settings.confView examples
Use extended patternsgrep -E 'ERROR|WARN' app.logView examples
Replace the first matchsed 's/http:/https:/' links.txtView examples
Replace every matchsed 's/[[:space:]]\{1,\}/ /g' notes.txtView examples
Remove matching linessed '/^[[:space:]]*$/d' notes.txtView examples
Print selected fieldsawk -F',' '{print $1, $3}' records.csvView examples
Filter numeric fieldsawk -F',' '$3 >= 80 {print $1, $3}' scores.csvView examples
Sum a columnawk -F',' 'NR > 1 {sum += $3} END {print sum}' sales.csvView examples
Extract delimited fieldscut -d: -f1,7 /etc/passwdView examples
Sort textsort names.txtView examples
Sort numericallysort -t, -k2,2n scores.csvView examples
Count repeated linessort statuses.txt | uniq -cView examples
Convert letter casetr '[:lower:]' '[:upper:]' < names.txtView examples
Delete characterstr -d '\r' < windows.txtView examples
Count lineswc -l < app.logView examples
Summarize a fieldawk -F',' 'NR > 1 {print $2}' requests.csv | sort | uniq -c | sort -nrView examples

Shell, Files, and Automation · 17 commands

rsync and Incremental Backups Cheat Sheet

Open full cheat sheet
UseSyntaxExamples
Copy directory contentsrsync -a /srv/app/ /backup/app/View examples
Copy directory by namersync -a /srv/app /backup/View examples
Preserve ACLs and xattrssudo rsync -aAX /srv/app/ /backup/app/View examples
Stay on one filesystemrsync -a --one-file-system /srv/ /backup/srv/View examples
Preview itemized changesrsync -ain /srv/app/ /backup/app/View examples
Read exclude patternsrsync -a --exclude-from=/etc/backup/app.exclude \ /srv/app/ /backup/app/View examples
Mirror with delayed deletionrsync -ain --delete-delay --max-delete=100 /srv/app/ \ /backup/app/View examples
Retain replaced destination filesrsync -a --backup --backup-dir=../changed /srv/app/ \ /backup/current/View examples
Push through SSHrsync -a -e 'ssh -o BatchMode=yes' /srv/app/ \ backup@store.example:/vault/app/View examples
Protect remote argumentsrsync -a -s ./data/ \ backup@store.example:'/vault/team data/'View examples
Bound idle network timersync -a --timeout=120 --partial-dir=.rsync-partial \ /srv/app/ backup@store.example:/vault/app/View examples
Build a hard-linked snapshotrsync -a --link-dest=../previous /srv/app/ \ /backup/snapshots/2026-08-12/View examples
Audit snapshot changesrsync -ain --link-dest=../previous /srv/app/ \ /backup/snapshots/next/View examples
Checksum-compare a restorersync -nric --delete /backup/restore-test/ \ /srv/restore-reference/View examples
Preview a restorersync -ain /backup/snapshots/2026-08-12/ \ /srv/restore-test/View examples
Inspect local rsync versionrsync --versionView examples
Print transfer statisticsrsync -a --stats /srv/app/ /backup/app/View examples

Identity, Access, and Security · 20 commands

AppArmor Profiles and Troubleshooting Cheat Sheet

Open full cheat sheet
UseSyntaxExamples
Check module availabilityaa-enabledView examples
Inspect loaded policysudo aa-statusView examples
Inspect one task labelpid=$(systemctl show reportd.service -p MainPID \ --value); sudo cat "/proc/$pid/attr/current"View examples
Find recent denialssudo journalctl -k --grep='apparmor="DENIED"' \ --since='15 minutes ago'View examples
Query Audit recordssudo ausearch -m AVC,USER_AVC -ts recent | grep 'apparmor="DENIED"'View examples
Include base abstraction#include <abstractions/base>View examples
Include local overrides#include if exists <local/usr.local.bin.reportd>View examples
Allow recursive reads/srv/reporting/** r,View examples
Allow directory traversal/srv/reporting/ r,View examples
Limit writes to owned filesowner /var/lib/reportd/** rwk,View examples
Execute without transition/usr/bin/logger ix,View examples
Allow TCP networkingnetwork inet stream,View examples
Validate without loadingapparmor_parser -Q /etc/apparmor.d/usr.local.bin.reportdView examples
Expand includesapparmor_parser -p /etc/apparmor.d/usr.local.bin.reportdView examples
Replace one loaded profilesudo apparmor_parser -r \ /etc/apparmor.d/usr.local.bin.reportdView examples
Load complain mode temporarilysudo apparmor_parser -C -r \ /etc/apparmor.d/usr.local.bin.reportdView examples
Persist complain modesudo aa-complain /usr/local/bin/reportdView examples
Restore enforce modesudo aa-enforce /usr/local/bin/reportdView examples
Review logged behaviorsudo aa-logprofView examples
Disable one profilesudo aa-disable /usr/local/bin/reportdView examples

Identity, Access, and Security · 14 commands

Linux Audit Framework and auditd Cheat Sheet

Open full cheat sheet
UseSyntaxExamples
Inspect kernel audit statussudo auditctl -s -iView examples
Inspect the audit daemonsudo systemctl status auditd --no-pagerView examples
List active kernel rulessudo auditctl -lView examples
Check whether rules changedsudo augenrules --checkView examples
Build the merged rules filesudo augenrulesView examples
Build and load persistent rulessudo augenrules --loadView examples
Audit writes and metadata changes-a always,exit -F arch=b64 -F path=/etc/sudoers -F \ perm=wa -k sudoers_changeView examples
Audit a directory tree-a always,exit -F arch=b64 -F dir=/etc/sudoers.d/ -F \ perm=wa -k sudoers_changeView examples
Audit failed file access-a always,exit -F arch=b64 -S openat,truncate -F \ dir=/etc/ -F success=0 -k etc_access_deniedView examples
Search by rule keysudo ausearch --start today --key sudoers_change -iView examples
Search failed eventssudo ausearch --start recent --success no -iView examples
Summarize authentication activitysudo aureport --auth --summary -iView examples
Request auditd internal statesudo auditctl --signal stateView examples
Lock the audit configuration-e 2View examples

Identity, Access, and Security · 20 commands

Linux Capabilities and File Attributes Cheat Sheet

Open full cheat sheet
UseSyntaxExamples
Read process capability masksgrep -E '^Cap(Inh|Prm|Eff|Bnd|Amb):' /proc/1234/statusView examples
Decode a capability maskcapsh --decode=0000000000000400View examples
Show current capability contextcapsh --printView examples
Read file capabilitiesgetcap -v /usr/local/bin/ping-helperView examples
Scan one filesystem treesudo getcap -r /usr/local 2>/dev/nullView examples
Grant network bind capabilitysudo setcap 'cap_net_bind_service=ep' \ /usr/local/bin/webdView examples
Remove file capabilitiessudo setcap -r /usr/local/bin/webdView examples
Verify expected capabilitygetcap /usr/local/bin/webd | grep -F 'cap_net_bind_service=ep'View examples
Show highest supported capabilitycat /proc/sys/kernel/cap_last_capView examples
Check no-new-privilegesgrep '^NoNewPrivs:' /proc/1234/statusView examples
Inspect unit capability policysystemctl show webd.service -p CapabilityBoundingSet -p \ AmbientCapabilities -p NoNewPrivilegesView examples
Analyze unit exposuresystemd-analyze security webd.serviceView examples
List file attributeslsattr -d /etc/important.confView examples
Set immutablesudo chattr +i /etc/important.confView examples
Clear immutablesudo chattr -i /etc/important.confView examples
Set append-onlysudo chattr +a /var/log/example.logView examples
List extended attributesgetfattr --dump --absolute-names /usr/local/bin/webdView examples
Read raw capability xattrgetfattr --name=security.capability --hex \ /usr/local/bin/webdView examples
Copy while preserving xattrscp --archive --preserve=xattr /usr/local/bin/webd \ /srv/stage/webdView examples
Archive with xattrstar --xattrs --acls -cpf webd-backup.tar \ /usr/local/bin/webdView examples

Identity, Access, and Security · 20 commands

Linux PAM Authentication Cheat Sheet

Open full cheat sheet
UseSyntaxExamples
List PAM service filesfind /etc/pam.d -maxdepth 1 -type f -print | sortView examples
Read PAM overviewman 8 pamView examples
Read configuration syntaxman 5 pam.dView examples
Find auth rulesgrep -RnsE '^[[:space:]]*auth[[:space:]]' /etc/pam.dView examples
Find account rulesgrep -RnsE '^[[:space:]]*account[[:space:]]' /etc/pam.dView examples
Find password rulesgrep -RnsE '^[[:space:]]*password[[:space:]]' /etc/pam.dView examples
Find session rulesgrep -RnsE '^[[:space:]]*session[[:space:]]' /etc/pam.dView examples
Find included stacksgrep -RnsE \ '^[[:space:]]*(auth|account|password|session)[[:space:]]+(include|substack)' \ /etc/pam.dView examples
List PAM modulesfind /usr/lib /lib -type f -name 'pam_*.so' -print \ 2>/dev/null | sort -uView examples
Show lock recordssudo faillock --user aliceView examples
Reset one lockoutsudo faillock --user alice --resetView examples
Read lockout policygrep -Ev '^[[:space:]]*(#|$)' \ /etc/security/faillock.confView examples
Read access rulesgrep -Ev '^[[:space:]]*(#|$)' /etc/security/access.confView examples
Read resource limitsgrep -RhvE '^[[:space:]]*(#|$)' \ /etc/security/limits.conf /etc/security/limits.dView examples
Read password quality policygrep -RhvE '^[[:space:]]*(#|$)' \ /etc/security/pwquality.conf \ /etc/security/pwquality.conf.dView examples
Test one PAM servicesudo pamtester login alice authenticateView examples
Test account managementsudo pamtester login alice acct_mgmtView examples
Check SSH PAM integrationsshd -T | grep -i '^usepam'View examples
Read authentication logsjournalctl _COMM=sudo --since '-15 minutes' --no-pagerView examples
Identify module packagerpm -qf /usr/lib64/security/pam_unix.soView examples

Identity, Access, and Security · 18 commands

Linux Permissions Cheat Sheet

Open full cheat sheet
UseSyntaxExamples
List permission stringsls -lView examples
Show a numeric modestat -c '%A %a %U %G %n' fileView examples
Show current identityidView examples
Add owner executechmod u+x script.shView examples
Remove group and other writechmod go-w fileView examples
Assign exact symbolic modeschmod u=rw,g=r,o= fileView examples
Set a private file modechmod 640 secrets.envView examples
Set a directory modechmod 750 scriptsView examples
Apply a recursive modechmod -R --preserve-root u=rwX,g=rX,o= projectView examples
Change a file ownersudo chown alice fileView examples
Change owner and groupsudo chown alice:developers pathView examples
Change the owning groupsudo chgrp developers pathView examples
Show the current umaskumaskView examples
Set a restrictive umaskumask 027View examples
Inherit a directory groupchmod g+s sharedView examples
Protect shared entrieschmod +t sharedView examples
Find world-writable filesfind . -type f -perm -o=w -printView examples
Find executable filesfind . -type f -perm /111 -printView examples
CMDMEMO TERMINALREAD ONLY