terminal Linux

I comandi Linux più importanti da conoscere

calendar_today personTeam EGSOFT schedule3 min di lettura

Chi lavora con server Linux, container o semplicemente con un Raspberry Pi finisce presto per passare più tempo nel terminale che nell'interfaccia grafica. Questa guida raccoglie i comandi che usiamo davvero ogni giorno, divisi per area, con la sintassi essenziale e qualche esempio pratico — non un elenco enciclopedico, ma il sottoinsieme che copre il 90% del lavoro quotidiano.

Navigazione e gestione file

La base di tutto: muoversi nel filesystem e manipolare file e cartelle.

ComandoCosa faEsempio
pwdMostra la directory correntepwd
lsElenca il contenuto di una cartellals -lah
cdCambia directorycd /var/www
cpCopia file/cartellecp -r src/ dest/
mvSposta o rinominamv old.txt new.txt
rmElimina (con -r per cartelle)rm -rf tmp/
mkdirCrea una cartellamkdir -p a/b/c
findCerca file per nome/tipo/datafind . -name "*.log" -mtime -7

Il flag -r ("ricorsivo") ricorre spesso: senza, cp e rm rifiutano di lavorare su intere cartelle. find è quello che ripaga di più il tempo investito a impararlo: cercare per pattern, età del file o dimensione è molto più rapido che navigare a mano.

Leggere e filtrare il testo

La forza di Linux è che quasi tutto — log, configurazioni, output di comandi — è testo semplice, e questi strumenti permettono di leggerlo e filtrarlo senza aprire un editor.

  • cat file — stampa l'intero contenuto di un file
  • less file — lo apre in modalità scorrevole (q per uscire, /parola per cercare)
  • tail -f file.log — mostra le ultime righe e resta in ascolto di nuove righe: indispensabile per seguire un log in tempo reale
  • grep "errore" file.log — filtra solo le righe che contengono una stringa (-i per ignorare maiuscole/minuscole, -r per cercare ricorsivamente in una cartella)

Una combinazione che usiamo quasi ogni giorno per il debug: tail -f /var/log/nginx/error.log | grep --line-buffered "php" — segue il log in tempo reale mostrando solo le righe rilevanti.

Permessi e proprietà

Ogni file su Linux ha un proprietario, un gruppo e tre livelli di permessi (lettura, scrittura, esecuzione) per proprietario, gruppo e "altri". Si leggono e si modificano così:

  • chmod 755 script.sh — imposta i permessi in notazione numerica (7=rwx proprietario, 5=r-x gruppo, 5=r-x altri)
  • chmod +x script.sh — rende un file eseguibile senza toccare gli altri permessi
  • chown utente:gruppo file — cambia proprietario e gruppo

Un errore comune è impostare chmod 777 "per farlo funzionare e basta": significa lettura/scrittura/esecuzione per chiunque, ed è quasi sempre un rischio di sicurezza evitabile individuando il permesso realmente necessario.

Processi e risorse di sistema

Capire cosa sta girando su una macchina e quanto consuma è la base della diagnostica.

ComandoA cosa serve
ps auxElenca tutti i processi attivi con PID, CPU e memoria
top / htopMonitor interattivo di CPU/RAM in tempo reale (htop è più leggibile, va installato a parte)
kill -9 PIDTermina forzatamente un processo dato il suo PID
df -hSpazio disco disponibile per ogni partizione, in formato leggibile
du -sh cartella/Dimensione totale di una cartella
systemctl status nomeservizioStato di un servizio gestito da systemd (es. nginx, mysql)

Rete e trasferimento file

ssh utente@host apre una shell remota sicura; con -p porta si specifica una porta non standard. scp file.txt utente@host:/percorso/ copia un file su un server remoto sfruttando lo stesso protocollo. Per il debug di rete, curl -I https://sito.it mostra solo gli header HTTP di risposta (utile per verificare redirect e codici di stato senza scaricare la pagina), mentre ping host verifica la raggiungibilità di base.

Un consiglio più importante dei comandi stessi

Il comando man nomecomando apre il manuale ufficiale di qualsiasi utility Linux, con tutte le opzioni disponibili: è la fonte più affidabile, sempre allineata alla versione installata sulla macchina, meglio di qualunque guida online (compresa questa). Per una consultazione rapida delle stesse pagine man anche da browser, il riferimento più completo e aggiornato resta man7.org/linux/man-pages.

terminalAltri articoli su Linux grid_viewTutti gli articoli
Scrivici su WhatsApp