CaffeineAddict
Well-Known Member
Here's something special from my hand crafted Linux grimoire, enjoy!
Want to be terminal ninja?
Need to recall how a command is called?
Need to explore various commands?
No problem, here is a list of 1786 commonly used commands I've been studying so far, nicely sorted according to topic.
Please note that commands themself are universal for any distro, only marks and package names are Debian specific.
Due to thread character limitations I had to split this to 2 posts.
If you have commands to share that aren't listed but are commonly used, please do.
You can use
Want to be terminal ninja?
Need to recall how a command is called?
Need to explore various commands?
No problem, here is a list of 1786 commonly used commands I've been studying so far, nicely sorted according to topic.
Please note that commands themself are universal for any distro, only marks and package names are Debian specific.
Due to thread character limitations I had to split this to 2 posts.
If you have commands to share that aren't listed but are commonly used, please do.
You can use
CTRL+F to search or copy this list to an *.md file and use appropriate markdown formatter in your code editor (e.g. VSCode) to have a functional local copy.
Markdown (GitHub flavored):
# A list of Linux terminal commands and CLI programs (1786)
Includes CLI programs, GRUB commands, scripts and bash scripting keywords</br>
Small portion of the commands is specific to Debian and Kali</br>
NOTE: Verify which tools are available from backports prior installing
The following marks are assigned to commands as applicable:
- Entries with `*` (667) are not installed by default (netint.iso with "standard system utilities" only)
- Entries with `**` (2) are from contrib component
- Entries with `***` (3) are from non-free component
- Entries with `+` (19) are both bourne and bash shell builtins
- Entries with `++` (39) are bash shell builtins
- Entries with `?` (11) are documented but not packaged, e.g. due to a bug or not available in stable release
- Entries with `??` (147) don't exist in Debian
The following types of commands are counted as one and are listed on same line,
under condition that those commands belong to same package:
- Synonymous commands or commands which call other commands with parameters for convenience
- Fundamentally same commands but called differently with very little difference among each other
- One time configuration commands that are exclusive to a command
- Commands that are provided for backward compatibility with other command
## Table of Contents
- [A list of Linux terminal commands and CLI programs (1786)](#a-list-of-linux-terminal-commands-and-cli-programs-1786)
- [Table of Contents](#table-of-contents)
- [Help (5)](#help-5)
- [File and directory operations (35)](#file-and-directory-operations-35)
- [File info and manipulation (24)](#file-info-and-manipulation-24)
- [Text and text file manipulation (42)](#text-and-text-file-manipulation-42)
- [Regex and regex-like (4)](#regex-and-regex-like-4)
- [File system permissions and ownership (9)](#file-system-permissions-and-ownership-9)
- [Users and groups management (37)](#users-and-groups-management-37)
- [Terminal and shell (44)](#terminal-and-shell-44)
- [Process info and management (63)](#process-info-and-management-63)
- [Hardware info and management (43)](#hardware-info-and-management-43)
- [Power management (4)](#power-management-4)
- [System info and management (29)](#system-info-and-management-29)
- [Time and date (16)](#time-and-date-16)
- [Logs (8)](#logs-8)
- [systemd (43)](#systemd-43)
- [systemd-container (6)](#systemd-container-6)
- [systemd-cryptsetup (4)](#systemd-cryptsetup-4)
- [systemd-repart (3)](#systemd-repart-3)
- [Package management (25)](#package-management-25)
- [Package configuration (9)](#package-configuration-9)
- [Package development (19)](#package-development-19)
- [Module management (8)](#module-management-8)
- [Archives (58)](#archives-58)
- [Fonts (7)](#fonts-7)
- [Keyboard (39)](#keyboard-39)
- [Clipboard (3)](#clipboard-3)
- [Audio (23)](#audio-23)
- [Graphics and gaming (3)](#graphics-and-gaming-3)
- [Printing (29)](#printing-29)
- [Networking (48)](#networking-48)
- [Bluetooth (18)](#bluetooth-18)
- [mDNS (4)](#mdns-4)
- [Remoting and file transfer (12)](#remoting-and-file-transfer-12)
- [Boot management (4)](#boot-management-4)
- [Secure boot (14)](#secure-boot-14)
- [GRUB (27)](#grub-27)
- [Security (53)](#security-53)
- [Cryptography (28)](#cryptography-28)
- [ssh (6)](#ssh-6)
- [gpg (19)](#gpg-19)
- [Encoding and decoding (12)](#encoding-and-decoding-12)
- [Storage and file system (65)](#storage-and-file-system-65)
- [fuse3 (4)](#fuse3-4)
- [NTFS (27)](#ntfs-27)
- [LVM and cryptsetup (46)](#lvm-and-cryptsetup-46)
- [Virtual machine (3)](#virtual-machine-3)
- [qemu-system-x86 (5)](#qemu-system-x86-5)
- [libvirt-clients (6)](#libvirt-clients-6)
- [virt-install (3)](#virt-install-3)
- [qemu-utils (4)](#qemu-utils-4)
- [swtpm-tools (7)](#swtpm-tools-7)
- [openvswitch-switch (21)](#openvswitch-switch-21)
- [libguestfs-tools (35)](#libguestfs-tools-35)
- [virt-p2v (7)](#virt-p2v-7)
- [Build and development (28)](#build-and-development-28)
- [GNU roff utilities (52)](#gnu-roff-utilities-52)
- [Miscellaneous (15)](#miscellaneous-15)
- [Fun (10)](#fun-10)
- [Shell scripting (27)](#shell-scripting-27)
- [Scripting keywords (15)](#scripting-keywords-15)
- [Deprecated (50)](#deprecated-50)
- [iptables (46)](#iptables-46)
- [Obsolete (10)](#obsolete-10)
- [Pentesting (7)](#pentesting-7)
- [cowpatty (2)](#cowpatty-2)
- [nmap (4)](#nmap-4)
- [hydra (4)](#hydra-4)
- [aircrack-ng (27)](#aircrack-ng-27)
- [metasploit-framework (24)](#metasploit-framework-24)
- [john (124)](#john-124)
- [GRUB CLI](#grub-cli)
- [Loader commands (37)](#loader-commands-37)
- [General commands (4)](#general-commands-4)
- [Command-line commands (80)](#command-line-commands-80)
- [Networking commands (16)](#networking-commands-16)
- [Undocumented commands (84)](#undocumented-commands-84)
- [Reference](#reference)
## Help (5)
- help ++
- whatis
- man
- apropos
- info *
```bash
# Recommended
sudo apt install info
```
## File and directory operations (35)
- ls
- dir
- vdir
- tree *
- cd +
- pwd +
- ln
- link
- unlink
- hardlink
- cp
- mv
- rm
- touch
- stat
- mkdir
- mktemp
- rmdir
- install
- mklost+found
- pushd ++
- popd ++
- dirs ++
- find
- mknod
- readlink
- realpath
- basename
- dirname
- namei
- pathchk
- rename *
- locate *
- updatedb *
- updatedb.findutils *
```bash
# Recommended
sudo apt install tree
# Optional
sudo apt install rename locate
```
## File info and manipulation (24)
- file
- flock
- lslocks
- lsinitrafs *
- mkinitramfs *
- unmkinitramfs *
- split
- shred
- od
- hexdump, hd
- xxd *
- wrestool *
- extresso *
- genresscript *
- icotool *
- fincore
- isosize
- genisoimage *
- isoinfo *
- isodump *
- isovfy *
- devdump *
- fmt
- truncate
```bash
# Recommended
sudo apt install genisoimage
# Optional
sudo apt install initramfs-tools-core xxd icoutils
```
## Text and text file manipulation (42)
- editor
- nano
- vi
- vim *
- ed, red *
- cat
- tac
- cut
- rev
- fold
- tee
- less
- more
- most *
- tail
- multitail *
- head
- wc
- nl
- diff
- diff3
- wdiff *
- sdiff
- patch
- cmp
- comm
- join
- paste
- sort
- uniq
- column
- shuf
- tr
- jq
- dos2unix *
- unix2dos *
- highlight *
- echo ++
- printf ++
- numfmt
- pr
- ptx
```bash
# Recommended
sudo apt install multitail wdiff dos2unix highlight
# Optional
sudo apt install most vim ed
```
## Regex and regex-like (4)
- grep
- pgrep
- sed
- awk, gawk, navk, mawk, jawk, bwk
## File system permissions and ownership (9)
- chown
- chgrp
- chmod
- umask +
- chacl *
- getfacl *
- setfacl *
- lsattr
- chattr
```bash
# Recommended
sudo apt install acl
```
## Users and groups management (37)
- w
- who (`/var/run/utmp`)
- pinky
- finger *
- id
- whoami
- logname
- lslogins
- users
- groups
- passwd
- gpasswd (`/etc/group` and `/etc/gshadow`)
- chage
- chfn
- newgrp
- pwconv
- pwunconv
- grpconv
- grpunconv
- pwck
- grpck
- useradd
- userdel
- usermod
- groupadd
- groupdel
- groupmod
- adduser
- deluser
- addgroup
- delgroup
- visudo
- vipw
- vigr
- update-passwd (`/etc/passwd`, `/etc/shadow`, `/etc/group`)
- newusers
- chpasswd
```bash
# Recommended
sudo apt install finger
```
## Terminal and shell (44)
- sh, bash, zsh
- chsh
- login
- sulogin
- logout ++
- env
- printenv
- type ++
- which
- whereis
- bind ++
- script
- clear
- exit +
- history ++
- hash +
- alias ++
- unalias ++
- eval +
- xargs
- source ++
- compgen ++
- complete ++
- compopt ++
- suspend ++
- fc ++
- tty
- stty
- agetty
- tabs
- expand
- unexpand
- tput
- tset
- tic
- infocmp
- infotocap
- captoinfo
- setterm
- dircolors
- setfont
- chvt
- openvt
- deallocvt
## Process info and management (63)
- ps
- pstree
- pmap
- pidof
- lsof
- fuser
- kill ++
- killall
- pkill
- pidwait
- wait
- watch
- top
- htop *
- iotop *
- time
- times +
- strace, strace64 *
- ltrace *
- xtrace *
- chroot
- schroot *
- pivot_root
- nice
- renice
- ionice
- chrt
- prlimit
- setpriv
- run-parts
- runuser
- runcon
- pkexec *
- su
- sg
- sudo
- setsid
- setuid *
- super *
- lsns
- nsenter
- unshare
- nohup
- uclampset
- stdbuf
- timeout
- ulimit ++
- jobs ++
- bg ++
- fg ++
- disown ++
- nocache *
- cachedel *
- cachestats *
- newuidmap *
- newgidmap *
- getsubids *
- pidstat *
- at *
- atd *
- atq *
- atrm *
- batch *
```bash
# Recommended
sudo apt install htop iotop strace ltrace xtrace
# Optional
sudo apt install schroot pkexec super nocache uidmap sysstat at
```
## Hardware info and management (43)
- nproc
- lscpu
- lsusb
- lspci
- lsmem
- lsscsi *
- chcpu
- chmem
- eject
- setpci
- update-pciids
- dmidecode
- biosdecode
- vpddecode
- ownership
- clinfo
- hdparm *
- acpi *
- acpitool *
- ratbagctl *
- inxi *
- lshw *
- hwinfo *
- usbreset
- usb-devices
- usbhid-dump
- xrandr
- autorandr *
- pcm *
- nvtop **
- nvidia-smi ***
- rfkill *
- uhubctl *
- tapestat *
- iostat *
- mpstat *
- cvt
- ldattach
- taskset
- wdctl
- fwupdmgr
- fwupdtool
- dbxtool
```bash
# NOTE: nvidia-smi is part of Nvidia driver package
# Recommended
sudo apt install lsscsi hdparm acpi ratbagd inxi pcm nvtop rfkill
# Optional
sudo apt install acpitool lshw hwinfo autorandr uhubctl sysstat
```
### Power management (4)
- upower
- powertop *
- powerstat *
- tlp *
```bash
# Optional
sudo apt install powertop powerstat tlp
```
## System info and management (29)
- hostname
- hostid
- uname
- arch
- setarch
- lsb_release
- locale
- localedef
- locale-gen
- getent
- udevadm
- crontab
- free
- vmstat
- slabtop
- ctrlaltdel
- choom
- readprofile
- rtcwake
- wall
- write ?
- mesg ?
- talk *
- sa1 *
- sa2 *
- sadc *
- sadf *
- sar, sar.sysstat *
- atop *
```bash
# Optional
sudo apt install talk sysstat atop
```
### Time and date (16)
- date
- hwclock
- uptime
- ntpd *
- ntpq *
- ntpkeygen *
- ntpleapfetch *
- ntpmon *
- ntptime *
- ntptrace *
- ntpwait *
- ntpdig *
- ntploggps *
- ntplogtemp *
- ntpviz *
- ncal, cal *
```bash
# Recommended
sudo apt install ntpsec
# Optional
sudo apt install ntpdig ntpsec-ntpviz ncal
```
### Logs (8)
- lnav *
- dmesg
- wtmpdb (recommended `libpam-wtmpdb`)
- lastlog2 * (recommended `libpam-lastlog2`)
- utmpdump ? (`/var/run/utmp` and `/var/log/wtmp`)
- logger
- savelog
- logrotate
```bash
# Recommended
sudo apt install lnav
# Optional
sudo apt install lastlog2
```
## systemd (43)
- sysctl
- systemctl
- journalctl
- networkctl
- bluetoothctl
- timedatectl
- localectl
- loginctl
- hostnamectl
- resolvectl
- coredumpctl
- busctl
- run0
- systemd-ac-power
- systemd-analyze
- systemd-ask-password
- systemd-cat
- systemd-cgls
- systemd-cgtop
- systemd-creds
- systemd-delta
- systemd-detect-virt
- systemd-escape
- systemd-firstboot
- systemd-hwdb
- systemd-id128
- systemd-inhibit
- systemd-machine-id-setup
- systemd-mount
- systemd-notify
- systemd-path
- systemd-run
- systemd-stdio-bridge
- systemd-confext
- systemd-sysext
- systemd-sysusers
- systemd-tmpfiles
- systemd-tty-ask-password-agent
- systemd-umount
- systemd-vpick
- bootctl ?
- systemd-socket-active ?
- systemd-vmspawn ?
### systemd-container (6)
- importctl *
- machinectl *
- portablectl *
- systemd-dissect, mount.ddi *
- systemd-nspawn *
- systemd-sysupdate *
```bash
# Optional
sudo apt install systemd-container
```
### systemd-cryptsetup (4)
- systemd-cryptenroll *
- systemd-cryptsetup *
- systemd-integritysetup *
- systemd-veritysetup *
```bash
# Optional
sudo apt install systemd-cryptsetup
```
### systemd-repart (3)
- systemd-keyutil *
- systemd-repart *
- systemd-sbsign *
```bash
# Optional
sudo apt install systemd-repart
```
## Package management (25)
- apt
- aptitude *
- apt-get
- apt-cache
- apt-file *
- apt-rdepends *
- apt-mark
- apt-config
- apt-cdrom
- apt-show-versions *
- tasksel
- dpkg
- dpkg-deb
- dpkg-divert
- dpkg-query
- dpkg-realpath
- dpkg-split
- dpkg-statoverride
- dpkg-trigger
- start-stop-daemon
- update-alternatives
- dpkg-maintscript-helper
- dselect *
- rmadison *
- flatpak *
```bash
# Recommended
sudo apt install aptitude apt-file apt-rdepends devscripts
# Optional
sudo apt install apt-show-versions flatpak
```
### Package configuration (9)
- debconf-apt-progress *
- debconf-communicate *
- debconf-copydb *
- debconf-escape *
- debconf-set-selections *
- debconf-show *
- debconf *
- dpkg-preconfigure *
- dpkg-reconfigure *
```bash
# Optional
sudo apt install debconf
```
### Package development (19)
- dpkg-architecture *
- dpkg-buildapi *
- dpkg-buildflags *
- dpkg-buildpackage *
- dpkg-buildtree *
- dpkg-checkbuilddeps *
- dpkg-distaddfile *
- dpkg-genbuildinfo *
- dpkg-genchanges *
- dpkg-gencontrol *
- dpkg-gensymbols *
- dpkg-mergechangelogs *
- dpkg-name *
- dpkg-parsechangelog *
- dpkg-scanpackages *
- dpkg-scansources *
- dpkg-shlibdeps *
- dpkg-source *
- dpkg-vendor *
```bash
# Optional
sudo apt install dpkg-dev
```
## Module management (8)
- kmod
- lsmod
- modinfo
- insmod
- modprobe
- rmmod
- depmod
- dkms *
```bash
# Recommended
sudo apt install dkms
```
## Archives (58)
- 7z, 7za, 7zr *
- zip *
- unzip *
- rar ***
- unrar ***
- cabextract *
- tar
- gzip
- gunzip
- zcat
- bzip2
- bunzip2
- bzcat
- bzip2recover
- xz
- unxz
- xzcat
- lzma
- unlzma
- lzcat
- zstd
- unzstd
- zstdcat
- zstdless
- plzip, lzip *
- lzop *
- znew
- zforce
- gzexe
- zdiff
- bzdiff
- xzdiff
- lzdiff
- zcmp
- bzcmp
- xzcmp
- lzcmp
- zless
- bzless
- xzless
- lzless
- zmore
- bzmore
- xzmore
- lzmore
- zgrep
- bzgrep
- xzgrep
- lzgrep
- zegrep
- bzegrep
- xzegrep
- lzegrep
- zfgrep
- bzfgrep
- xzfgrep
- lzfgrep
- cpio
```bash
# Recommended
sudo apt install 7zip 7zip-rar
# Optional
sudo apt install zip unzip lzip lzop rar unrar
```
## Fonts (7)
- fc-list
- fc-match
- fc-cache
- fc-cat
- fc-pattern
- fc-query
- fc-scan
## Keyboard (39)
- setxkbmap
- xkbbell
- xkbcomp
- xkbevd
- xkbprint
- xkbvleds
- xkbwatch
- codepage
- dumpkeys
- fgconsole
- getkeycodes
- kbd_mode
- kbdinfo
- kbdrate
- loadkeys
- loadunimap
- mapscrn
- mk_modmap
- psfaddtable
- psfgettable
- psfstriptable
- psfxtable
- resizecons
- screendump
- setkeycodes
- setleds
- setlogcons
- setmetamode
- setvesablank
- setvtrgb
- showconsolefont
- showkey
- splitfont
- unicode_start
- unicode_stop
- vcstime
- ibus *
- ibus-daemon *
- ibus-setup *
```bash
# Optional
sudo apt install ibus
```
## Clipboard (3)
- xclip *
- wl-copy *
- wl-paste *
```bash
# Recommended
sudo apt install xclip wl-clipboard
```
## Audio (23)
- wpctl
- pw-dump
- pulseaudio *
- start-pulseaudio-x11 *
- pactl
- pacmd
- pamixer *
- alsactl *
- alsaloop *
- alsamixer *
- alsaucm *
- amixer *
- amidi *
- aplay *
- arecord *
- aplaymidi
- arecordmidi *
- aconnect *
- aseqnet *
- aseqdump *
- iecset *
- speaker-test *
- fluidsynth *
```bash
# Recommended
sudo apt install alsa-utils
# Optional
sudo apt install pulseaudio pamixer fluidsynth
```
## Graphics and gaming (3)
- glxinfo
- vulkaninfo
- winetricks **
```bash
# Optional
sudo apt install winetricks
```
## Printing (29)
- lp *
- lpadmin *
- lpmove *
- lpoptions *
- lpstat *
- cancel *
- cupsaccept *
- cupsctl *
- cupsdisable *
- cupsenable *
- cupsreject *
- cupstestppd *
- lpbanner *
- lpc *
- lpd *
- lpf *
- lpq *
- lpr *
- lprm *
- lprng_certs *
- lprng_index_certs *
- monitor *
- pclbanner *
- psbanner *
- checkpc *
- ippeveprinter *
- ippfind *
- ippserver *
- ipptool *
```bash
# Optional
sudo apt install cups-client cups-ipp-utils lprng
```
## Networking (48)
- ip
- ss
- host
- ping
- nmcli
- nm-online
- nmtui
- nft
- dig
- mdig
- nslookup
- traceroute
- tc
- bridge
- wpa_cli
- wpa_supplicant
- wpa_passphrase
- whois *
- iw *
- ethtool *
- arping *
- tcpdump *
- iftop *
- tor *
- conntrack *
- vnstat *
- unbound *
- unbound-control, unbound-control-setup *
- unbound-checkconf *
- unbound-host *
- unbound-anchor *
- routel
- delv
- nsupdate
- genl
- lnstat
- nstat
- rtacct
- rtmon
- rtstat
- arpd
- ctstat
- dcb
- devlink
- rdma
- tipc
- vdpa
- dnstap-read
```bash
# Recommended
sudo apt install whois iw tcpdump iftop
sudo apt install ethtool tor unbound
# Optional
sudo apt install arping conntrack vnstat unbound-host unbound-anchor
```
### Bluetooth (18)
- bluetoothctl
- bluemoon
- btattach
- btmgmt
- btmon
- ciptool
- gatttool
- hciattach
- hciconfig
- hcitool
- hex2hcd
- obexctl
- rctest
- rfcomm
- sdptool
- l2ping
- l2test
- mpris-proxy
### mDNS (4)
- avahi-browse, avahi-browse-domains *
- avahi-publish, avahi-publish-address, avahi-publish-service *
- avahi-resolve, avahi-resolve-address, avahi-resolve-host-name *
- avahi-set-host-name *
```bash
# Optional
sudo apt install avahi-utils
```
Last edited:

