Nota: Para outros significados, veja Ls (desambiguação).

Na linha de comando do sistema operacional Unix, o ls (derivado das primeiras consoantes da palavra inglesa list) é um comando usado para listar arquivos e diretórios. Sua função é análoga ao comando dir do MS-DOS.[1]

ls possui chaves que afetam os arquivos que são listados, inclusive o nível do detalhamento, a sua ordem bem como o número de colunas. A maior parte das distribuições Linux, determina padrões para o comando ls. O sistema Red Hat, tem as chaves -q e -F habilitadas como padrão. De acordo com a visão de escrita de scripts, não é seguro utilizar o comando ls em um script sem detalhar as chaves adequadas, pois não se pode ter certeza de quais padrões uma determinada distribuição utiliza.[2]

O ls oculta os arquivos que começam com um ponto (.). Esse é o padrão Linux para arquivos de configuração, arquivos de históricos e de outros tipos dos quais um usuário não estariam interessados em ver. Para visualizar é necessário o uso da chave -A de all e -a (absolutely all) para mostrar os arquivos que começam com um ou dois pontos (..).[2]

Os nomes dos arquivos podem ser exibidos em cores para mostrar qual tipo de arquivos eles são. As cores são determinadas em um arquivo /etc/DIR_COLORS. É também possível personalizar eles utilizando .dir_colors no próprio diretório do usuário. O seu formato é descrito em /etc/DIR_COLORS.[2]

Para não mostrar as cores os arquivos e usar símbolos no lugar delas, deve ser utilizado as chaves -color e -classify ou (-F). Na maioria das distribuições Linux, esse tipo de função pode ser habilitado usando o comando aliases.[2]

Os símbolos -classify são diretórios (/), programas (*), ligações simbólicas (@), redirecionamentos (|) e os arquivos de socket de domínio Unix (=). Esses símbolos não fazem parte do nome - são dicas sobre o tipo do arquivo. Uma outra chave relevante é o -hide-control-charts ou o -q Os nomes dos arquivos podem ter qualquer caractere, incluindo o caractere de controle. Também podem criar um nome de arquivo com caracteres ocultos. Nessa ocasião, não é permitido apagar ou renomeá-lo, ao menos que saiba quais são os caracteres ocultos. Ao contrário do que o nome do comando diz, ele mostra os caracteres não imprimíveis no nome do arquivo como pontos de interrogação, transformando visíveis suas localizações.[2]

Sintaxe editar

ls <opções>... <lista de arquivos ou diretórios>...

Opções editar

O comando ls possui inumeras opções, de entre elas as mais comuns são:

* -a, --all                  não esconde ficheiros começados por .
* -A, --almost-all           não mostra os ficheiros implicitos . e ..
* -d, --directory            lista os nomes dos directorios em vez do seu conteudo
* -l                         usa o formato lista longa (com mais detalhes)
* -full                      usa o formato lista longa (com mais detalhes) e sem esconder os ficheiros começados por .
* -t                         ordena por data
* -r                         inverte a ordem

Exemplo de listagem editar

Este exemplo foi tirado de uma máquina Linux (com Mandrake 10.1):

[root@linux /]# ls
bin/   dev/  home/    lib/  opt/   root/  sys/  usr/
boot/  etc/  initrd/  mnt/  proc/  sbin/  tmp/  var/  

[root@linux /]# ls -a
./   .autofsck  boot/  etc/   initrd/  mnt/  proc/  root/  sys/  usr/
../  bin/       dev/   home/  lib/     opt/  .rnd   sbin/  tmp/  var/

[root@linux /]# ls -A
.autofsck  boot/  etc/   initrd/  mnt/  proc/  root/  sys/  usr/
bin/       dev/   home/  lib/     opt/  .rnd   sbin/  tmp/  var/

[root@linux /]# ls -l
total 52
drwxr-xr-x   2 root root 4096 Dez 30  2004 bin/
drwxr-xr-x   3 root root 4096 Jan 10  2005 boot/
drwxr-xr-x  16 root root 3420 Jan 10  2005 dev/
drwxr-xr-x  61 root root 4096 Jan 15  2005 etc/
drwxr-xr-x   3 root root 4096 Dez 30  2004 home/
drwxr-xr-x   2 root root 4096 Dez 30  2004 initrd/
drwxr-xr-x  13 root root 4096 Jan 10  2005 lib/
drwxr-xr-x   4 root root 4096 Jan  5  2004 mnt/
drwxr-xr-x   2 root root 4096 Jan  5  2004 opt/
dr-xr-xr-x  70 root root    0 Jan 10  2005 proc/
drwx------   8 root root 4096 Jan  5  2005 root/
drwxr-xr-x   2 root root 4096 Jan  5  2005 sbin/
drwxr-xr-x   9 root root    0 Jan 10  2005 sys/
drwxrwxrwt   5 root root 4096 Dez  2 07:11 tmp/
drwxr-xr-x  12 root root 4096 Dez 30  2004 usr/
drwxr-xr-x  20 root root 4096 Dez 30  2004 var/

Nos sistemas Unix, as opções podem ser agrupadas, usando várias em conjunto

[root@linux /]# ls -la
total 64
drwxr-xr-x  18 root root 4096 Jan 10  2005 ./
drwxr-xr-x  18 root root 4096 Jan 10  2005 ../
-rw-r--r--   1 root root    0 Jan 10  2005 .autofsck
drwxr-xr-x   2 root root 4096 Dez 30  2004 bin/
drwxr-xr-x   3 root root 4096 Jan 10  2005 boot/
drwxr-xr-x  16 root root 3420 Jan 10  2005 dev/
drwxr-xr-x  61 root root 4096 Jan 15  2005 etc/
drwxr-xr-x   3 root root 4096 Dez 30  2004 home/
drwxr-xr-x   2 root root 4096 Dez 30  2004 initrd/
drwxr-xr-x  13 root root 4096 Jan 10  2005 lib/
drwxr-xr-x   4 root root 4096 Jan  5  2004 mnt/
drwxr-xr-x   2 root root 4096 Jan  5  2004 opt/
dr-xr-xr-x  73 root root    0 Jan 10  2005 proc/
-rw-------   1 root root 1024 Dez 30  2004 .rnd
drwx------   8 root root 4096 Jan  5  2005 root/
drwxr-xr-x   2 root root 4096 Jan  5  2005 sbin/
drwxr-xr-x   9 root root    0 Jan 10  2005 sys/
drwxrwxrwt   5 root root 4096 Dez  2 07:11 tmp/
drwxr-xr-x  12 root root 4096 Dez 30  2004 usr/
drwxr-xr-x  20 root root 4096 Dez 30  2004 var/


Outros projetos Wikimedia também contêm material sobre este tema:
  Livros e manuais no Wikilivros


Notas e Referências

  1. «ls». kb.iu.edu (em inglês). Consultado em 4 de fevereiro de 2015 
  2. a b c d e Burtch, Ken O. Ciência Moderna, ed. Scripts de Shell Linux com Bash. 2005 1 ed. Rio de Janeiro: [s.n.] 522 páginas. 8573934050