Mastering Linux does not require memorizing thousands of commands. In everyday work, a small set of practical command-line techniques can dramatically improve efficiency. This guide introduces 30 commonly used Linux commands, each paired with a real-world example to help you quickly level up your terminal skills.
📂 Navigation & File Management #
1. cd - — Return to the Previous Directory
#
Quickly toggle between your current and last working directory.
cd /var/log
cd /home/user
cd -
# Returns to /var/log
2. du -sh * — Check Folder Sizes
#
See disk usage for all files and directories in the current path.
du -sh *
3. find . -name — Search for Files
#
Locate files by name within a directory tree.
find /home/user/ -name "*.log"
4. chmod +x — Grant Executable Permission
#
Make a script executable.
chmod +x script.sh
5. chown user:group — Change File Ownership
#
Modify file owner and group.
chown user:group filename
⚡ Command Efficiency & History #
6. !! — Re-execute the Last Command
#
Useful when you forget sudo.
apt-get update
sudo !!
7. history — View Command History
#
Search and re-run previous commands.
history | grep ssh
!105
8. alias — Create Command Shortcuts
#
Simplify frequently used commands.
alias ll='ls -la'
9. man — View Command Manuals
#
Access detailed documentation.
man tar
10. whoami — Show Current User
#
Identify the active user.
whoami
💽 Disk & System Monitoring #
11. df -h — View Disk Usage
#
Display disk space in human-readable units.
df -h
12. top — Real-Time Resource Monitoring
#
Monitor CPU, memory, and process activity.
top
13. uptime — Check System Runtime
#
See how long the system has been running and load averages.
uptime
14. echo $SHELL — Check Current Shell
#
Confirm which shell is in use.
echo $SHELL
📦 Compression & Archiving #
15. tar -czvf — Create .tar.gz Archives
#
Compress directories or files.
tar -czvf backup.tar.gz /home/user/
16. zip — Create ZIP Archives
#
Generate compressed ZIP files.
zip -r backup.zip /home/user/
17. unzip — Extract ZIP Files
#
Decompress ZIP archives.
unzip file.zip
🌐 Networking & Connectivity #
18. ping — Test Network Connectivity
#
Check if a host is reachable.
ping google.com
19. traceroute — Trace Network Paths
#
Visualize packet routing.
traceroute google.com
20. netstat -tuln — View Listening Ports
#
Inspect active TCP/UDP ports.
netstat -tuln
21. ss — Fast Network Status Tool
#
A modern replacement for netstat.
ss -tuln
22. curl -I — View HTTP Headers
#
Inspect response headers from a website.
curl -I https://www.example.com
23. wget -c — Resume Downloads
#
Continue interrupted downloads.
wget -c https://example.com/file.iso
🔍 Search & Processes #
24. grep -r — Recursive Text Search
#
Search text across directories.
grep -r "error" /var/log/
25. ps aux | grep — Find Running Processes
#
Locate specific processes.
ps aux | grep nginx
26. kill — Terminate a Process by PID
#
Stop a misbehaving process.
kill 1234
27. killall — Terminate Processes by Name
#
Kill all processes with the same name.
killall nginx
🔁 Automation & Background Tasks #
28. rsync — Efficient File Synchronization
#
Ideal for backups and mirroring.
rsync -av /source/ /destination/
29. crontab -e — Schedule Tasks
#
Automate recurring jobs.
crontab -e
# Example: daily backup at 2 AM
0 2 * * * /path/to/backup.sh
30. nohup — Run Commands After Logout
#
Keep jobs running after closing the terminal.
nohup ./script.sh &
These 30 Linux commands cover the majority of real-world scenarios encountered in development, system administration, and daily operations. With consistent use, they form a solid foundation for becoming faster, more confident, and more effective on the command line.