La gestione di un server Linux richiede familiarità con una serie di comandi essenziali che permettono il monitoraggio delle risorse, la diagnosi dei problemi, l’amministrazione del sistema e la gestione dei servizi.
Ecco una lista di comandi indispensabili, con spiegazione e contesto d’uso:
Monitoraggio delle Risorse
htop
htop
Visualizzatore interattivo dei processi. Mostra CPU, RAM, swap e permette di terminare processi. Alternativa avanzata a top
.
top
top
Visualizza i processi attivi e l’uso delle risorse in tempo reale.
ps aux | grep apache
ps aux | grep apache
Verifica se Apache è in esecuzione filtrando i processi.
ps aux –sort=-%mem | head
ps aux --sort=-%mem | head
Visualizza i processi che usano più memoria RAM.
free -h
free -h
Mostra la memoria totale, usata, libera e lo swap.
uptime
uptime
Mostra da quanto tempo il server è attivo, numero di utenti e carico medio.
Comandi di Rete
ip a
ip a
Visualizza le interfacce di rete e gli indirizzi IP.
ip r
ip r
Mostra la tabella di routing del sistema.
ss -tuln
ss -tuln
Mostra le porte TCP/UDP in ascolto e i servizi attivi.
lsof -i :80
lsof -i :80
Elenca i processi che utilizzano la porta 80 (HTTP).
ping google.com
ping google.com
Verifica la connettività verso Internet.
ping -c 4 google.com
ping -c 4 google.com
Invia solo 4 pacchetti ICMP per verificare la connessione.
traceroute google.com
traceroute google.com
Traccia il percorso dei pacchetti verso l’host specificato.
nc -zv 192.168.10.221 22
nc -zv 192.168.10.221 22
Controlla se una porta (es. 22 per SSH) è aperta su un host remoto.
Diagnostica e Log
journalctl -xe
journalctl -xe
Mostra i log recenti del sistema con dettagli su errori.
journalctl -u nginx
journalctl -u nginx
Visualizza i log specifici del servizio Nginx.
tail -f /var/log/messages
tail -f /var/log/messages
Segue in tempo reale i log di sistema. Su Debian/Ubuntu può essere /var/log/syslog
.
Gestione File e Disco
du -sh /var/*
du -sh /var/*
Mostra quanto spazio occupano le directory in /var
.
df -h
df -h
Mostra lo spazio disco disponibile su tutti i mount point.
rsync -avz /data/ user@remote:/backup/
rsync -avz /data/ user@remote:/backup/
Sincronizza file e directory con un host remoto. Utile per backup.
⏱️ Automazione
crontab -e
crontab -e
Modifica le attività pianificate dell’utente corrente.
Permessi e Sicurezza
chmod 755 script.sh
chmod 755 script.sh
Assegna permessi di lettura/esecuzione a tutti, scrittura solo al proprietario.
chown user:user file.txt
chown user:user file.txt
Cambia il proprietario e il gruppo di un file.
Ricerca e Utility
find /var/log -name “*.log”
find /var/log -name "*.log"
Cerca tutti i file .log
nella directory e sottodirectory di /var/log
.
Conclusione
Questi comandi rappresentano una vera e propria cassetta degli attrezzi per chiunque gestisca server Linux. Conoscere ed usare bene questi strumenti permette di intervenire rapidamente in caso di problemi, gestire le risorse in modo ottimale e garantire efficienza operativa.