Conoscere i comandi Linux per la gestione dei server semplifica le attività amministrative quotidiane. Che si tratti di monitorare un VPS, individuare la causa di un sito web lento o gestire i servizi delle applicazioni, bastano pochi comandi per identificare rapidamente i problemi.
Questa guida presenta 25 comandi pratici con brevi esempi per Ubuntu, Debian e altre comuni distribuzioni Linux.

Hai appena iniziato a usare il terminale? Parti dalla nostra guida ai comandi SSH per principianti per imparare a connetterti al server e a spostarti tra le directory Linux.
1. Controllare CPU, memoria e processi
Questi comandi aiutano a capire come sta funzionando il server.
1. top — Monitorare l’attività del server
top
Mostra i processi in esecuzione, l’utilizzo della CPU, il consumo di memoria e il carico del sistema. Premi q per uscire.
2. free — Controllare la memoria disponibile
free -h
Mostra la RAM totale, utilizzata e disponibile in un formato leggibile.
3. uptime — Controllare il carico del sistema
uptime
Mostra da quanto tempo il server è in esecuzione, il numero di utenti attivi e i carichi medi degli ultimi 1, 5 e 15 minuti.
4. ps — Trovare i processi in esecuzione
ps aux
Elenca i processi in esecuzione con i relativi utenti, identificativi di processo (PID) e utilizzo delle risorse.
5. kill — Arrestare un processo
kill 1234
Invia un segnale di terminazione al processo con PID 1234. Sostituiscilo con il PID effettivo. Controlla prima il processo, perché arrestare un servizio critico può causare un’interruzione del servizio.
2. Controllare lo spazio su disco e i file
La mancanza di spazio su disco può interrompere il funzionamento di applicazioni e database e ostacolare gli aggiornamenti del sistema.
6. df — Controllare lo spazio sui file system
df -h
Mostra lo spazio utilizzato e disponibile sui file system montati.
7. du — Trovare le directory di grandi dimensioni
du -sh /var/log
Mostra la dimensione totale della directory /var/log.
8. find — Individuare i file
find /var/log -name "*.log"
Cerca i file che terminano con .log nella directory /var/log e nelle sue sottodirectory.
9. cp — Copiare i file
cp config.conf config.conf.bak
Crea una copia di backup di un file di configurazione prima di modificarlo.
10. mv — Spostare o rinominare i file
mv old.conf new.conf
Rinomina un file. Fai attenzione se il file di destinazione esiste già.
11. rm — Eliminare i file
rm -i old-backup.txt
Elimina un file dopo aver chiesto conferma.
Attenzione: l’eliminazione dei file in Linux generalmente non passa dal cestino dell’ambiente desktop. Verifica sempre il percorso prima di eliminare file importanti.
3. Gestire i servizi e i log Linux
Nelle distribuzioni Linux che utilizzano systemd, puoi controllare e gestire i servizi di sistema.
12. systemctl — Controllare lo stato di un servizio
sudo systemctl status nginx
Mostra se Nginx è in esecuzione e visualizza le informazioni recenti sul suo stato.
Per riavviarlo dopo aver controllato la configurazione:
sudo systemctl restart nginx
Sostituisci nginx con il nome del servizio interessato.
13. journalctl — Leggere i log di un servizio
sudo journalctl -u nginx -n 50
Mostra le ultime 50 voci del journal relative a Nginx.
14. tail — Seguire i file di log
sudo tail -f /var/log/nginx/error.log
Mostra le nuove voci man mano che vengono scritte. Premi Ctrl+C per interrompere la visualizzazione.
15. grep — Cercare errori
grep -i "error" application.log
Cerca in un file di log le righe che contengono «error», ignorando le differenze tra maiuscole e minuscole.
16. less — Leggere file lunghi
less application.log
Apre un file lungo consentendo di scorrerlo e cercare al suo interno. Premi / per cercare e q per uscire.
4. Controllare la connettività di rete
Questi comandi aiutano a diagnosticare problemi di connettività e DNS.
17. ip — Visualizzare gli indirizzi di rete
ip addr show
Mostra le interfacce di rete e gli indirizzi IP assegnati.
18. ping — Verificare la connettività
ping -c 4 1.1.1.1
Invia quattro richieste ICMP Echo. Alcune reti bloccano queste richieste, quindi un ping non riuscito non significa necessariamente che la destinazione non sia raggiungibile.
19. ss — Controllare le porte in ascolto
sudo ss -tuln
Mostra i socket TCP e UDP in ascolto, con indirizzi e porte in formato numerico.
20. curl — Controllare le risposte HTTP
curl -I https://example.com
Richiede le intestazioni HTTP, utili per verificare se un sito web risponde.
Sostituisci example.com con il tuo dominio.
5. Gestire permessi e utenti
I permessi determinano chi può accedere ai file del server o modificarli.
21. chmod — Modificare i permessi dei file
chmod 640 config.conf
Imposta i permessi di lettura e scrittura per il proprietario, di sola lettura per il gruppo e nessun accesso per gli altri utenti.
22. chown — Modificare il proprietario di un file
sudo chown admin:admin config.conf
Imposta admin come proprietario e gruppo del file. Sostituisci questi nomi con quelli dell’account e del gruppo corretti.
23. id — Controllare l’identità dell’utente
id
Mostra il tuo ID utente, il gruppo principale e gli altri gruppi a cui appartieni.
6. Controllare gli aggiornamenti e le informazioni sul server
Questi ultimi comandi sono utili per la manutenzione ordinaria del server.
24. apt — Esaminare gli aggiornamenti disponibili
Su Ubuntu o Debian:
sudo apt update
apt list --upgradable
Aggiorna le informazioni sui pacchetti ed elenca gli aggiornamenti disponibili. Esamina le modifiche prima di applicare gli aggiornamenti, soprattutto sui server di produzione.
25. uname — Controllare le informazioni sul kernel
uname -r
Mostra la versione del kernel Linux in esecuzione, utile per analizzare problemi di compatibilità e relativi al kernel.
Comandi Linux per server: riferimento rapido
| Attività | Comando |
|---|---|
| Monitorare CPU e processi | top |
| Controllare la RAM | free -h |
| Controllare lo spazio su disco | df -h |
| Verificare la dimensione di una directory | du -sh /path |
| Controllare un servizio | systemctl status service |
| Leggere i log di un servizio | journalctl -u service |
| Visualizzare le porte in ascolto | ss -tuln |
| Verificare la risposta HTTP | curl -I URL |
| Controllare la versione del kernel | uname -r |
Consigli per eseguire i comandi Linux in sicurezza
Prima di eseguire comandi che non conosci su un server di produzione:
- Controlla la directory corrente e verifica i percorsi dei file.
- Esegui il backup dei file di configurazione prima di modificarli.
- Usa
sudosolo quando sono necessari permessi elevati. - Evita di copiare comandi potenzialmente distruttivi senza averne compreso il funzionamento.
- Controlla la configurazione dei servizi prima di riavviare applicazioni critiche.
Se lavori su un VPS di produzione, valuta la possibilità di testare prima le modifiche in un ambiente di staging.
Domande frequenti
top, free, df, systemctl, journalctl, ss e curl sono particolarmente utili per monitorare le risorse del server e analizzare i problemi più comuni.
Molti sì, ma alcuni dipendono dai pacchetti o dai componenti di sistema installati. Per esempio, apt si usa sui sistemi basati su Debian, mentre systemctl richiede systemd.
Non per tutti i comandi. Di solito puoi visualizzare le informazioni di base sul sistema come utente normale, mentre per gestire i servizi e accedere ai log protetti potrebbe essere necessario sudo.
Sì. Questi comandi sono utili sui VPS Linux e sui server dedicati, purché il tuo account disponga dei permessi necessari.
Conclusione
Imparare i comandi Linux per la gestione dei server aiuta a diagnosticare problemi di prestazioni, gestire i servizi, esaminare i log e mantenere il server con maggiore sicurezza.
Inizia dal monitoraggio delle risorse e dall’esame dei log, poi impara gradualmente a gestire i servizi, la rete e i permessi. Non devi memorizzare ogni comando: ciò che conta è sapere quale usare.