Saper navigare e amministrare un sistema Linux o Unix da riga di comando è una competenza fondamentale per ogni amministratore di sistema, sviluppatore o appassionato di tecnologia. Questa guida pratica raccoglie i comandi Linux fondamentali, completi di esempi reali e pronti all'uso, per gestire file, partizioni di memoria e risorse del server in pochi secondi.
1. Comandi Base per Navigare nel File System
Prima di modificare i file, dobbiamo capire dove ci troviamo all'interno del disco e come spostarci tra le directory.
• pwd (Print Working Directory): Mostra il percorso assoluto della cartella in cui ti trovi in questo momento.
• ls (List): Elenca i file e le cartelle presenti nella directory corrente. Per vedere anche i file nascosti e i dettagli di permessi e dimensioni, usa l'opzione "-la".
• cd (Change Directory): Permette di spostarsi da una cartella all'altra (es. cd /var/www/html per un percorso assoluto o cd .. per tornare indietro di un livello).
 |
| chermata terminale con pwd, ls -la e cd |
2. Gestione Rapida di File e Cartelle
Creare, copiare o eliminare elementi da terminale richiede un solo secondo se conosci l'istruzione esatta.
• mkdir (Make Directory): Crea una nuova cartella nel percorso in cui ti trovi.
• cp (Copy): Copia file o intere cartelle. Per copiare una directory e tutto il suo contenuto, usa l'opzione ricorsiva "-r".
• mv (Move / Rename): Sposta un file in un'altra cartella oppure lo rinomina se la destinazione rimane lo stesso percorso.
• rm (Remove): Elimina file o cartelle. Attenzione: l'eliminazione da terminale è permanente. Per forzare la cancellazione di una cartella e di tutti i file interni senza chiedere conferme, usa "-rf".
 |
| Schermata terminale con mkdir, cp, mv e rm |
3. Controllo Spazio su Disco e Risorse Server
Quando un server rallenta o mostra errori di esaurimento della memoria, questi sono i primi comandi da lanciare.
• df (Disk Free): Mostra lo spazio totale, occupato e disponibile su tutte her partizioni del disco. L'opzione "-h" rende i dati leggibili in Megabyte e Gigabyte.
• du (Disk Usage): Mostra lo spazio occupato da una specifica cartella o file. Utile per scovare file giganti che riempiono il server.
• htop (Interactive Process Viewer): Il miglior tool interattivo per monitorare in tempo reale l'uso della CPU, della memoria RAM, della partizione di Swap e tutti i processi attivi sul sistema.
 |
| Schermata del terminale durante l'esecuzione del comando htop |
4. Amministrazione Utenti, Privilegi e Permessi
Risolvere i problemi legati agli accessi negati e alla sicurezza dei file è cruciale per la stabilità del sistema.
• sudo (Superuser Do): Esegue un comando con i privilegi amministrativi di root.
• chmod (Change Mode): Modifica i permessi di lettura, scrittura ed esecuzione di un file o di una cartella (es. chmod 755 assegna permessi completi al proprietario).
• chown (Change Owner): Cambia il proprietario e il gruppo di appartenenza di un file (es. chown www-data:www-data assegna i file al server web).
 |
| Terminale che mostra i permessi drwxr-xr-x con il comando chmod |
5. Diagnostica di Rete e Connettività
Verificare lo stato della connessione, le porte aperte e l'instradamento dei pacchetti sul server.
• ping: Invia pacchetti a un host remoto per testare se è raggiungibile e misurare la latenza di rete.
• ip a (IP Address): Mostra tutte le interfacce di rete attive, i relativi indirizzi IP locali e i dettagli di configurazione hardware.
• ss (Socket Statistics): Sostituisce il vecchio netstat e mostra tutte le connessioni di rete attive e le porte TCP/UDP in ascolto sul server (es. ss -tulwn).
 |
| Diagnostica con comando ip a e ss da terminale |
6. Gestione dei Processi e dei Servizi di Sistema
Prendere il controllo dei software in esecuzione, avviando, arrestando o terminando i processi bloccati.
• ps (Process Status): Mostra un'istantanea dei processi attivi nel sistema in questo momento (es. ps aux per elencarli tutti).
• kill / killall: Termina un processo specifico tramite il suo ID numerico (PID) o tramite il suo nome software (es. killall nginx).
• systemctl: Gestisce i servizi di sistema in ambiente systemd, permettendo di avviare, fermare o verificare lo stato di un demone (es. systemctl status sshd).
 |
| Monitoraggio servizi e processi con systemctl e kill |
Se durante l'esecuzione di un comando visualizzi il messaggio di errore "Permission Denied", ricordati di anteporre il comando "sudo" per eseguirlo con i privilegi di amministratore (root), oppure verifica la configurazione dei permessi del file tramite il comando "chmod". Hai dubbi su una configurazione sistemistica avanzata o hai riscontrato un errore strano sul tuo server Linux? Parlane con la nostra community ed esponi il tuo problema nel nostro forum di supporto.
Collegamenti