ls, dir, vdir - lista o conteúdo do diretório
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] [--]
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.
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.
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.
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.
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.
André L. Fassone Canova
<lonelywolf@blv.com.br> (tradução)
Roberto Selbach Teixeira <robteix@zaz.com.br>
(revisão)