Comandi Linux Fondamentali per la Gestione di Server

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.