Linux Command Handbook — 100 Essentials

100 of the most useful Linux terminal commands in 2026. Organized by category. Live search works instantly. Linux, one of the most influential operating systems in computing history, began as a personal project in 1991. Finnish computer science student Linus Torvalds created the Linux kernel—a free, open-source, Unix-like core—initially as a hobby to run on his Intel 386 PC. Inspired by Minix and frustrated with proprietary Unix limitations, he announced it on Usenet in August 1991. The first version (0.02) appeared in October that year.

Torvalds released the code under the GNU General Public License (GPL) in 1992, enabling global collaboration. Combined with GNU tools (from Richard Stallman's Free Software Foundation), it formed complete GNU/Linux operating systems. Early distributions like Slackware (1993) and Debian (1993) emerged, followed by Red Hat (1994) and others.

Over the decades, Linux evolved through community-driven development, adding features like SMP support, advanced networking, and filesystem improvements. Today, the kernel (at version 6.19 as of early 2026) receives millions of lines of code from thousands of contributors.

In modern use, Linux dominates behind the scenes: it powers nearly all of the world's top supercomputers (100%), a large share of servers (~45-50% globally, higher for web/cloud), and about half of cloud workloads. Android, built on the Linux kernel, runs billions of smartphones. Embedded Linux drives IoT devices, routers, automotive systems, and appliances.

On desktops, Linux holds a growing but smaller share (~3-5% globally, higher in developer communities and some regions), with user-friendly distros like Ubuntu, Fedora, and Pop!_OS gaining traction—especially amid privacy concerns and Windows changes. Its stability, security, customizability, and zero licensing costs keep Linux essential in enterprise, development, cloud infrastructure, AI workloads, and high-performance computing.

2. Viewing, Searching & Text Processing (12)

cat

Display file content

cat file.txt

less

View file with paging (q to quit)

less big.log

more

View file page by page

more file.txt

head

Show first lines

head -n 20 access.log

tail

Show last lines / follow

tail -f /var/log/syslog

grep

Search text in files

grep -i error log
grep -r "todo" .

egrep / fgrep

Extended / fixed grep

egrep "error|warn" log

wc

Word/line/byte count

wc -l file.txt

sort

Sort lines

sort -n numbers.txt

uniq

Remove duplicate lines

sort list | uniq

cut

Remove sections from lines

cut -d: -f1 /etc/passwd

tr

Translate/delete characters

echo Hello | tr 'a-z' 'A-Z'

3. Editing & File Manipulation (8)

nano

Simple text editor

nano config.txt

vim / vi

Powerful modal editor

vim file.txt

sed

Stream editor (find/replace)

sed 's/old/new/g' file

awk

Pattern scanning & processing

awk '{print $1}' access.log

diff

Compare files line by line

diff file1 file2

patch

Apply diff patch

patch < changes.diff

tee

Read from stdin + write to file

echo hi | tee file.log

xargs

Build/execute command lines

find . -name "*.tmp" | xargs rm

4. System Information & Monitoring (10)

uname

System/kernel info

uname -a

uptime

System uptime & load

uptime

top

Live processes (q to quit)

top

htop

Enhanced interactive top

htop

free

Memory/swap usage

free -h

df

Disk space usage

df -h

du

Directory/file space usage

du -sh /home

whoami

Current username

whoami

id

User/group IDs

id

dmesg

Kernel ring buffer messages

dmesg | tail

5. Processes & Job Control (10)

ps

Show running processes

ps aux

kill

Send signal to process

kill 1234
kill -9 1234

pkill

Kill by name

pkill firefox

pgrep

Find PID by name

pgrep ssh

jobs

List background jobs

jobs

fg

Bring job to foreground

fg %1

bg

Resume job in background

bg %1

nohup

Run immune to hangup

nohup longtask &

nice

Run with modified priority

nice -n 10 task

renice

Change running process priority

renice -n 5 -p 1234

6. Permissions & Ownership (6)

chmod

Change file permissions

chmod 755 script.sh
chmod u+x file

chown

Change file owner/group

chown user:group file
sudo chown -R www-data:www-data /var/www

chgrp

Change group ownership

chgrp staff file

umask

Set default permission mask

umask 022

sudo

Execute as superuser

sudo apt update

su

Switch user

su - root

7. Networking (10)

ping

Test network reachability

ping google.com

ip

Show/manipulate routing & interfaces

ip addr show
ip link

ss

Socket statistics (modern netstat)

ss -tuln

curl

Transfer data from/to server

curl -O https://example.com/file

wget

Non-interactive network downloader

wget https://example.com/file

ssh

Secure remote login

ssh user@host

scp

Secure copy files

scp file user@host:/path

traceroute

Trace route to host

traceroute google.com

netstat

Network statistics (legacy)

netstat -tuln

nmap

Network exploration & security scanner

nmap 192.168.1.1

8. Package Management (Debian/Ubuntu focus) (8)

apt update

Refresh package index

sudo apt update

apt upgrade

Upgrade installed packages

sudo apt upgrade

apt install

Install package

sudo apt install nginx

apt remove

Remove package

sudo apt remove apache2

apt search

Search packages

apt search python3

dpkg -l

List installed packages

dpkg -l | grep nginx

snap install

Install snap package

sudo snap install hello-world

flatpak install

Install flatpak (alternative)

flatpak install flathub org.example.App

9. Disk & Storage (8)

fdisk

Partition table manipulator

sudo fdisk -l

lsblk

List block devices

lsblk -f

mount

Mount filesystem

sudo mount /dev/sdb1 /mnt

umount

Unmount filesystem

sudo umount /mnt

mkfs

Make filesystem

sudo mkfs.ext4 /dev/sdc1

fsck

Check/repair filesystem

sudo fsck /dev/sda1

dd

Convert/copy data (disk imaging)

dd if=input.iso of=/dev/sdb bs=4M

ncdu

NCurses disk usage analyzer

ncdu /

10. Archiving, Compression & Miscellaneous (16)

tar

Archive files

tar -czvf archive.tar.gz dir/
tar -xzvf archive.tar.gz

gzip / gunzip

Compress/decompress .gz

gzip file
gunzip file.gz

zip / unzip

Zip archive

zip -r archive.zip dir/
unzip archive.zip

echo

Display line of text

echo "Hello" > file.txt

date

Show/set system date/time

date
date +%Y-%m-%d

history

Show command history

history | grep apt

alias

Create command shortcut

alias ll='ls -la'

export

Set environment variable

export PATH=$PATH:/new/bin

env

Show environment variables

env | grep PATH

man

Display manual page

man ls

whatis

One-line description

whatis grep

clear

Clear terminal screen

clear

watch

Run command periodically

watch -n 2 df -h

cal

Display calendar

cal 2026

bc

Arbitrary precision calculator

echo "2+3*4" | bc

locate

Find files by name (fast)

locate nginx.conf

Total: 100 commands • Curated from common 2025–2026 sysadmin & user patterns

Pro tip: Most interactive tools quit with q • Use man for complete documentation