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









