Serve per visualizzare la lista dei file e delle directory contenute nella directory aperta
ls
ls [<opzioni>] [<nome>…]
Visualizza i nomi di file o il contenuto delle directory indicate. In mancanza di questa indicazione viene visualizzato il contenuto della directory corrente e di norma non vengono inclusi i nomi di file e directory il cui nome inizia con un punto: questi sono considerati nascosti.
È importante ricordare che se vengono indicati dei nomi di file e/o directory nella riga di comando, è compito della shell espandere eventuali caratteri jolly. Di conseguenza, in questo caso, è la shell a non fornire a ls i nomi che iniziano con un punto.
Il funzionamento predefinito di ls dipende anche dalla configurazione fatta attraverso dircolors. In generale, a meno che non sia indicato diversamente, ls genera un elenco ordinato per colonne se lo standard output è diretto allo schermo del terminale, oppure un elenco su una unica colonna se viene diretto altrove. Questa particolarità è molto importante per poter gestire, attraverso elaborazioni successive, l’output di questo programma.
-
Alcune opzioni
-
-a | –all
Per ciò che è competenza di ls, vengono elencati anche gli elementi i cui nomi iniziano con punto (i cosiddetti file nascosti).
-A | –almost-all
Vengono elencati tutti gli elementi, esclusi . e ...
-l | –format=long | –format=verbose
Oltre ai nomi, vengono visualizzati il tipo, i permessi, il numero di hard link, il nome del proprietario, il nome del gruppo, la dimensione in byte, la data di modifica.
-q | --hide-control-chars
Utilizza il punto interrogativo per sostituire i caratteri non stampabili eventualmente contenuti nei nomi.
-R | --recursive
Vengono elencati i contenuti di tutte le directory in modo ricorsivo.
-t | --time=time
Ordina il contenuto delle directory in funzione della data: dalla più recente alla più antica. Se non viene specificato diversamente, si fa riferimento alla data di modifica.
-c | --time=ctime | --time=status
Utilizza la data di cambiamento dello stato dei file (ovvero la data di creazione). Se viene usato il formato lungo di visualizzazione (
-
l), viene visualizzata questa data, se viene usato insieme a-
t, l’elenco viene ordinato in base a questa data.-u | --time=atime | --time=access | --time=use
Utilizza la data di accesso ai file. Se viene usato il formato lungo di visualizzazione (
-
l), viene visualizzata questa data, se viene usato insieme a-
t, l’elenco viene ordinato in base a questa data.-e | --full-time
Quando l’elenco comprende l’indicazione della data, questa viene espressa in modo dettagliato.
-i | --inode
Emette, alla sinistra delle indicazioni inerenti i file, il numero di inode.
-r | --reverse
Riordina in modo inverso rispetto al normale.
-B | --ignore-backups
Esclude dall’elenco i file che terminano con il simbolo tilde (~). Infatti, questo simbolo viene utilizzato per distinguere le cosiddette “copie di backup” dei file.
-C | --format-vertical
Emette un elenco organizzato in colonne, indipendentemente dalla destinazione dello standard output.
-F | --classify
Se non è già la modalità di funzionamento predefinita, aggiunge un carattere alla fine dei nomi dei file, in modo da riconoscerne il tipo:
-
* eseguibile;
-
/ directory;
-
@ link simbolico;
-
| FIFO;
-
= socket.
Gli altri file non hanno alcun simbolo.
-S | --sort=size
Riordina in base alla dimensione in modo decrescente.
-X | --sort=extension
Riordina in base all’estensione, cioè alla parte di nome che appare dopo l’ultimo punto. I nomi che non contengono alcun punto hanno la precedenza.
-1 | --format=single-column
Elenca i nomi, uno per ogni riga.
-8 | --8bit
Utilizza la codifica ISO-8859 per visualizzare i caratteri. Questa è la modalità normalmente predefinita.
-w n | --width n
Definisce la larghezza a disposizione per l’elenco. Il valore n si riferisce al numero di caratteri utilizzabili. Di solito, la larghezza viene determinata in funzione del numero di colonne che ha a disposizione il terminale o la finestra del terminale.
-I <modello> | --ignore <modello>
Permette di escludere dall’elenco i file che sono rappresentati dal modello specificato, a meno che non siano espressamente indicati nella riga di comando.
-
-
Esempi
-
$
ls-
lVisualizza un elenco lungo del contenuto della directory corrente.
$
ls-
R /*/*/dir*Cerca, a partire dal secondo livello dopo la directory radice, gli elementi che iniziano per dir.