Managing a VPS or dedicated server often requires working directly in Linux, and a fundamental knowledge of Linux commands is essential for efficient server management. Whether you’re troubleshooting issues, optimizing performance, or maintaining security, the right Linux commands can make your tasks much easier and faster. Here’s a breakdown of essential Linux commands to help you get started.
Essential Linux Commands
1. Basic Navigation and File Management Commands
ls
Lists files and directories in the current directory. Useful options include:ls -a
(lists all files, including hidden)ls -l
(displays in detailed list format)
cd [directory]
Changes the directory. Example:cd /var/www
moves to the/var/www
directory.pwd
Displays the present working directory.cp [source] [destination]
Copies files or directories. Adding-r
copies directories recursively (e.g.,cp -r /source /destination
).mv [source] [destination]
Moves or renames files or directories.rm [file]
Deletes files or directories. Userm -r
with caution, as it removes directories recursively.
2. User and Permission Management Commands
adduser [username]
Adds a new user to the system. Useful when creating separate accounts for better access control.passwd [username]
Changes the password for a user. Regular password changes help in keeping accounts secure.chmod [permissions] [file]
Modifies file permissions. For example,chmod 755 filename
sets read, write, and execute permissions for the owner, and read and execute for others.chown [user]:[group] [file]
Changes the file ownership. Example:chown user:group filename
.
3. System Monitoring and Resource Management Commands
top
Provides a dynamic view of system processes, showing CPU and memory usage. Ideal for identifying resource-hogging processes.htop
Similar totop
but with a more user-friendly interface. Useapt-get install htop
oryum install htop
to install.df -h
Displays disk space usage in human-readable format. Useful for monitoring available storage.du -sh [directory]
Shows the size of a directory. The-h
option makes the output human-readable.free -m
Displays memory usage. The-m
flag shows output in megabytes, making it easier to understand.
4. Network and Connection Commands
ping [hostname/IP]
Checks connectivity to another server or website, ideal for troubleshooting connection issues.ifconfig
Displays IP and network configuration details. Useip addr
on newer systems asifconfig
may be deprecated.netstat -tuln
Shows active connections and listening ports. Useful for security and network diagnostics.traceroute [hostname/IP]
Tracks the path packets take to reach their destination, helping identify network bottlenecks.
5. Process Management Commands
ps aux
Lists all running processes along with details like CPU and memory usage.kill [PID]
Terminates a process by its Process ID (PID). You can find the PID usingps aux
ortop
.killall [process name]
Kills all instances of a specific process.
6. Security and Firewall Commands
ufw
(Uncomplicated Firewall) is a front-end for iptables and is easier for basic configurations.ufw enable
– Enables the firewall.ufw allow [port]
– Allows incoming connections on a specific port.ufw deny [port]
– Blocks incoming connections on a specific port.
iptables
Advanced firewall management for those needing specific rule sets.- Example:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
allows SSH access.
- Example:
7. File Editing Commands
nano [filename]
Opens a simple text editor, ideal for quick edits.vi [filename]
Opens thevi
editor, commonly used on Linux servers. It has a steeper learning curve but offers powerful editing capabilities.
8. Backup and Restore Commands
tar -czvf [archive-name].tar.gz [directory]
Creates a compressed archive of a directory.rsync -avz [source] [destination]
Syncs files between directories or even across servers. It’s efficient and preserves permissions.
Conclusion
These essential Linux commands provide a solid foundation for managing your VPS or dedicated server effectively. Mastering them can make daily tasks faster and easier, from routine monitoring to ensuring server security. Whether you’re a beginner or brushing up on skills, these commands cover the fundamentals needed for smooth, efficient server management.