Articolo originale: https://www.freecodecamp.org/news/the-linux-ls-command-how-to-list-files-in-a-directory-with-options/
Sin dalla creazione di Unix negli anni '70, molti sistemi operativi l'hanno usato come fondazione. Molti di questi sistemi operativi sono falliti, mentre altri hanno avuto successo.
Linux è uno dei sistemi operativi basati su Unix più popolari. È open source ed è usato in tutto il mondo in molte attività.
Una funzionalità fantastica del sistema operativo Linux è l'Interfaccia della Riga di Comando (Command Line Interface - CLI) che permette agli utenti di interagire con il loro computer da una shell. La shell di Linux è un ambiente REPL (Read, Evaluate, Print, Loop - Leggi, Valuta, Stampa, Itera) dove gli utenti possono inserire un comando e la shell lo esegue e restituisce un risultato.
Il comando ls
è uno dei molti comandi Linux che permettono ad un utente di elencare i file o le directory dal CLI.
In questo articolo andremo in profondità sul comando ls
e su alcune delle più importanti flag di cui avrai bisogno tutti i giorni.
Prerequisiti
- Un computer con file e cartelle
- Una delle distribuzioni Linux installata
- Una conoscenza base sull'uso del CLI
- Un sorriso :)
Il comando ls
in Linux
Il comando ls
è usato per elencare file o cartelle in Linux o in altri sistemi operativi basati su Unix.
Proprio come navighi con Esplora o Cerca con una interfaccia grafica, il comando ls
ti permette di elencare tutti i file e le cartelle nella cartella corrente di default, e ti permette di interagire ulteriormente con loro attraverso la riga di comando.
Avvia il terminale e digita ls
per vederlo in azione:
Come elencare una lista di file in una cartella con opzioni
Il comando ls
accetta alcune flag (note anche come opzioni) che sono informazioni addizionali che cambiano come i file o le cartelle sono elencati nel tuo terminale.
In altre parole, le flag cambiano come il comando ls
funziona:
ls [flags] [directory]
PS: La parola contenuti usata in tutto l'articolo si riferisce ai file e cartelle che stanno venendo elencati, non al contenuti di questi file/cartelle ⚠️
Elenca i file nella cartella attuale
Scrivi il comando ls
per elencare la lista di contenuti della cartella attuale:
Elencare i file in un'altra cartella
Scrivi il comando ls [qui percorso della cartella]
per elencare il contenuto di un'altra cartella:
Elencare i file nella cartella di root
Scrivi il comando ls /
per elencare il contenuto della cartella root:
Elencare i file nella cartella genitrice
Scrivi il comando ls ..
per elencare il contenuto della cartella genitrice un livello sopra. Usa ls ../..
per il contenuto due livelli sopra:
Elencare i file nella cartella home (/home/utente)
Scrivi ls ~
per elencare i contenuti nella cartella home dell'utente:
Elencare solo cartelle
Scrivi il comando ls -d */
per elencare solo cartelle:
Elencare file con sottocartelle
Scrivi il comando ls *
per elencare il contenuto della cartella con le sue sottocartelle:
Elencare file ricorsivamente
Scrivi il comando ls -R
per elencare tutti i file e le cartelle con le corrispondenti sottocartelle fino all'ultimo file:
Se hai molti file questo comando può richiedere un sacco di tempo per finire visto che ogni singolo file in ogni cartella viene elencato. Puoi specificare in quale cartella eseguire questo comando, così: ls Downloads -R
Elenca file con la loro dimensione
Scrivi il comando ls -s
(la s è minuscola) per elencare i file o cartelle con la loro dimensione:
Elencare file in formato esteso
Scrivi il comando ls -l
per elencare i file della cartella in un formato a tabella con colonne che includono:
- permessi dei contenuti
- numero di link ai contenuti
- proprietario dei contenuti
- proprietario del gruppo dei contenuti
- dimensione dei contenuti in byte
- ultima modifica del contenuto
- nome del file o della cartella
Elencare file in formato esteso con dimensioni di file leggibili
Scrivi il comando ls -ls
per elencare i file o le cartelle nello stesso formato a tabella di sopra, ma con una colonna diversa rappresentante la dimensione di ogni file/cartella:
Nota che le dimensioni sono elencare in byte (B), megabyte (MB), gigabyte (GB) o terabyte (TB) quando i file o le cartelle hanno una dimensione maggiore di 1024 byte.
Elencare i file includendo i file nascosti
Scrivi il comando ls -a
per elencare tutti i file o le cartelle, inclusi file o cartelle nascosi. In Linux, qualsiasi cosa che inizia con .
è considerato un file nascosto:
Elencare file in formato esteso includendo i file nascosti
Scrivi il comando ls -l -a
o ls -a -l
o ls -la
o ls -al
per elencare tutti i file o le cartelle nel formato a tabella con informazioni extra, includendo i file nascosti o le cartelle:
Elencare i file per ordine di data
Scrivi il comando ls -t
per elencare i file o cartelle in ordine discendente di ultima modifica (dal più grande al più piccolo).
Puoi anche aggiungere un flag -r
per invertire l'ordine, così: ls -tr
:
Elencare i file e le cartelle per dimensione
Scrivi il comando ls -S
(la S è maiuscola) per elencare file e cartelle ordinati per dimensione in ordine discendente (dal più grande al più piccolo).
Puoi anche aggiungere un flag -r
per invertire l'ordine, così: ls -Sr
:
Elencare i file e scrivere il risultato in un file
Scrivi il comando ls > output.txt
per scrivere l'output del comando precedente in un file output.txt
. Puoi usare qualsiasi delle flag discusse in precedenza come -la
; il punto chiave è che il risultato sarà scritto in un file e non scritto sulla riga di comando.
Poi puoi il file come vuoi, o puoi visualizzare il contenuto del file con cat output.txt
:
Conclusione
Ci sono un sacco di altri comandi e combinazioni che puoi esplorare per elencare file e cartelle a seconda delle tue necessità. Una cosa da ricordare è l'abilità di combinare più flag assieme.
Immagina di voler elencare i file in formato esteso, includendo i file nascosti e ordinando per dimensione. Il comando sarebbe ls -alS
, che è una combinazione di ls -l
, ls -a
, e ls -S
.
Se dimentichi i comandi o non sei sicuro di cosa fanno, puoi eseguire ls --help
o man ls
che visualizzano un manuale con tutte le possibili opzioni per il comando ls
:
Grazie per aver letto quest'articolo!