LS(1)

NOME
ls, dir, vdir - lista o conteúdo do diretório

SINOPSE
ls [opções] [arquivo...]
dir [arquivo...]
vdir [arquivo...]

Opções POSIX: [-CFRacdilqrtu1]

Opções GNU (forma reduzida): [-1abcdfghiklmnopqrstuvwxABCDFGHLNQRSUX] [-w coluna] [-T coluna] [-I modelo] [--full-time] [--show-control-chars] [--block-size=size] [--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] [--]

DESCRIÇÃO
O programa ls lista primeiramente seus argumentos que não sejam arquivos de diretórios, e, então, para um argumento diretório, todos os arquivos listáveis incluídos dentro daquele diretório. Se nenhum argumento de opção estiver presente, o argumento padrão '.' (diretório atual) é assumido. A opção -d faz com que diretórios sejam tratados como arquivos. Um arquivo é listável quando ou seu nome não inicia com '.', ou a opção -a for fornecida.

Cada uma das listas de arquivos (que pertence a arquivos regulares, e para cada diretório a lista interna de arquivos) é ordenada separadamente de acordo com a seqüência correspondente, no local atual. Quando a opção -l é fornecida, cada uma das listas é precedida por uma linha de sumário que fornece o tamanho total de todos os arquivos na lista, medidos em grupos de 512 bytes.

A saída é a saída padrão, uma entrada por linha, até que a saída em multiplas colunas seja requesitada pela opção -C. De qualquer forma, para saída em um terminal, em linha simples ou multiplas colunas é indefinido. As opções -1 e -C podem ser usadas para forçar a saída em linha simples ou em multiplas colunas, respectivamente.

OPÇÕES POSIX

-C  Lista arquivos em colunas, ordenados verticalmente.

-F  Sufixa o nome de cada diretório com '/', cada nome de FIFO com '|', e cada nome de executável com '*'.

-R  Lista os diretórios encontrados, recursivamente.

-a  Inclue os arquivos com o nome iniciando com '.' na listagem.

-c  Usa o status do tempo de alteração ao invés do tempo de modificação para ordenar (com -t) ou listar (com -l).

-d  Lista nome de diretórios como arquivo, preferencialmente no lugar de seus conteúdos.

-i  Precede a saída para o arquivo pelo número serial do arquivo (número do i-node).

-l  Escreve (no formato de coluna simples) o modo do arquivo, o número de ligações para o arquivo, o nome do proprietário, o nome do grupo, o tamanho do arquivo (em bytes), o rótulo de tempo, e o nome do arquivo. Os tipos de arquivos são os seguintes: - para um arquivo comum, d para um diretório, b para um dispositivo especial de bloco, c para um dispositivo especial de caractere, l para uma ligação simbólica, p para um FIFO, s para um socket. Por padrão, o rótulo de tempo exibido é aquele da última modificação; as opções -c e -u selecionam outros dois rótulos de tempo. Para arquivos de dispositivos especiais o tamanho do campo é geralmente substituído pelos números de dispositivos maior e menor.

-q  Mostra caracteres não imprimíveis no nome do arquivo como ponto de interrogação. (Isto é permitido como padrão para a saída em um terminal.)

-r  Inverte a ordem do ordenação.

-t  Ordena a exibição pelo rótulo de tempo.

-u  Use o tempo do último acesso no lugar do tempo de modificação para ordenar (com -t) ou listar (com -l).

-1  Para saída em coluna simples.

DETALHES GNU
Se a saída padrão é um terminal, a saída é em colunas (ordenadas verticalmente).

dir (também instalado como d) é equivalente a 'ls -C -b'; isto é, arquivos listados em colunas, ordenados verticalmente. vdir (também instalado como v) é equivalente a 'ls -l -b'; isto é, arquivos listados no formato longo.

OPÇÕES GNU

-1, --format=single-column
    Lista um arquivo por linha. Isto é o padrão quando a saída padrão não é um terminal.

-a, --all
    Lista todos os arquivos nos diretórios, incluindo todos os arquivos começados com '.'.

-b, --escape, --quoting-style=escape
    Coloca aspas em nomes de arquivos com caracteres não gráficos usando seqüencia de barra invertida alfabética e octal como usado em C. Esta opção é como a opção -Q exceto que os nome de arquivos não são colocados entre duas aspas.

