Manpages

NOME

ls, dir, vdir − visualizza i contenuti delle directory

SINTASSI

ls [opzioni] [file...]
dir [
file...]
vdir [
file...]

Opzioni POSIX: [−CFRacdilqrtu1]

Opzioni GNU (forma breve): [−1abcdfghiklmnopqrstuvwxABCDFGHLNQRSUX] [−w colonne] [−T colonne] [−I modello] [−−full−time] [−−show−control−chars] [−−block−size=dimensione] [−−format={long,verbose,commas,across,vertical,single−column}] [−−sort={none,time,size,extension}] [−−time={atime,access,use,ctime,status}] [−−color[={none,auto,always}]] [−−help] [−−version] [−−]

DESCRIZIONE

Il programma ls elenca per primi gli argomenti in file che non sono directory, e poi tutti i file elencabili contenuti in ciascuna directory. Se non è presente nessun argomento che non sia un opzione, viene supposto un argomento di default «.» (la directory corrente). L’opzione −d fa sì che le directory vengano trattate come file normali. Un file è elencabile se il suo nome non inizia per «.» o se è presente l’opzione −a.

Ciascun elenco di file (sia quello delle non-directory sia quello dei file contenuti in ciascuna directory) è ordinato separatamente secondo la sequenza di collazione del locale corrente. Quando viene usata l’opzione −l, ciascun elenco è preceduto da una riga di riassunto che dà la dimensione totale di tutti i file dell’elenco, misurata in mezzi chilobyte (512 byte).

L’output è verso stdout, una voce per riga, a meno che venga richiesto un formato a più colonne coll’opzione −C. In ogni caso, se l’uscita è verso un terminale, non è definito se il formato debba essere su una o su più colonne. Le opzioni −1 e −C possono essere usate per ottenere un formato, rispettivamente, a una o più colonne.

OPZIONI POSIX

−C

Elenca i file ordinati verticalmente in colonne.

−F

Aggiunge a ciascun nome di directory una «/», una «|» alle FIFO e un «*» agli eseguibili.

−R

Elenca ricorsivamente tutte le sottodirectory incontrate.

−a

Include nell’elenco tutti i file il cui nome inizia per «.».

−c

Usa l’ora dell’ultimo cambiamento dello stato del file anziché l’ora dell’ultima modifica per ordinare (con −t) o per elencare (con −l).

−d

Elenca le directory come gli altri file, anziché visualizzarne i contenuti.

−i

Stampa il numero di indice (inode) di ciascun file, sulla sinistra del nome.

−l

Scrive (in un’unica colonna) i permessi del file, il numero di collegamenti (link) verso di esso, il nome del proprietario e del gruppo, la dimensione (in byte), l’orario ed il nome. L’orario mostrato è di natura quello dell’ultima modifica; le opzioni −c e −u selezionano gli altri due orari. Per i file speciali di device, il campo della dimensione ’e di norma rimpiazzato dal numero maggiore e minore del device.

−q

Stampa i caratteri non rappresentabili di un nome di file come punti di domanda (questo può essere il default in caso di output su terminale).

−r

Inverte la direzione dell’ordinamento.

−t

Ordina secondo l’orario mostrato.

−u

Usa l’orario di ultimo accesso per ordinare (con −t) o elencare (con −l), invece che l’orario di modificazione.

−1

Output su una colonna singola.

PARTICOLARI GNU

Se lo standard output è un terminale, l’uscita è in colonne (ordinate verticalmente).

dir (installato anche come d) equivale a «ls −C −b»; cioè i file sono di natura elencati in colonne, ordinati verticalmente. vdir (installato anche come v) equivale a «ls −l −b»; cioè i file sono di natura elencati nel formato lungo.

OPZIONI GNU

−1, −−format=single−column

Elenca un file per riga. Questo è il comportamento predefinito se lo standard output non è un terminale.

−a, −−all

Lista tutti i file nelle directory, compresi quelli che cominciano con «.»

−b, −−escape, −−quoting−style=escape

Visualizza i caratteri non grafici nei nomi dei file utilizzando sequenze di backslash (\) alfabetiche ed ottali come quelle usate in C. Quest’opzione è la stessa di −Q tranne che i nomi dei file non sono racchiusi fra virgolette.

−c, −−time=ctime, −−time=status

Ordina il contenuto delle directory in base all’orario di cambiamento di stato del file (il «ctime» dell’inode). Se viene usato il formato lungo (−l), stampa l’orario di cambiamento di stato piuttosto che quello di modificazione.

