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