-c, --time=ctime, --time=status
    Ordena os conteúdos do diretório de acordo com os arquivos de status do tempo de alteração (o 'ctime' no inode). Se a listagem em formato longo é iniciada used (-l) mostra o status do tempo de alteração ao invés do tempo de modificação.

-d, --directory
    Lista nomes de diretórios como arquivos, ao invés de seus conteúdos.

-f  Não ordena os conteúdos do diretório; lista-os na ordem que estão armazenados no disco. Também ativa -a e -U e desativa -l, --color, -s, e -t se elas estavam especificadas antes de -f.

-g  Ignorado; para compatibilidade com o Unix.

-h, --human-readable
    Anexa a letra de tamanho, por exemplo M para binários de megabytes ('mebibytes'), para cada tamanho. (Novo no Utilitários de Arquivo 4.0.)

-i, --inode
    Imprime o número inode (também chamado de número serial do arquivo e número índice) de cada arquivo no lado esquerdo de cada nome de arquivo. (Este número identifica unicamente cada arquivo dentro de um sistema de arquivos em particular).

-k, --kilobytes
    Se o tamanho do arquivos vai ser listado, imprime-os em kilobytes.

-l, --format=long, --format=verbose
    Adicionalmente ao nome de cada arquivo, imprime o tipo de arquivo, permissão, número de ligações fortes, nome do proprietário, nome do grupo, tamanho em bytes, e rótulo de tempo (o tempo de modificação até que outros tempos sejam selecionados). Para arquivos com um tempo maior que 6 meses passados ou com mais de uma hora futura, o rótulo de tempo contém o ano ao invés do dia. Para cada diretório que é listado, inicia o arquivo com uma linha 'totaldeblocos' , onde " blocos " é o total de espaço de disco usado por todos arquivos no diretório. Por padrão, blocos de 1024 bytes são usados; se a variável de ambiente POSIXLY_CORRECT é selecionada, blocos de 512 bytes são usados (a menos que a opção -k sejafornecida).Osblocoscomputadoscontamcadaligaçãoforte separadamente; isto é discutivelmente uma deficiência. As permissões listadas são similares às especificações de modo simbólico mas ls combina multiplos bits no terceiro caractere de cada conjunto de permissões

    s   Se o bit setuid ou setgid e o bit correspondente para executáveis estão ambos selecionados.

    S   Se o bit setuid ou setgid são selecionados e o bit correspondente para executáveis não é selecionado.

    t   Se o bit contrário e o bit de outros executáveis estão ambos selecionados.

    T   Se o bit contrário é selecionado e o bit de outros executáveis não é selecionado.

    x   Se o bit para executáveis é selecionado e nada dos acima citados é aplicado.

    -   De outra forma.

-m, --format=commas
    Lista os arquivos horizontalmente, com muitos ajustes em cada linha, cada um separado por vírgula e um espaço.

-n, --numeric-uid-gid
    Lista a identificação numérica de usuário e de grupo ao invés dos nomes.

-o  Produz listas em formato longo, mas não exibe informações de grupo. Isto é equivalente ao uso de --format=long --no-group. Esta opção é fornecida para compatibilidades com outras versões do ls.

-p, --file-type, --indicator-style=file-type
    Anexa um caractere para cada nome de arquivo indicando o tipo de arquivo. Isto é como -F exceto que executáveis não são marcados. (Na realidade o Utilitários de Arquivo 4.0 trata a opção --file-type como --classify.)

-q, --hide-control-chars
    Imprime pontos de interrogação ao invs de caracteres não gráficos no nome de arquivo. Isto é o padrão.

-r, --reverse
    Ordena os conteúdos do diretório na ordem inversa.

-s, --size
    Imprime o tamanho de cada arquivo em blocos de 1024 bytes no lado esquerdo do nome de arquivo. Se a variável de ambiente POSIXLY_CORRECT é selecionada, blocos de 512 bytes são usadas ao invés de, a menos que a opção -k seja fornecida.

-t, --sort=time
    Ordena pelo tempo de modificação (o 'mtime' no inode) ao invés de alfabeticamente , com o nome do arquivo mais recente listado primeiramente.

-u, --time=atime, --time=access, --time=use
    Ordena o conteúdo do diretório de acordo com tempo do último acesso do arquivo ao invés do tempo de modificação (o 'atime' no inode). Se na listagem em formato longo é inicialmente usada, imprime o tempo do último accesso no lugar do tempo de modificação.

