>_ Sistemi operativi e Linux

Primi comandi della shell Linux: muoversi tra file e cartelle

I comandi essenziali del terminale Linux spiegati con esempi: pwd, ls, cd, mkdir, cp, mv, rm, percorsi assoluti e relativi, completamento e cronologia.

Aprire un terminale per la prima volta mette spesso a disagio. Eppure bastano una decina di comandi per muoversi tra file e cartelle con una velocità che l'interfaccia grafica raramente consente. Questo articolo raccoglie quelli che uso ogni giorno e gli accorgimenti che evitano gli errori tipici di chi comincia.

Terminale, shell e prompt

Il terminale è la finestra in cui si scrive. La shell è il programma che interpreta ciò che scrivi: sulla maggior parte delle distribuzioni è Bash, su macOS dalla versione Catalina è Zsh. Il prompt è la riga che precede il cursore e di solito mostra utente, nome della macchina e cartella corrente, per esempio:

anna@portatile:~/Documenti$

Il simbolo ~ indica la tua cartella personale, mentre $ segnala un utente normale. Se vedi #, stai lavorando come amministratore e conviene fare più attenzione.

Dove mi trovo e cosa c'è qui

  • pwd (print working directory) stampa il percorso completo della cartella corrente.
  • ls elenca il contenuto della cartella.
  • ls -l mostra i dettagli: permessi, proprietario, dimensione, data di modifica.
  • ls -a include i file nascosti, cioè quelli il cui nome inizia con un punto, come .bashrc.
  • ls -lh rende le dimensioni leggibili (K, M, G invece dei byte).

Le opzioni si possono combinare: ls -lah è probabilmente la variante più usata in assoluto.

Spostarsi: cd e i percorsi

Il comando cd cambia cartella. Il punto delicato è capire la differenza tra due tipi di percorso.

Percorsi assoluti

Iniziano con /, la radice del filesystem, e indicano sempre lo stesso posto indipendentemente da dove ti trovi: cd /var/log porta in quella cartella da qualunque punto.

Percorsi relativi

Partono dalla cartella corrente. Se sei in /home/anna e scrivi cd Documenti, arrivi in /home/anna/Documenti. Due scorciatoie sono fondamentali:

  • . indica la cartella corrente;
  • .. indica la cartella superiore, quindi cd .. sale di un livello.

Altre scorciatoie utili: cd da solo o cd ~ riporta alla cartella personale, cd - torna alla cartella in cui eri prima.

Creare, copiare, spostare

Comando Cosa fa Esempio
mkdir crea una cartella mkdir progetti
mkdir -p crea anche le cartelle intermedie mkdir -p foto/2025/estate
touch crea un file vuoto o aggiorna la data touch note.txt
cp copia un file cp note.txt note-backup.txt
cp -r copia una cartella con il contenuto cp -r progetti progetti-copia
mv sposta o rinomina mv note.txt archivio/

Il comando mv non distingue tra spostare e rinominare: mv vecchio.txt nuovo.txt cambia il nome, mv file.txt cartella/ lo sposta. Attenzione: se il file di destinazione esiste già, cp e mv lo sovrascrivono senza chiedere. L'opzione -i (interattiva) fa comparire una richiesta di conferma.

Cancellare: rm senza cestino

rm file.txt elimina un file, rm -r cartella elimina una cartella con tutto ciò che contiene. Non esiste un cestino: ciò che rm cancella non si recupera con un clic. Alcune abitudini riducono il rischio:

  1. Prima di cancellare con un carattere jolly, controlla cosa corrisponde: ls *.log e solo dopo rm *.log.
  2. Usa rm -i quando cancelli più file in una cartella che non conosci bene.
  3. Diffida dei comandi copiati da internet che contengono rm -rf: l'opzione -f sopprime ogni richiesta di conferma.
  4. Per eliminare una cartella vuota esiste rmdir, che fallisce se la cartella contiene qualcosa: è una piccola rete di sicurezza.

Leggere i file senza aprirli in un editor

  • cat file.txt stampa tutto il contenuto, adatto ai file brevi.
  • less file.txt permette di scorrere un file lungo; si esce con q e si cerca con /parola.
  • head -n 20 file.txt mostra le prime 20 righe, tail -n 20 le ultime.
  • tail -f registro.log resta in ascolto e mostra le nuove righe man mano che vengono scritte: utilissimo per seguire un log in tempo reale.

Le scorciatoie che fanno risparmiare tempo

Il tasto Tab completa nomi di file e comandi: scrivi cd Doc e premi Tab, la shell completa in Documenti/. Se le possibilità sono più di una, un doppio Tab le elenca. Oltre a far risparmiare tempo, il completamento evita errori di battitura nei nomi.

Le frecce su e giù scorrono i comandi già eseguiti. Ctrl+R avvia una ricerca all'indietro nella cronologia: digiti parte di un comando usato giorni fa e la shell lo ritrova. Ctrl+C interrompe il comando in esecuzione, Ctrl+L pulisce lo schermo.

Nomi con spazi e caratteri speciali

La shell usa lo spazio per separare gli argomenti, quindi cd Foto vacanze viene interpretato come due argomenti. Le soluzioni sono le virgolette, cd "Foto vacanze", oppure la barra rovesciata, cd Foto\ vacanze. Il completamento con Tab inserisce automaticamente l'escape corretto. Per i file che crei tu, nomi senza spazi né accenti, con trattini o trattini bassi, semplificano la vita a lungo termine.

Quando non ricordi un'opzione

Ogni comando ha un manuale: man ls apre la documentazione completa. Molti comandi accettano anche --help per un riepilogo più breve. Leggere le prime righe di una pagina di manuale prima di usare un'opzione sconosciuta è un'abitudine che evita molti guai.

In sintesi

  • pwd, ls e cd bastano per orientarsi; impara la differenza tra percorsi assoluti e relativi.
  • cp, mv e rm sovrascrivono e cancellano senza chiedere: usa -i quando serve.
  • rm non ha cestino: verifica con ls cosa corrisponde prima di cancellare.
  • Tab, frecce e Ctrl+R rendono il terminale più veloce e meno soggetto a errori.
  • man e --help sono la prima fonte da consultare per qualsiasi comando.
MM
Marco Marzaduri

Marco Marzaduri si occupa di cybersecurity, informatica forense e sviluppo web. Laureato in informatica e in psicologia, unisce l'analisi tecnica alla comprensione del fattore umano.

Leggi anche