−d, −−directory

Lista le directory come altri file, anziché visualizzarne i contenuti. −f Non riordina i contenuti della directory; li visualizza nell’ordine in cui sono memorizzati nel disco. È lo stesso che abilitare −a e −U e disabilitare −l, −−color, −s, e −t nel caso in cui fossero stati specificati prima di −f.

−g

Ignorato; per compatibilità Unix.

−h, −−human-readable

(comprensibile) Aggiunge a ciascuna dimensione un suffisso, come M per megabyte binario («mebibyte») (novità in fileutils-4.0).

−i, −−inode

Stampa il numero di indice (inode) di ciascun file, sulla sinistra del nome (questo numero identificata univocamente un file all’interno di un dato filesystem)

−k, −−kilobytes

Se le dimensioni dei file sono listate, vengono visualizzate in chilobyte.

−l, −−format=long, −−format=verbose

Oltre al nome di ciascun file, visualizza il tipo di file, i permessi, il numero di hard link (collegamenti fisici), il nome del proprietario e quello del gruppo, la dimensione in byte, e l’orario (quello dell’ultima modifica al file se non diversamente specificato). Se l’orario è più vecchio di 6 mesi o nel futuro di più di un’ora, questo contiene l’anno anziché l’ora del giorno.

Per ogni directory elencata, una riga «blocchi totali» precede l’elenco dei file, dove blocchi indica lo spazio totale su disco occupato dai file della directory. Di natura vengono usati blocchi da 1024 byte; se la variabile POSIXLY_CORRECT è impostata, vengono invece usati blocchi da 512 byte (a meno che venga usata l’opzione −k). Il conto dei blocchi conta separatamente ciascun collegamento fisico; questo potrebbe probabilmente essere chiamato un difetto.

I permessi elencati sono simili a quelli usati nei permessi simbolici, ma ls combina più bit nel terzo carattere di ciascun insieme di permessi

s

Se il bit setuid o setgid ed il bit d’esecuzione corrispondente sono entrambi impostati.

S

Se il bit setuid o setgid è impostato ma non lo è il corrispondente bit d’esecuzione.

t

Se il bit «sticky» ed il bit d’esecuzione altrui sono entrambi impostati.

T

Se il bit «sticky» è impostato ma non lo è il bit d’esecuzione altrui.

x

Se il bit d’esecuzione è impostato e non si verifica nessuno dei casi precedenti.

Altrimenti.

Elenca i file orizzontalmente, quanti più ne stanno in ogni riga,

separati da una virgola e da uno spazio.

−n, −−numeric−uid−gid

Visualizza gli UID e GID [id del proprietario e del gruppo] numerici anziché i nomi.

−o

Produce elenchi in formato lungo ma senza mostrare informazioni sul gruppo. Equivale ad usare −−format=long −−no−group. Quest’opzione è fornita per compatibilità con altre versioni di ls.

−p, −−file−type, −−indicator−style=file−type

Aggiunge ad ogni nome di file un carattere che ne indica il tipo. Quest’opzione è come −F eccetto che non segnala gli eseguibili (infatti fileutils-4.0 tratta l’opzione --file-type come --classify). −q, −−hide-control−chars Stampa punti di domanda (?) anziché caratteri non grafici nei nomi dei file. Questo è il comportamento predefinito.

−r, −−reverse

Ordina al contrario i contenuti delle directory.

−s, −−size

Visualizza la dimensione di ciascun file in blocchi di 1K, sulla sinistra del nome del file. Se la variabile d’ambiente POSIXLY_CORRECT è impostata, vengono usati blocchi di 512 byte, a meno che sia stata usata l’opzione −k.

−t, −−sort=time

Ordina secondo l’orario di modificazione (l’«mtime» dell’inode) anziché alfabeticamente, con i file più recenti visualizzati per primi.

−u, −−time=atime, −−time=access, −−time=use

Ordina i contenuti delle directory basandosi sull’ora dell’ultimo accesso anziché sull’ora dell’ultima modifica (l’«atime’» dell’inode). Se viene utilizzato il formato di visualizzazione lungo, visualizza l’ora dell’ultimo accesso anziché quella dell’ultima modifica.

−v