-v  Ordena o conteúdo do diretório de acordo com a versão do arquivo. Isto leva em conta o fato de que nome de arquivos freqüentemente incluem índices ou números de versão. Funções padrão de ordenamento usualmente não produzem a ordem que o pessoal espera por causa da semelhança encontrada entre bases de caracteres. A versão ordena este problema, e é especialmente útil quando navegando por diretórios que contém muitos arquivos com números de índices/versão em seus nomes. Por exemplo:
         > 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
    Note também que partes numéricas são iniciadas com zeros e são consideradas como fracionária:
         > 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
    (Novo no Utilitários de Arquivo 4.0.)

-w, --width cols
    Assume a tela com largura de coluna colunas. O padrão é dado pelo driver de terminal se possível; de outra forma a variável de ambiente COLUMNS é usada se estiver selecionada; de outra forma o padrão é 80.

-x, --format=across, --format=horizontal
    Lista os arquivos em colunas, ordenados horizontalmente.

-A, --almost-all
    Lista todos os arquivos nos diretórios, exceto os '.' e '..'.

-B, --ignore-backups
    Não lista arquivos que terminam com '~', a menos que sejam fornecidos na linha de comando.

-C, --format=vertical
    Lista os arquivos em colunas, ordenados verticalmente. Isto é o padrão se a saída padrão é um terminal. É sempre padrão para dir e d.

-D, --dired
    Com listagem em formato longo (-l) , imprime uma linha adicional depois da saída principal:
    //DIRED// BEG1 END1 BEG2 END2 ...
    Os BEGn and ENDn são inteiros sem sinal que registram o byte de posicionamento do início e do fim de cada um dos nomes de arquivos na saída. Isto facilita para o Emacs achar os nomes, até quando eles contém caracteres não usuais como espaços ou início de linha, sem pesquisa especial. Se a listagem de diretórios é iniciada de forma recursiva (-R), sai uma linha parecida depois de cada sub-diretório:
    //SUBDIRETÓRIO// BEG1 END1 ...

-F, --classify, --indicator-style=classify
    Anexa um caractere para cada nome de arquivo indicando o tipo do arquivo. Para arquivos regulares que são executáveis, anexa um '*'. O tipos de indicadores de arquivos são '/' para diretórios, '@' para ligações simbólicas, '|' para FIFOs,

-G, --no-group
    Inibe a exibição da informação do grupo na listagem de diretório em formato longo.

-H, --si
    Como em -h, mas usa a unidade oficial do SI (com potência de 1000 no lugar de 1024, de forma que M significa 1000000 ao invés de 1048576). (Novo no Utilitários de Arquivo 4.0.)

-I, --ignore=modelo
    Não lista arquivos com nomes combinando com o modelo do interpretador de comandos (não é expressão regular) a menos que eles sejam fornecidos na linha de comando. Como no interpretador de comando, um '.' inicial no nome do arquivo não é comparável com um caractere coringa no início do modelo.

-L, --dereference
    Lista a informação do arquivo correspondendo as ligações simbólicas referentes no lugar das próprias ligações.

-N, --literal
    Não coloca aspas no nome do arquivo.

-Q, --quote-name, --quoting-style=c
    Confina o nome do arquivo em aspas duplas e os caracteres não gráficos entre aspas como no C.

-R, --recursive
    Lista o conteúdo de todos diretórios de forma recursiva.

-S, --sort=size
    Ordena o conteúdo do diretório pelo tamanho do arquivo no lugar de ordem alfabética, com os maiores arquivos listados primeiro.

-T, --tabsize cols
    Assume que cada marca de tabulação é uma largura de cols colunas. O padrão é 8 e pode ser sobrescrita pela variável de ambiente TABSIZE quando POSIXLY_CORRECT não está definido. ls usa a tabulação quando possível na saída, para eficiência. Se cols é zero, não se usa tabulação.

-U, --sort=none
    Não ordena o conteúdo do diretório; lista-os na ordem que estão armazenados no disco. (A diferença entre -U e -f é que o anterior não desativa ou ativa opções.) Isto é especialmente útil quando listamos diretórios muitos grandes, desde que não fazendo que qualquer ordenação possa ser notavelmente mais rápida.

