Con il comando ls possiamo visualizzare la lista dei file e delle cartelle presenti nella cartella attuale o in una specifica. Si tratta di un comando fondamentale da conoscere per lavorare con file e cartelle da terminale.
In questa guida ti mostrerò con degli esempi pratici come usare il comando e le sue opzioni.
Iniziamo!
Table of Contents
Sintassi del comando ls
Il comando ls su Linux ci permette di ottenere una lista di tutto il contenuto di una cartella. In questo modo possiamo visualizzare i file e le sottocartelle contenuti nella cartella corrente. Come vedremo, utilizzando le opzioni del comando, possiamo anche accedere ad ulteriori dettagli.
La sintassi di base del comando è questa:
ls [opzioni]
Per esempio per visualizzare il contenuto della cartella articoli, userò il comando in questo modo:
cd articoli
ls
Con il primo comando mi sposto nella cartella articoli (se non sono nella cartella superiore, dovrò specificare tutto il percorso, puoi leggere la guida al comando cd se hai dubbi su come usarlo).
Con il comando ls
richiamo il contenuto della cartella corrente, nel nostro caso la cartella “articoli”.
Da qui in avanti vedremo numerosi esempi che ci permetteranno di capire esattamente come funziona il comando e come sfruttare le opzioni.
Casi d’uso del comando ls e delle sue opzioni
Vediamo come usare il comando ls per visualizzare il contenuto delle cartelle, mostrare i file nascosti e ottenere altre informazioni specifiche su file e cartelle (come le dimensioni e i permessi).
Ti mostrerò come:
- visualizzare i file nella cartella corrente e in una cartella diversa da quella corrente;
- mostrare l’albero completo delle sottocartelle;
- attivare la visualizzazione dei file nascosti;
- distinguere i tipi di file;
- trovare il numero di inode;
- visualizzare solo il gruppo di appartenenza di file e cartelle;
- verificare le dimensioni dei file (in formato leggibile).
Dopodiché vedremo come modificare l’ordine in cui vengono elencati i file ordinandoli in ordine alfabetico, per dimensione e per data di ultima modifica.
Ottenere la lista di file e cartelle della cartella corrente
L’uso principale del comando ls è quello di visualizzare il contenuto della cartella corrente. Per farlo è sufficiente usare il comando senza nessuna opzione.
Suggerimento: se hai dubbi su quale sia il tuo percorso attuale, puoi usare il comando pwd per conoscere la cartella di lavoro.
Vediamo come funziona.
In questo esempio mi trovo nella cartella “articoli” e usando il comando ls ottengo una lista del contenuto.

Questa lista di per sé è poco indicativa perché non ci dà nessun dettaglio rilevante sui singoli file e cartelle. Riusciamo comunque a distinguere file e cartelle perché rappresentate con colori diversi, in questo esempio la cartella “prova” si distingue dai file perché è azzurra; i file sono indicati in bianco e i link simbolici in verde. (Nota che queste notazioni di colore variano da un terminale all’altro).
Per ottenere più informazioni, ci vengono in aiuto le opzioni del comando ls.
Ottenere un elenco dettagliato del contenuto della cartella corrente
Per avere maggiori informazioni su ogni file e cartella, possiamo usare il comando ls con l’opzione -l.
Il comando si usa così:
ls -l
In questo modo avremo informazioni sul contenuto della cartella corrente.

