Linux Commands and Explanations for 3+ Years Experienced System Administrator
1. top
- Shows real-time running processes and system resource usage.
- Usage: top
2. ps aux | grep <process_name>
- Displays information about a specific process.
- Usage: ps aux | grep apache2
3. systemctl status <service>
- Checks the status of a service.
- Usage: systemctl status sshd
4. journalctl -xe
- Views systemd logs; useful for debugging service issues.
5. netstat -tuln or ss -tuln
- Shows listening ports and associated services.
6. df -h
- Displays disk space usage in human-readable format.
7. du -sh <directory>
- Shows the size of a specific directory.
8. crontab -e
- Edits the crontab to schedule jobs.
9. find / -name <filename>
- Finds files by name starting from root.
10. grep -i "search_term" filename
- Searches for a string in a file (case-insensitive).
11. tar -czvf archive.tar.gz /path/to/directory
- Creates a compressed archive of a directory.
12. chmod +x <script.sh>
- Grants execute permissions to a script.
13. chown user:group <file>
- Changes ownership of a file or directory.
14. rsync -avz source/ destination/
- Syncs directories locally or to a remote server.
15. ssh user@hostname
- Connects to a remote machine over SSH.
16. scp file user@remote:/path/
- Securely copies files to a remote machine.
17. ip a
- Displays IP address information.
18. hostnamectl
- Views or sets system hostname.
19. uname -a
- Shows system/kernel information.
20. tail -f /var/log/syslog
- Continuously monitors system logs in real-time.
These commands are commonly asked about in interviews for Linux system
administrators. Be prepared to explain scenarios where you used them in
troubleshooting or automation.