Skip to main content

Top 25 Linux Commands I Use Weekly

A practical list of Linux commands I personally use most often during system monitoring, server administration, scripting, and troubleshooting.
Use this list as a quick reference or jump-off point for deeper Linux command mastery.


🔧 System Monitoring & Info

Shows real-time process activity, CPU usage, memory, and system load.

top

Interactive version of top with easier navigation and color-coded output.

htop

Displays RAM usage with human-readable units.

free -h

Shows disk usage by mounted partitions in human-readable format.

df -h

Shows size of each item in the current directory.

du -sh *

Displays how long the system has been up and the current load.

uptime

Prints kernel version and system info.

uname -a

Displays the current user name.

whoami

🔍 Networking & Firewall

Displays network interfaces and IPs.

ip a

Shows the routing table.

ip r

Shows UFW rules with index numbers for deletion.

sudo ufw status numbered

Allows incoming SSH connections via UFW.

sudo ufw allow 22/tcp

Lists all listening ports (older tool).

sudo netstat -tuln

Modern alternative to netstat for listing open ports.

ss -tuln

Tests network connectivity with ICMP packets.

ping 1.1.1.1

📁 File & Directory Management

Lists files including hidden files and sizes.

ls -lah

Changes the current directory.

cd /path/to/directory

Copies a file or folder.

cp source destination

Renames or moves a file or folder.

mv oldname newname

Removes a directory and all its contents (⚠️ dangerous).

rm -rf /path/to/folder

Edits files using a simple terminal-based editor.

nano filename.txt

Displays contents of a file.

cat filename.txt

Follows a log file in real time.

sudo tail -f /var/log/syslog

⚙️ Package Management (Debian/Ubuntu)

Updates package list and installs available upgrades.

sudo apt update && sudo apt upgrade -y

Installs a new package by name.

sudo apt install packagename

Searches installed packages for a string.

dpkg -l | grep keyword