Esaminiamo l’output di questo comando:
- La prima colonna indica i permessi del file o della cartella:
- dai permessi possiamo capire se si tratta di un file (primo carattere
-
); di una cartella (primo carattered
); o di un link (primo caratterel
). - possiamo modificare i permessi dei file con il comando chmod.
- dai permessi possiamo capire se si tratta di un file (primo carattere
- La seconda colonna indica il nome del proprietario del file (nell’esempio vbox).
- La terza indica il gruppo a cui appartiene il file(nell’esempio vbox). (Possiamo modificare proprietario e gruppo con il comando chown).
- La quarta indica la dimensione del file.
- Viene indicata data e ora dell’ultima modifica del file (per cambiare il timestamp possiamo usare il comando touch).
- L’ultima colonna indica il nome del file o della cartella.
- Per i link simbolici viene indicato il nome del link e il file associato (con la relativa posizione). Possiamo creare i link simbolici con il comando ln.
In parole semplici, il comando ls con l’opzione l è utile soprattutto per ottenere informazioni su:
- permessi
- proprietario e gruppo del file
- data di ultima modifica.
Ottenere informazioni su cartelle diverse da quella corrente
Nella maggior parte dei casi è probabile che userai il comando ls per ottenere informazioni riguardo alla cartella corrente, tuttavia puoi anche specificare una cartella o un file e ottenere informazioni su quello specifico file (o cartela).
Per esempio, se sono nella cartella “articoli” che contiene a sua volta la cartella “prova” e voglio visualizzare il contenuto della cartella prova senza entrarci, posso usare il comando ls in questo modo:
ls -l nome-cartella
Nel mio caso:
ls -l prova
Questo mi darà come output la lista dei file e delle cartelle contenuti in “prova”:
Se, invece, voglio informazioni sulla cartella e non sul suo contenuto, posso usare l’opzione -d, in questo modo:
ls -ld prova
Guarda in questo esempio la differenza tra i due output:
- il primo mi dà l’elenco del contenuto della cartella;
- il secondo mi dà informazioni sulla cartella richiesta.

Ottenere un elenco di cartelle e sottocartelle
Quando usiamo il comando ls, di default ci viene mostrato il contenuto della cartella corrente, ma se ci sono sottocartelle non visualizziamo i file al loro interno.
Per visualizzare tutto l’albero delle cartelle in modo esteso, possiamo usare il comando ls con l’opzione -R
.
Vediamo un esempio pratico.
Nel mio caso voglio visualizzare il contenuto della cartella “SupportHost” e di tutte le sue sottocartelle. Per farlo entro nella cartella “SupportHost” e uso il comando:
ls -R
Ecco l’output:

In questo caso:
- per prima cosa mi viene indicato il contenuto della cartella richiesta (mostrato come se stessi usando il comando ls senza opzioni);
- dopodiché viene visualizzato il contenuto delle cartelle una ad una;
- ogni volta che si incontra una sottocartella ne viene mostrato il contenuto.
Visualizzare i file nascosti
Di default, se usiamo il comando ls senza opzioni, ci vengono mostrati tutti i file e le cartelle, tranne i file nascosti.
Suggerimento: su Linux possiamo creare file e cartelle nascoste inserendo un punto “.” prima del nome: esempio “.htaccess”.
Se vogliamo visualizzare anche file e cartelle nascoste, ci basta usare l’opzione -a
insieme al comando ls, così:
ls -a
Ecco un esempio in cui possiamo vedere come il file “.htaccess” viene elencato solo se usiamo l’opzione -a.

Comprendere la distinzione tra i tipi di file
Come abbiamo visto in uno dei primi esempi, quando usiamo il comando ls, in base al terminale è possibile visualizzare file e cartelle di colori diversi e quindi distinguerli in modo più rapido.
In alternativa, c’è anche un’opzione del comando ls che ci aiuta a farlo.
ls -F
Usando il comando con l’opzione -F possiamo distinguere più facilmente i diversi tipi di file:
- alle cartelle viene aggiunto il simbolo “/” alla fine;
- i link si distinguono per l’aggiunta di “@“;
- i file eseguibili (non presenti nell’esempio qui sotto), hanno un “*” alla fine;
- i file restano invariati.
In questo esempio puoi vedere la differenza tra l’uso del comando ls senza opzioni e l’uso con l’opzione -F.

Individuare il numero di inode
Nei sistemi Linux, ogni file (e cartella) è identificato dall’inode, un numero univoco che permette di associare il file ai dati veri e propri.
Il comando ls ci permette di ottenere informazioni sull’inode dei file, per farlo basta usare l’opzione -i
.
ls -i
Se, invece, vogliamo avere più dettagli possiamo usare anche l’opzione l
, in questo modo:
ls -li
Conoscere l’inode ci permette ad esempio di identificare gli hard link associati a un file: infatti gli hard link avranno lo stesso inode perché puntano agli stessi dati.
In questo esempio possiamo vedere tre file (hlfile.txt, hlink.txt e nuovo.txt) che condividono lo stesso inode e sono quindi hard link dello stesso file.

Elenco dettagliato mostrando solo il gruppo
Possiamo usare l’opzione -g
del comando ls se vogliamo ottenere informazioni dettagliate e focalizzarci sul gruppo di appartenenza di file e cartelle.
Questa opzione, infatti, funziona esattamente come l’opzione -l, ma invece di mostrare sia il proprietario che il gruppo dei file, ci mostra solo il gruppo.
Guarda questo esempio in cui ho usato prima l’opzione -l e poi l’opzione -g per capire le differenze:

Ottenere informazioni sulle dimensioni dei file
Come avrai potuto notare, quando abbiamo usato il comando ls con l’opzione -l
, tra le informazioni disponibili c’è anche la dimensione di file e cartelle.
Tuttavia quando usiamo solo l’opzione l, la dimensione dei file non è molto chiara. Possiamo quindi visualizzare la dimensione dei file in un formato più leggibile, usando anche l’opzione -h
(human redeable).
Il comando si usa così:
ls -lh
Vediamo un confronto:

In questo caso:
- usando il comando ls vedo ad esempio la dimensione del file “foto1.jpg” è 9910886;
- se uso
ls -lh
, posso avere la dimensione dello stesso file in formato più leggibile: 9,5M.
Modificare l’ordinamento dell’elenco dei file
Le opzioni del comando ls sono utili anche per modificare l’ordine in cui ci vengono mostrati i file elencati.
Di default quando usiamo ls senza opzioni che ne modificano l’ordinamento, vedremo file e cartelle elencati in ordine alfabetico.
Visto che le opzioni di ordinamento spesso sono più comode da usare in associazione all’elenco dettagliato, vedremo degli esempi in cui le usiamo in associazione all’opzione -l
.
Se vogliamo invertire l’ordine dei file, ci basta usare l’opzione -r
.
Partiamo da un esempio pratico.
In questo caso ho usato:
ls -l
per mostrare l’elenco in ordine alfabetico;ls -lr
per mostrare l’elenco in ordine inverso.

Ordinare i file per dimensione
Usando l’opzione -S
possiamo ordinare i file per dimensione decrescente: in questo modo vedremo un elenco ordinato a partire dal file più grande.
Per avere un elenco ordinato dal file più grande al più piccolo, uso il comando:
ls -lS
Per avere l’ordine inverso, dal più piccolo al più grande, aggiungo l’opzione -r
:
ls -lSr
In questo esempio puoi vedere i due modi per ordinare i file in ordine decrescente (-lS
) e crescente (-lSr
).

Ordinare i file in base alla data dell’ultima modifica
Possiamo usare l’opzione -t
per mostrare i file in base alla data dell’ultima modifica.
Per ottenere l’elenco dei file a partire da quello che è stato modificato più di recente, uso il comando:
ls -lt
Per avere l’ordine inverso, aggiungo l’opzione -r
:
ls -ltr
Nell’esempio puoi vedere come usare l’opzione -t per ordinare in base alla data di modifica e per ottenere l’ordinamento inverso con -r.

Conclusioni
Il comando ls è uno dei primi comandi Linux da conoscere quando si usa il terminale. Grazie a questo comando possiamo visualizzare rapidamente il contenuto delle cartelle e avere informazioni sui file e le cartelle in esse contenuti.
Il comando è ancora più utile se usato con le sue opzioni, ad esempio con l’opzione -l
che ci permette di avere un elenco ordinato con informazioni su ogni elemento. Se usi spesso il comando ls con una o più opzioni, potresti creare un alias per risparmiare tempo nell’uso del comando.
Lascia un commento