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]