889 commands · 48 cheat sheets · 6 subcategories
Linux master quick reference — Page 3
Browse 244 commands from 12 focused cheat sheets on page 3 of 4. Each example opens its matching detailed section.
Processes, Services, and System · 17 commands
logrotate and Linux Log Retention Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| Debug a configuration | sudo logrotate --debug /etc/logrotate.conf | View examples |
| Run verbosely | sudo logrotate --verbose /etc/logrotate.conf | View examples |
| Test with isolated state | sudo logrotate --state /run/app-logrotate.state \
--verbose /etc/logrotate.d/app | View examples |
| Force a rotation | sudo logrotate --force /etc/logrotate.d/app | View examples |
| Rotate by size | size 100M | View examples |
| Cap between intervals | maxsize 500M | View examples |
| Keep archive generations | rotate 14 | View examples |
| Expire old archives | maxage 90 | View examples |
| Use sortable date suffixes | dateext | View examples |
| Compress archives | compress | View examples |
| Delay compression | delaycompress | View examples |
| Create replacement securely | create 0640 app adm | View examples |
| Run scripts once | sharedscripts | View examples |
| Signal the writer | postrotate | View examples |
| Copy then truncate in place | copytruncate | View examples |
| Drop rotation identity | su app adm | View examples |
| Inspect rotation scheduling | systemctl status logrotate.timer logrotate.service \
--no-pager | View examples |
Processes, Services, and System · 23 commands
systemd Services and Journal Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| List loaded services | systemctl list-units --type=service | View examples |
| List installed unit files | systemctl list-unit-files --type=service | View examples |
| Inspect service status | systemctl status nginx.service | View examples |
| Test active state | systemctl is-active --quiet nginx.service | View examples |
| Read unit properties | systemctl show nginx.service \
--property=ActiveState,SubState,MainPID | View examples |
| Show unit source | systemctl cat nginx.service | View examples |
| Show dependencies | systemctl list-dependencies nginx.service | View examples |
| Start a service | sudo systemctl start nginx.service | View examples |
| Stop a service | sudo systemctl stop nginx.service | View examples |
| Restart a service | sudo systemctl restart nginx.service | View examples |
| Reload service configuration | sudo systemctl reload nginx.service | View examples |
| Enable and start | sudo systemctl enable --now nginx.service | View examples |
| Disable and stop | sudo systemctl disable --now nginx.service | View examples |
| Reload unit definitions | sudo systemctl daemon-reload | View examples |
| Create a drop-in override | sudo systemctl edit nginx.service | View examples |
| Read one unit's journal | journalctl --unit=nginx.service --no-pager | View examples |
| Limit to current boot | journalctl --boot=0 | View examples |
| Read previous boot | journalctl --boot=-1 | View examples |
| Filter by time | journalctl --since='1 hour ago' --until=now | View examples |
| Filter error priorities | journalctl --priority=err --boot=0 | View examples |
| Follow a unit live | journalctl --follow --unit=nginx.service | View examples |
| Emit JSON records | journalctl --unit=nginx.service --output=json --lines=20 | View examples |
| Read kernel messages | journalctl --dmesg --boot=0 | View examples |
Processes, Services, and System · 15 commands
systemd Timers and Scheduled Jobs Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| List timers | systemctl list-timers --all | View examples |
| Inspect one timer | systemctl status backup.timer | View examples |
| Read timer properties | systemctl show backup.timer -p NextElapseUSecRealtime -p \
LastTriggerUSec -p Triggers | View examples |
| Validate a calendar | systemd-analyze calendar 'Mon..Fri 02:00' | View examples |
| Calendar schedule | OnCalendar=Mon..Fri *-*-* 02:00:00 | View examples |
| Catch a missed run | Persistent=true | View examples |
| Delay after boot | OnBootSec=15min | View examples |
| Delay after activation | OnUnitActiveSec=6h | View examples |
| Set timing accuracy | AccuracySec=1min | View examples |
| Spread starts | RandomizedDelaySec=30min | View examples |
| Keep host delay stable | FixedRandomDelay=true | View examples |
| Select activated unit | Unit=backup.service | View examples |
| Enable and start timer | sudo systemctl enable --now backup.timer | View examples |
| Test work directly | sudo systemctl start backup.service | View examples |
| Read job logs | journalctl --unit=backup.service --since=today | View examples |
Processes, Services, and System · 14 commands
udev Rules and Linux Device Events Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| Inspect a device | udevadm info --query=all --name=/dev/sdb | View examples |
| Walk parent attributes | udevadm info --attribute-walk --name=/dev/sdb | View examples |
| Resolve sysfs path | udevadm info --query=path --name=/dev/sdb | View examples |
| Monitor kernel and udev events | udevadm monitor --kernel --udev --property | View examples |
| Filter event monitoring | udevadm monitor --udev --property \
--subsystem-match=block | View examples |
| Verify rule syntax | udevadm verify /etc/udev/rules.d/70-backup-disk.rules | View examples |
| Test rule evaluation | udevadm test --action=add /sys/class/block/sdb | View examples |
| Test a builtin | udevadm test-builtin blkid /sys/class/block/sdb | View examples |
| Reload rules | sudo udevadm control --reload | View examples |
| Preview a trigger scope | udevadm trigger --dry-run --verbose \
--subsystem-match=block | View examples |
| Retrigger one device | sudo udevadm trigger --action=change \
/sys/class/block/sdb | View examples |
| Check the event queue | udevadm settle --timeout=10 | View examples |
| Read udev daemon logs | journalctl --unit=systemd-udevd --boot --no-pager | View examples |
| Export the udev database | udevadm info --export-db | View examples |
Storage and Filesystems · 20 commands
ext4, XFS, and Filesystem Repair Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| Resolve a mount source | findmnt --target /srv/data -o \
TARGET,SOURCE,FSTYPE,OPTIONS,MAJ:MIN | View examples |
| Show block topology | lsblk --fs --output \
NAME,KNAME,TYPE,FSTYPE,FSVER,LABEL,UUID,MOUNTPOINTS | View examples |
| Probe filesystem metadata | sudo blkid /dev/mapper/vg_data-lv_projects | View examples |
| Read device health | sudo smartctl --all /dev/nvme0n1 | View examples |
| Find storage errors | journalctl -k -g \
'I/O error|EXT4-fs error|XFS.*Corruption|nvme|ata' \
--since today --no-pager | View examples |
| Inspect ext metadata | sudo dumpe2fs -h /dev/mapper/vg_data-lv_projects | View examples |
| Read-only ext check | sudo e2fsck -f -n /dev/mapper/vg_data-lv_projects | View examples |
| Preen ext filesystem | sudo e2fsck -f -p /dev/mapper/vg_data-lv_projects | View examples |
| List backup superblocks | sudo mke2fs -n /dev/mapper/vg_data-lv_projects | View examples |
| Show ext parameters | sudo tune2fs -l /dev/mapper/vg_data-lv_projects | View examples |
| Show XFS geometry | sudo xfs_info /srv/data | View examples |
| Create XFS metadata image | sudo xfs_metadump /dev/mapper/vg_data-lv_projects \
/recovery/projects.metadump | View examples |
| Check XFS without changes | sudo xfs_repair -n /dev/mapper/vg_data-lv_projects | View examples |
| Repair XFS | sudo xfs_repair /dev/mapper/vg_data-lv_projects | View examples |
| Zero a corrupt XFS log | sudo xfs_repair -L /dev/mapper/vg_data-lv_projects | View examples |
| Mount read-only | sudo mount -o ro /dev/mapper/vg_data-lv_projects \
/mnt/recovery | View examples |
| Mount ext without journal replay | sudo mount -t ext4 -o ro,noload \
/dev/mapper/vg_data-lv_projects /mnt/recovery | View examples |
| Mount XFS without recovery | sudo mount -t xfs -o ro,norecovery \
/dev/mapper/vg_data-lv_projects /mnt/recovery | View examples |
| Unmount normally | sudo umount /srv/data | View examples |
| Find mount users | sudo fuser -vm /srv/data | View examples |
Storage and Filesystems · 30 commands
Linux Software RAID with mdadm Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| List active MD arrays | cat /proc/mdstat | View examples |
| Inspect array geometry | sudo mdadm --detail /dev/md/data | View examples |
| Inventory stable identities | lsblk -o \
NAME,PATH,SIZE,MODEL,SERIAL,TYPE,FSTYPE,MOUNTPOINTS | View examples |
| Examine one MD superblock | sudo mdadm --examine /dev/disk/by-id/ATA_MEMBER_A-part1 | View examples |
| Group discovered metadata | sudo mdadm --examine --scan | View examples |
| Create a named RAID1 | sudo mdadm --create /dev/md/data -l1 -n2 -e1.2 -N data \
-b internal /dev/disk/by-id/A-part1 \
/dev/disk/by-id/B-part1 | View examples |
| Create near-layout RAID10 | sudo mdadm --create /dev/md/data -l10 -p n2 -n4 \
/dev/disk/by-id/A-part1 /dev/disk/by-id/B-part1 \
/dev/disk/by-id/C-part1 /dev/disk/by-id/D-part1 | View examples |
| Assemble configured arrays | sudo mdadm --assemble --scan | View examples |
| Assemble explicit members read-only | sudo mdadm --assemble --readonly /dev/md/data \
/dev/disk/by-id/A-part1 /dev/disk/by-id/B-part1 | View examples |
| Stop an unused array | sudo mdadm --stop /dev/md/data | View examples |
| Mark a member faulty | sudo mdadm /dev/md/data --fail \
/dev/disk/by-id/ATA_FAILED-part1 | View examples |
| Detach a failed member | sudo mdadm /dev/md/data --remove \
/dev/disk/by-id/ATA_FAILED-part1 | View examples |
| Add a replacement member | sudo mdadm /dev/md/data --add \
/dev/disk/by-id/ATA_REPLACEMENT-part1 | View examples |
| Replace while the old disk reads | sudo mdadm /dev/md/data --replace \
/dev/disk/by-id/OLD-part1 --with \
/dev/disk/by-id/SPARE-part1 | View examples |
| Watch rebuild progress | watch -n 5 cat /proc/mdstat | View examples |
| Read current sync action | cat /sys/block/md0/md/sync_action | View examples |
| Read precise sync progress | cat /sys/block/md0/md/sync_completed | View examples |
| Inspect per-array speed limits | cat /sys/block/md0/md/sync_speed_min \
/sys/block/md0/md/sync_speed_max | View examples |
| Run one monitoring pass | sudo mdadm --monitor --scan --oneshot | View examples |
| Add an internal bitmap | sudo mdadm --grow /dev/md/data --bitmap=internal | View examples |
| Remove a write-intent bitmap | sudo mdadm --grow /dev/md/data --bitmap=none | View examples |
| Start a consistency check | echo check | sudo tee /sys/block/md0/md/sync_action | View examples |
| Read mismatch count | cat /sys/block/md0/md/mismatch_cnt | View examples |
| Request consistency repair | echo repair | sudo tee /sys/block/md0/md/sync_action | View examples |
| Grow a parity array | sudo mdadm --grow /dev/md/data -n4 \
--backup-file=/mnt/rescue/md-data.reshape | View examples |
| Reassemble with reshape backup | sudo mdadm --assemble --scan \
--backup-file=/mnt/rescue/md-data.reshape | View examples |
| Print array configuration | sudo mdadm --detail --scan | View examples |
| Update Debian-family initramfs | sudo update-initramfs -u | View examples |
| Update dracut initramfs | sudo dracut --force | View examples |
| Read physical-disk SMART data | sudo smartctl -x /dev/disk/by-id/ATA_MEMBER_A | View examples |
Storage and Filesystems · 16 commands
Linux Storage and Filesystems Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| Show block-device topology | lsblk -o \
NAME,TYPE,SIZE,FSTYPE,FSVER,LABEL,UUID,MOUNTPOINTS | View examples |
| Show filesystem overview | lsblk --fs | View examples |
| Probe a specific device | sudo blkid /dev/sdb1 | View examples |
| List mounted filesystems | findmnt --real --output TARGET,SOURCE,FSTYPE,OPTIONS | View examples |
| Resolve a path's mount | findmnt --target /var/lib/app | View examples |
| Test a mount point | mountpoint --quiet /mnt/archive | View examples |
| Show filesystem capacity | df -hT /var/lib/app | View examples |
| Show inode capacity | df -ih /var/lib/app | View examples |
| Measure one tree | du -sh -- /var/lib/app | View examples |
| Compare top-level children | du -xhd1 -- /var/lib/app | sort -h | View examples |
| Verify fstab | sudo findmnt --verify --verbose | View examples |
| Mount read-only | sudo mount --read-only --source /dev/sdb1 --target \
/mnt/review | View examples |
| Unmount by target | sudo umount -- /mnt/review | View examples |
| Synchronize one file | sync --data /var/lib/app/database.db | View examples |
| Find mount users | sudo fuser --mount --verbose /mnt/review | View examples |
| Inspect open paths | sudo lsof +D /mnt/review | View examples |
Storage and Filesystems · 35 commands
LVM Logical Volume Management Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| Inventory physical volumes | sudo pvs -o \
pv_name,pv_uuid,vg_name,pv_size,pv_free,pv_attr,dev_size | View examples |
| Inventory volume groups | sudo vgs -o \
vg_name,vg_uuid,vg_size,vg_free,pv_count,lv_count,vg_attr | View examples |
| Inventory logical volumes | sudo lvs -a -o \
lv_full_name,lv_size,segtype,lv_attr,origin,pool_lv,data_percent,metadata_percent,devices | View examples |
| Export a structured report | sudo lvm fullreport --reportformat json_std | View examples |
| Initialize a physical volume | sudo pvcreate /dev/disk/by-id/wwn-0x5000c50012345678 | View examples |
| Create a volume group | sudo vgcreate vgdata \
/dev/disk/by-id/wwn-0x5000c50012345678 | View examples |
| Create a linear LV | sudo lvcreate --name app --size 100G vgdata | View examples |
| Extend an LV and filesystem | sudo lvextend --resizefs --size +20G /dev/vgdata/app | View examples |
| Consume remaining VG space | sudo lvextend --resizefs --extents +100%FREE \
/dev/vgdata/app | View examples |
| Grow a mounted XFS filesystem | sudo xfs_growfs /srv/app | View examples |
| Test an LV reduction plan | sudo lvreduce --test --size 80G /dev/vgdata/archive | View examples |
| Reduce an LV after its filesystem | sudo lvreduce --size 80G /dev/vgdata/archive | View examples |
| Create a thin pool | sudo lvcreate --type thin-pool --name pool0 --size 500G \
vgdata | View examples |
| Create a thin LV | sudo lvcreate --type thin --name tenant1 --virtualsize \
2T --thinpool vgdata/pool0 | View examples |
| Monitor thin-pool utilization | sudo lvs -o \
lv_full_name,segtype,lv_size,data_percent,metadata_percent,pool_lv,discards | View examples |
| Extend thin-pool data | sudo lvextend --size +100G vgdata/pool0 | View examples |
| Extend thin-pool metadata | sudo lvextend --poolmetadatasize +1G vgdata/pool0 | View examples |
| Create a COW snapshot | sudo lvcreate --snapshot --name app-prechange --size 20G \
/dev/vgdata/app | View examples |
| Monitor snapshot consumption | sudo lvs -o \
lv_full_name,origin,lv_size,data_percent,lv_attr | View examples |
| Merge a snapshot | sudo lvconvert --merge /dev/vgdata/app-prechange | View examples |
| Move extents between PVs | sudo pvmove /dev/disk/by-id/wwn-0x5000c50011111111 \
/dev/disk/by-id/wwn-0x5000c50022222222 | View examples |
| Remove an empty PV from a VG | sudo vgreduce vgdata \
/dev/disk/by-id/wwn-0x5000c50011111111 | View examples |
| Tag a logical volume | sudo lvchange --addtag production vgdata/app | View examples |
| Select LVs by tag | sudo lvs -o lv_full_name,lv_tags -S 'tags={production}' | View examples |
| Activate one LV | sudo lvchange --activate y vgdata/app | View examples |
| Deactivate one LV | sudo lvchange --activate n vgdata/app | View examples |
| Disable LV autoactivation | sudo lvchange --setautoactivation n vgdata/app | View examples |
| Back up VG metadata | sudo vgcfgbackup --file /var/backups/lvm/vgdata.conf \
vgdata | View examples |
| List metadata archives | sudo vgcfgrestore --list vgdata | View examples |
| Test metadata restoration | sudo vgcfgrestore --test --file \
/var/backups/lvm/vgdata.conf vgdata | View examples |
| List the LVM devices file | sudo lvmdevices | View examples |
| Check device-file entries | sudo lvmdevices --check | View examples |
| Set thin-pool discard mode | sudo lvchange --discards nopassdown vgdata/pool0 | View examples |
| Report VG ownership and locking | sudo vgs -o \
vg_name,vg_uuid,vg_attr,vg_systemid,vg_locktype | View examples |
| Start shared-VG locking | sudo vgchange --lockstart vgshared | View examples |
Storage and Filesystems · 20 commands
NFS and autofs Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| List NFS mounts | findmnt -t nfs,nfs4 -o TARGET,SOURCE,FSTYPE,OPTIONS | View examples |
| Show negotiated options | nfsstat --mounts | View examples |
| Query NFSv3 exports | showmount --exports nfs1.example.net | View examples |
| List RPC services | rpcinfo -p nfs1.example.net | View examples |
| Mount NFSv4.1 | sudo mount -t nfs4 -o vers=4.1,sec=krb5p \
nfs1.example.net:/projects /srv/projects | View examples |
| Mount read-only for validation | sudo mount -t nfs4 -o ro,vers=4.1 \
nfs1.example.net:/projects /mnt/nfs-test | View examples |
| Unmount normally | sudo umount /srv/projects | View examples |
| Identify mount users | sudo fuser -vm /srv/projects | View examples |
| Show active exports | sudo exportfs -v | View examples |
| Reload exports | sudo exportfs -ra | View examples |
| Validate export syntax | sudo exportfs -rav | View examples |
| Show server statistics | nfsstat --server | View examples |
| Show client statistics | nfsstat --client | View examples |
| Inspect per-mount statistics | mountstats /srv/projects | View examples |
| Check autofs maps | sudo automount --dumpmaps | View examples |
| Reload autofs | sudo systemctl reload autofs.service | View examples |
| Show automount units | findmnt -t autofs -o TARGET,SOURCE,OPTIONS | View examples |
| Read autofs logs | journalctl -u autofs.service --since today --no-pager | View examples |
| Check NFSv4 id mapping | nfsidmap -l | View examples |
| Inspect GSS services | systemctl status rpc-gssd.service rpc-svcgssd.service \
--no-pager | View examples |
Storage and Filesystems · 20 commands
Samba File Sharing Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| Show Samba version | smbd --version | View examples |
| Validate configuration | testparm --suppress-prompt /etc/samba/smb.conf | View examples |
| Inspect one share | testparm --suppress-prompt --section-name projects \
/etc/samba/smb.conf | View examples |
| List configured services | testparm --suppress-prompt --show-all-parameters \
/etc/samba/smb.conf | View examples |
| List server shares | smbclient --list=files1.example.net --user=alice | View examples |
| Open an SMB client | smbclient //files1.example.net/projects --user=alice | View examples |
| Connect with Kerberos | smbclient //files1.example.net/projects \
--use-kerberos=required --no-pass | View examples |
| Show active sessions | sudo smbstatus --shares | View examples |
| Show locked files | sudo smbstatus --locks | View examples |
| Reload configuration | sudo smbcontrol all reload-config | View examples |
| Add a Samba password | sudo smbpasswd -a alice | View examples |
| Disable a Samba account | sudo smbpasswd -d alice | View examples |
| Enable a Samba account | sudo smbpasswd -e alice | View examples |
| Read a share ACL | smbcacls //files1.example.net/projects / --user=alice | View examples |
| Read filesystem ACLs | getfacl --absolute-names /srv/samba/projects | View examples |
| Show protocol bounds | testparm --suppress-prompt \
--parameter-name='server min protocol' \
/etc/samba/smb.conf | View examples |
| Show signing policy | testparm --suppress-prompt \
--parameter-name='server signing' /etc/samba/smb.conf | View examples |
| Inspect SMB listeners | ss -ltnp 'sport = :445' | View examples |
| Read smbd logs | journalctl -u smb.service -u smbd.service --since today \
--no-pager | View examples |
| Mount an SMB share | sudo mount -t cifs //files1.example.net/projects \
/mnt/projects -o \
credentials=/root/.smb-projects,vers=3.1.1 | View examples |
Storage and Filesystems · 20 commands
Swap, zram, and Memory Pressure Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| Summarize memory | free --human --wide | View examples |
| Read kernel memory counters | grep -E \
'^(MemAvailable|SwapTotal|SwapFree|Dirty|Writeback|Slab|SReclaimable):' \
/proc/meminfo | View examples |
| List swap areas | swapon --show --output=NAME,TYPE,SIZE,USED,PRIO | View examples |
| Read kernel swap table | cat /proc/swaps | View examples |
| Sample reclaim and swapping | vmstat 1 10 | View examples |
| Read memory PSI | cat /proc/pressure/memory | View examples |
| Sample swap activity | sar -W 1 10 | View examples |
| Rank processes by RSS | ps -eo pid,user,comm,rss,vsz --sort=-rss | head -20 | View examples |
| Inspect one process memory | sudo cat /proc/1234/smaps_rollup | View examples |
| Find OOM events | journalctl -k -g 'oom|Out of memory|Killed process' \
--since today --no-pager | View examples |
| Read swappiness | sysctl vm.swappiness | View examples |
| Read overcommit policy | sysctl vm.overcommit_memory vm.overcommit_ratio | View examples |
| Enable prepared swap | sudo swapon --priority 10 /swapfile | View examples |
| Disable one swap area | sudo swapoff /swapfile | View examples |
| List zram devices | zramctl --output \
NAME,ALGORITHM,DISKSIZE,DATA,COMPR,TOTAL,STREAMS,MOUNTPOINT | View examples |
| Read zram memory stats | cat /sys/block/zram0/mm_stat | View examples |
| Configure a zram device | sudo zramctl /dev/zram0 --algorithm zstd --size 4G | View examples |
| Reset an unused zram device | sudo zramctl --reset /dev/zram0 | View examples |
| Read zswap state | cat /sys/module/zswap/parameters/enabled | View examples |
| Read cgroup memory events | cat \
/sys/fs/cgroup/system.slice/example.service/memory.events | View examples |
Networking and Connectivity · 14 commands
curl and HTTP Debugging Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| Include response headers | curl --include https://example.com/health | View examples |
| Request headers only | curl --head https://example.com/asset | View examples |
| Trace protocol exchange | curl --verbose https://example.com/health | View examples |
| Follow redirects | curl --location --max-redirs 5 https://example.com/old | View examples |
| Fail on HTTP errors | curl --fail-with-body https://example.com/api | View examples |
| Print status metadata | curl --silent --output /dev/null --write-out \
'%{http_code}\n' https://example.com/ | View examples |
| Send JSON | curl --json @payload.json https://api.example.com/items | View examples |
| Add a header | curl --header 'Accept: application/json' \
https://api.example.com/items | View examples |
| Upload a file body | curl --upload-file ./artifact.bin \
https://upload.example.com/artifact.bin | View examples |
| Bound time | curl --connect-timeout 5 --max-time 30 \
https://example.com/ | View examples |
| Retry transient failures | curl --retry 3 --retry-all-errors --max-time 30 \
https://example.com/ | View examples |
| Save to an exact path | curl --fail --output ./artifact.tar.gz \
https://example.com/artifact.tar.gz | View examples |
| Use an explicit CA bundle | curl --cacert ./ca.pem https://internal.example/ | View examples |
| Measure phases | curl --output /dev/null --write-out \
'dns=%{time_namelookup} connect=%{time_connect} total=%{time_total}\n' \
https://example.com/ | View examples |



