fb-pixel

Mostrare il contenuto delle cartelle con il comando ls su Linux

Pubblicato in:

by:

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!

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.

Output Comando Ls Senza Opzioni

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.

Comando Ls Opzione L

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 carattere d); o di un link (primo carattere l).
    • possiamo modificare i permessi dei file con il comando chmod.
  • 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.
Contenuto Cartella Dettagli Comando Ls

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:

Comando Ls Albero Cartelle

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.

Comando Ls File Nascosti

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.

Comando Ls 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.

Comando Ls Inode

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:

Comando Ls Opzione G

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:

Ls Dimensioni File Formato Leggibile

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.
Comando Ls Ordine Inverso Opzione R

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).

Ls Ordinare File Dimensione

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.

Comando Ls Opzione T Data Modifica

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.


Prova gratis e senza impegno uno dei nostri piani hosting per 14 giorni. Non è richiesto nessun dato di pagamento!

Commenti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *