Linux commands that every DevOps engineer should know
Here are some essential Linux commands that every DevOps engineer should know. These commands cover a range of functionalities including file and directory management, process management, system monitoring, networking, and package management
File and Directory Management
-
ls: List directory contents. -
cd: Change the current directory. -
pwd: Print the current working directory. -
mkdir: Create a new directory. -
rm: Remove files or directories. -
cp: Copy files or directories. -
mv: Move or rename files or directories. -
touch: Create an empty file or update the timestamp of a file. -
find: Search for files and directories. -
grep: Search for patterns within files.
File Viewing and Editing
-
cat: Concatenate and display file content. -
less: View file content one page at a time. -
head: Display the first few lines of a file. -
tail: Display the last few lines of a file. -
nano / vi / vim: Text editors for file editing.
Process Management
-
ps: Display currently running processes. -
top: Display real-time system statistics and running processes. -
htop: An improved, interactive process viewer (needs to be installed separately). -
kill: Terminate processes by PID. -
killall: Terminate processes by name. -
systemctl: Manage systemd services.
System Monitoring
-
df: Display disk space usage. -
du: Display disk usage of files and directories. -
free: Display memory usage. -
uptime: Display how long the system has been running. -
iostat: Display CPU and I/O statistics (requiressysstatpackage). -
vmstat: Display virtual memory statistics.
Networking
-
ifconfig: Display or configure network interfaces (deprecated in favor ofipcommand). -
ip: Display or configure IP addresses, routes, and devices. -
ping: Check connectivity to a host. -
netstat: Network statistics (deprecated in favor ofss). -
ss: Display socket statistics. -
traceroute: Display the route packets take to a network host. -
curl: Transfer data from or to a server. -
wget: Download files from the web.
Package Management
Debian-based distributions (e.g., Ubuntu):
-
apt-get / apt: Package management commands.sudo apt-get updatesudo apt-get install package_namesudo apt-get upgradesudo apt-get remove package_namesudo apt-cache search package_name
Red Hat-based distributions (e.g., CentOS, Fedora):
-
yum / dnf: Package management commands.sudo yum install package_namesudo yum updatesudo yum remove package_namesudo yum search package_namesudo dnf install package_namesudo dnf updatesudo dnf remove package_namesudo dnf search package_name
User and Permission Management
-
chmod: Change file permissions. -
chown: Change file owner and group. -
usermod: Modify user accounts. -
passwd: Change user password.
Miscellaneous
-
alias: Create command shortcuts. -
crontab: Schedule periodic tasks. -
tar: Archive files. -
ssh: Securely connect to remote servers. -
scp: Securely copy files between hosts.