Skip to content

Linux command line: la guida definitiva dai fondamentali ai power tools

Linux Command Line

Il terminale Linux.

Per molti, quella finestra nera con il cursore lampeggiante è fonte di ansia; per altri, è una tela bianca di infinite possibilità.

La verità è che la Command Line Interface (CLI) non è solo uno strumento per hacker visti nei film, ma è il metodo più efficace per interagire con il tuo computer.

Che tu sia un aspirante DevOps, un amministratore di sistema o uno sviluppatore web, conoscere i comandi giusti trasforma compiti che richiederebbero ore di clic manuali in operazioni di pochi secondi.

Imparare la riga di comando significa smettere di essere un semplice utente del sistema e diventarne il padrone.

In questa guida, esploreremo i comandi essenziali per navigare, gestire, monitorare e automatizzare il tuo ambiente Linux.

1. I fondamentali della navigazione

Prima di poter amministrare un server, devi saperti muovere al suo interno.

Immagina il terminale come un esploratore di file testuale.

Esempio: /home/utente/progetti/sito-web

cd cartella: Entra in una cartella specifica.

Pro Tip: Usa ls -lah.-l: Mostra i dettagli (permessi, proprietario, data).

2. Gestione dei file: Creare, copiare e distruggere

Una volta che sai muoverti, devi poter manipolare gli oggetti.

3. Ricerca e analisi: I power tools

Qui è dove Linux brilla davvero.

Smetti di cercare file aprendo cartelle a caso.

Lascia che sia il sistema a lavorare per te.

find: Il segugio del filesystem

Il comando find è incredibilmente potente per localizzare file basandosi su metadati come nome, dimensione, permessi o data di modifica.

Scenario Reale: Il disco è pieno e devi trovare i file di log vecchi e pesanti per cancellarli.

find /var/log -name “*.log” -size +50M Questo comando cerca in /var/log tutti i file che finiscono per .log e sono più grandi di 50 Megabyte.

grep: Trovare l’ago nel pagliaio

Mentre find cerca i file, grep cerca dentro i file.

È essenziale per il debugging.

Scenario Reale: Il tuo server web ha dato errore, ma non sai perché.

grep -r “Fatal Error” /var/log/nginx/

  • -r: Cerca ricorsivamente in tutte le sottocartelle.
  • -i: Ignora la differenza tra maiuscole e minuscole (case-insensitive).

4. Monitoraggio del sistema

Il tuo computer è lento?

La ventola gira al massimo?

Ecco come diagnosticare il problema.

5. La potenza delle “Pipe” e redirezioni

La vera magia di Linux sta nel combinare i comandi.

Il simbolo | (pipe) prende l’output di un comando e lo passa come input al successivo.

Esempio di concatenazione: Vuoi vedere quali processi stanno usando più memoria, ma vuoi vedere solo i primi 5?

ps aux | sort -nk +4 | tail -5

6. Download e automazione

Non hai bisogno di un browser grafico per scaricare file.

Sui server remoti, spesso non hai nemmeno un’interfaccia grafica.

7. Sicurezza e permessi: chmod e chown

In Linux, ogni file e cartella ha un sistema di sicurezza integrato che decide chi può fare cosa.

Capire questo concetto è fondamentale per evitare errori di sicurezza (come lasciare file sensibili leggibili a tutti) o di funzionamento (come script che non si avviano).

Decifrare ls -l

Quando digiti ls -l, vedi una stringa simile a questa: -rwxr-xr--

Questa stringa va letta dividendo i caratteri in gruppi:

La matematica dei permessi (modalità ottale)

Il comando chmod (Change Mode) modifica questi permessi.

Sebbene tu possa usare lettere (es. u+x), i professionisti usano i numeri (notazione ottale).

Ogni permesso ha un valore:

PermessoValorer (Read)4w (Write)2x (Execute)1Nessuno0Per impostare i permessi, somma i valori per ogni gruppo (Utente, Gruppo, Altri).

Esempio Classico: chmod 755

  • Utente (7): 4+2+1 (Legge, Scrive, Esegue) -> Pieno controllo.
  • Gruppo (5): 4+0+1 (Legge, Esegue) -> Non può modificare.
  • Altri (5): 4+0+1 (Legge, Esegue) -> Non può modificare. Questo è lo standard per script e cartelle pubbliche: il proprietario fa tutto, gli altri guardano ed eseguono ma non toccano.

Scenari Reali

Scenario A: Rendere uno script eseguibile

Hai scritto uno script backup.sh ma Linux ti dice “Permission denied” quando provi a lanciarlo.

chmod +x backup.sh

Oppure in numerico (700 per renderlo privato, 755 per pubblico)

chmod 755 backup.sh

Scenario B: Proteggere le chiavi SSH (massima sicurezza)

Hai un file .pem o una chiave privata.

Nessuno tranne te deve leggerla, altrimenti SSH rifiuterà la connessione per sicurezza.

chmod 600 chiave_segreta.pem

Scenario C: Il pericolo del 777

Mai usare chmod 777 a meno che tu non sappia esattamente cosa stai facendo.

Significa che chiunque può scrivere, cancellare ed eseguire file.

È un enorme rischio di sicurezza, specialmente sui server web.

chown: Cambiare il proprietario

A volte i permessi sono giusti, ma il proprietario è sbagliato (es. hai caricato file come “root” ma il server web “www-data” deve leggerli).

Sintassi: chown [utente]:[gruppo] [file]

Esempio: Assegnare una cartella al server web Apache/Nginx

chown -R www-data:www-data /var/www/html

  • -R: Applica il cambio ricorsivamente a tutti i file e sottocartelle dentro html.
Precedente
Il futuro è Open Source: 5 tendenze tecniche che stanno ridefinendo Linux
Prossimo
La guida definitiva alle distribuzioni Linux (2025): quale scegliere e perché