Ordina il contenuto delle directory in base alla versione dei file: questo si prende cura del fatto che spesso il nome del file include un indice o un numero di versione. Le funzioni solite di ordinamento non producono di norma l’ordinamento che ci si aspetterebbe, essendo i confronti fatti carattere per carattere; l’ordinamento per versione si rivolge a questo problema ed è particolarmente utile nella consultazione di directory contenenti molti file con indici o numeri di versione nel loro nome. Per esempio:

> ls -1 > ls -1v
foo.zml-1.gz foo.zml-1.gz
foo.zml-100.gz foo.zml-12.gz
foo.zml-12.gz foo.zml-25.gz
foo.zml-25.gz foo.zml-100.gz

Si noti come le componenti numeriche precedute da uno zero vengono considerate come decimali:

> ls -1 > ls -1v
abc-1.007.tgz abc-1.007.tgz
abc-1.012b.tgz abc-1.01a.tgz
abc-1.01a.tgz abc-1.012b.tgz

(novità in fileutils-4.0).

−w, −−width colonne

Suppone che lo schermo sia largo un numero colonne di colonne. Il valore predefinito è, se possibile, quello del driver del terminale; sennò quello della variabile d’ambiente COLUMNS, se è impostata; altrimenti 80.

−x, −−format=across, −−format=horizontal

Lista i file in colonne, ordinati orizzontalmente.

−A, −−almost-all

Lista tutti i file nelle directory, eccetto «.» e «..».

−B, −−ignore-backups

Non elenca i file che finiscono con ’~’, a meno che non vengano dati sulla linea di comando.

−C, −−format=vertical

Elenca i file in colonne, ordinate verticalmente. Questo è il comportamento predefinito se lo standard output è un terminale. Per dir e d, è in ogni caso il comportamento predefinito.

−D, −−dired

Con il formato lungo (−l), visualizza un riga aggiuntiva dopo l’output principale:
//DIRED//
INI1 FINE1 INI2 FINE2 ...

INIn e FINEn sono interi senza segno che indicano la posizione in byte dell’inizio e della fine di ciascun nome di file nell’output. Ciò rende più semplice trovare i nomi per Emacs, anche quando contengono caratteri inusuali come spazi o newline, senza bisogno di ricerche complicate.

Se le directory vengono elencate ricorsivamente (−R), visualizza un riga simile dopo ogni sottodirectory.
//SUBDIRED//
INI1 FINE1 ...

−F, −−classify, −−indicator−style=classify

Aggiunge a ciascun nome di file un carattere che ne indica il tipo. Ai file eseguibili viene aggiunto un asterisco (*). Gli altri indicatori di tipo di file sono una «/» per le directory, una «@» per i collegamenti simbolici, una «|» per le FIFO, un «=» per i socket, e niente per i file normali.

−G, −−no−group

Impedisce la visualizzazione di informazioni sul gruppo negli elenchi con formato lungo.

−H, −−si

Ha lo stesso effetto di −h, ma usa le unità ufficiali SI (con potenze di 1000 piuttosto che di 1024, per cui M sta per 1000000 invece di 1048576) (novità in fileutils-4.0).

−I, −−ignore modello

Non elenca i file i cui nomi corrispondono al modello modello di shell (e non un’espressione regolare) a meno che non siano dati nella linea di comando. Come nella shell, un «.» posto all’inizio del nome del file non corrisponde ad un metacarattere all’inizio di modello.

−L, −−dereference

Elenca informazioni sul file indicato da un collegamento simbolico, anziché sul collegamento stesso.

−N, −−literal

Non include i nomi di file tra apici.

−Q, −−quote-name, −−quoting−style=c

Include i nomi di file tra doppi apici ed i caratteri non grafici tra apici, come in C.

−R, −−recursive

Elenca ricorsivamente il contenuto di tutte le directory.

−S, −−sort=size

Ordina i contenuti delle directory a seconda della dimensione del file anziché alfabeticamente, con i file più grandi listati per primi.

−T, −−tabsize colonne

Considera ogni stop di tabulatore come ampio colonne colonne. Il valore predefinito è 8. Per efficienza, ls usa quando possibile i tabulatori nell’output. Se colonne è zero, i tabulatori non vengono usati.

−U, −−sort=none

Non ordina i contenuti delle directory; li lista nell’ordine in cui sono memorizzati sul disco. La differenza tra −Ue−f è che il primo non disabilita né abilita nessuna opzione. Questa opzione è utile in modo particolare quando vengono elencate grosse directory, poiché l’assenza di ordinamento può rendere l’elencazione visibilmente più rapida.

−X, −−sort=extension

