LS(1)

NOME
ls, dir, vdir - visualizza i contenuti delle directory

SINTASSI
ls [opzioni] [file...]

Opzioni POSIX: [-CFRacdilqrtu1]

Opzioni GNU (forma breve): [-1abcdfgiklmnopqrstuxABCDFGLNQRSUX] [-w colonne] [-T colonne] [-I modello] [--full-time] [--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»; cioè i file sono di default elencati in colonne, ordinati verticalmente. vdir (installato anche come v) equivale a «ls -l»; cioè i file sono di default 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
    Visualizza i caratteri non grafici nei nomi dei file utilizzando sequenze di backslash (\) alfabetiche ed ottali come quelle usate in C.

-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 del disco. É lo stesso che abilitare -a e disabilitare -l, --color, -s nel caso in cui fossero stati specificati prima di -f.

-g  Ignorato; per compatibilità Unix. -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  Aggiunge ad ogni nome di file un carattere che ne indica il tipo. Quest'opzione è come -F eccetto che non segnala gli eseguibili. -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.

-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, --file-type
    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.

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

--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'~e da mostrare). Questo può essere utile, per esempio, quando si ha un Makefile che non rigenera correttamente i file.

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.

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-3.16; altre versioni potrebbero differire leggermente. Spedisci correzioni o aggiunte a aeb@cwi.nl, aw@mail1.bet1.puv.fi o ragnar@lightside.ddns.org [NdT: ovviamente, problemi nella traduzione devono essere spediti al traduttore, non agli autori]. Segnala bachi nei programmi a fileutils-bugs@gnu.ai.mit.edu.