-X, --sort=extension
    Ordena o conteúdo do diretório alfabeticamente pela extensão do arquivo (caractere depois do último '.'); arquivos sem extensão são ordenados primeiramente.

--block-size=size
    Imprime o tamanho em blocos de tamanho bytes. (Novo no Utilitários de Arquivo 4.0.)

--color[=when]
    Especifica a cor que será usada para distinguir os tipos de arquivo. Cores são especificadas usando a variável de ambiente LS_COLORS. Para informação sobre como selecionar esta variável, veja dircolors(1). quando pode ser omitido , ou um dos:

    none
        Não usa cores. Isto é o padrão.

    auto
        Somente usa cores se a saída padrão é um terminal.

    always
        Sempre usa cores. Especificando --color e não when é equivalente a --color=always.

--full-time
    Lista o tempo completo, em detrimento a abreviação padrão. O formato é como no padrão date(1) ; não é possível alterar isto, mas você pode extrair a cadeia de caracteres da data com cut(1) e passar o resultado para 'date -d'. Isto é muito útil por que o tempo na saída inclui os segundos. (O sistema de arquivo do Unix armazena o rótulo de tempo do arquivo somente para os segundos mais próximos, assim esta opção mostra todas as informações existentes). Por exemplo, isto pode ajudar quando você tem um Makefile que não regenera arquivos adequadamente.

--quoting-style=word
    Usa o estilo word para colocar aspas nos nomes da saída. A word pode ser uma das seguintes:

    literal
        Saída de nomes como é. Isto é o comportamento padrão de ls.

    shell
        Colocar aspas nos nomes para o interpretador de comandos se eles contém meta caracteres do interpretador de comandos ou que causaria saída ambígua.

    shell-always
        Coloca aspas nos nomes para o interpretador de comandos, mesmo se eles normalmente não requereriam aspas.

    c   Coloca aspas nos nomes como nas cadeias de caracteres da linguagem C; isto é igual a opção -Q

    escape
        Coloca aspas como o c exceto que omite as aspas duplas ao redor; isto é igual a opção -b

    Um valor padrão para esta opção pode ser especificada com a variável de ambiente QUOTING_STYLE. (Veja AMBIENTE abaixo.)

--show-control-chars
    Imprime caracteres não gráficos como no nome do arquivo. Isto é o padrão a menos que a saída seja um terminal e o programa seja ls.

OPÇÕES PADRÃO GNU

--help
    Imprime a mensagem de uso na saída padrão e sai.

--version
    Imprime a versão na saída padrão e sai.

--  Encerra a lista de opção.

AMBIENTE
A variável POSIXLY_CORRECT determina a escolha da unidade. Se ela não é fixada, então a variável TABSIZE determina o número de caracteres por tabulação. A variável COLUMNS (quando contém a representação de um decimal inteiro) determina a largura da coluna de saída (para usar com a opção -C). O nome do arquivos não devem ser truncados para torná-los adequados à saída em múltiplas colunas.

As variáveis LANG, LC_ALL, LC_CTYPE e LC_MESSAGES têm seus significados usuais. A variável TZ fornece a zona de tempo para a cadeia de caracteres de tempo escrita por ls. A variável LS_COLORS é usada para especificar as cores usadas.

A variável QUOTING_STYLE é usada para especificar o valor padrão para a opção --quoting-style literal, embora os autores advertissem que este padrão pode mudar para shell em qualquer versão futura de ls.

PROBLEMAS
Em sistemas BSD, a opção -s relata tamanhos que são a metade dos valores corretos para arquivos que são montados de sistemas HP-UX via NFS. Em sistemas HP-UX, ls relata tamanhos que são duas vezes maiores que os valores corretos para arquivos que são montados de sistemas BSD via NFS. Isto é devido a uma falha no HP-UX; e também afeta o programa ls do HP-UX.

DE ACORDO COM
POSIX 1003.2

VEJA TAMBÉM
dircolors(1)

NOTAS
Esta página descreve ls como é encontrada no pacote Utilitários de Arquivo 4.0; outras versões podem ser um pouco diferentes. Envie correções e adições para aeb@cwi.nl. Relatório de problemas no programa para fileutils-bugs@gnu.ai.mit.edu.

TRADUZIDO POR LDP-BR em 21/08/2000.
André L. Fassone Canova <lonelywolf@blv.com.br> (tradução) Roberto Selbach Teixeira <robteix@zaz.com.br> (revisão)