Ordina i contenuti delle directory alfabeticamente a seconda dell’estensione dei file (caratteri dopo l’ultimo «.»); i file senza estensione sono listati per primi.

−−block−size=dimensione

Stampa le dimensioni in blocchi da dimensione byte (novità in fileutils-4.0, ma non funziona).

−−color[=quando]

Specifica quando usare il colore per distinguere il tipo di un file. I colori vengono specificati tramite la variabile ambientale LS_COLORS. Per informazioni su come impostare questa variabile, si veda dircolors(1). quando può essere omesso o può avere uno dei seguenti valori:

none

(niente) Non usare i colori. Questo è il comportamento predefinito.

auto

Usa il colore solo se lo standard output è un terminale.

always

(sempre) Usa sempre il colore. Specificare −−color e non quando equivale a −−color=always.

−−full−time

Dà il tempo per esteso piuttosto che la versione data dall’euristica solita. Il formato è quello predefinito di date(1); non è possibile alterarlo, ma si può sempre estrarre la stringa della data con cut(1) e passare il risultato a «date −d».

L’opzione è particolarmente utile perché così la data comprende i secondi (i filesystem Unix registrano gli orari dei file con la precisione di un secondo, per cui l’opzione mostra tutto quello che c’è da mostrare). Questo può essere utile, per esempio, quando si ha un Makefile che non rigenera correttamente i file.

−−quoting−style=termine

Usa lo stile termine per virgolettare i nomi in uscita. Il termine dovrebbe essere uno dei seguenti:
literal

Stampa il nome così com’è: questo è il comportamento predefinito di ls.

shell

Virgoletta i nomi per la shell se contengono metacaratteri di shell o se possono dare dei risultati ambigui.

shell−always

Virgoletta i nomi per la shell, anche se di norma non richiederebbero nessuna virgoletta.

c

Virgoletta i nomi come se fossero stringhe in C; è la stessa cosa dell’opzione −Q.

escape

Virgoletta come per c ma omette le virgolette doppie; è la stessa cosa dell’opzione −b.

Si può predefinire un valore per quest’opzione tramite la variabile ambientale QUOTING_STYLE (vedi ENVIRONMENT più sotto).

−−show−control−chars

Stampa caratteri non grafici nei nomi dei file letteralmente: questo è il comportamento predefinito, a meno che l’output sia su terminale ed il programma sia ls.

OPZIONI GNU STANDARD

−−help

Stampa un messaggio di spiegazione sullo standard output ed esce (con successo).

−−version

Stampa informazioni sulla versione sullo standard output ed esce (con successo).

−−

Termina l’elenco delle opzioni.

AMBIENTE

La variabile POSIXLY_CORRECT determina la scelta di unità. Se questa non è impostata, la variabile TABSIZE determina il numero di caratteri per stop di tabulatore. La variabile COLUMNS (quando contiene una rappresentazione di un intero decimale) determina la larghezza delle colonne in uscita (per l’opzione −C). I nomi dei file non devono essere troncati per farli stare in un formato a più colonne.

Le variabili LANG, LC_ALL, LC_COLLATE, LC_CTYPE e LC_MESSAGES hanno il solito significato. La variabile TZ determina il fuso orario per le stringhe di tempo scritte da ls. La variabile LS_COLORS è usata per specificare i colori usati.

La variabile QUOTING_STYLE è usata per specificare il valore predefinito per l’opzione −−quoting−style. Se non è presente, al momento è presupposto un valore di literal, ma gli autori hanno preannunciato che qualche versione futura di ls potrebbe presupporre un valore di shell.

BACHI

Su sistemi BSD, l’opzione −s riporta, per i file montati via NFS da sistemi HP-UX, dimensioni che sono metà di quelle corrette. Su sistemi HP-UX, ls riporta, per i file montati via NFS da sistemi BSD, dimensioni che sono il doppio di quelle corrette. Ciò è dovuto ad un errore dell’HP-UX, di cui risente anche il programma ls di HP-UX.

CONFORME A

POSIX 1003.2

VEDERE ANCHE

dircolors(1)

NOTE

Questa pagina descrive ls come si trova nel pacchetto fileutils-4.0; altre versioni potrebbero differire leggermente. Spedisci correzioni o aggiunte a aeb [AT] cwi.nl [NdT: ovviamente, problemi nella traduzione devono essere spediti al traduttore, non agli autori]. Segnala bachi nei programmi a fileutils-bugs [AT] gnu.edu.