Comando Linux ls: Listar Arquivos e Diretórios
O comando ls no Linux exibe uma lista de arquivos e subdiretórios em um diretório. Usando ls -la, você pode ver informações detalhadas incluindo itens ocultos, permissões, proprietário, tamanho e hora da modificação.
Liste o diretório atual ou um caminho especificado
Executar o seguinte comando no terminal exibe os itens no diretório de trabalho atual. A localização atual pode ser verificada com pwd.
pwd
ls
Para visualizar o conteúdo de outro diretório, especifique o caminho. Você pode usar tanto caminhos absolutos quanto caminhos relativos com base na localização atual.
ls /var
Por padrão, itens ocultos cujo nome começa com um ponto são excluídos da lista. O nome e a ordem de exibição dependem do sistema e das configurações de localidade. ls é um comando para ler a lista e não exclui ou modifica arquivos.
Visualizar itens ocultos e informações detalhadas
-a inclui nomes que começam com um ponto, e -l exibe em formato detalhado. Você pode usar ambas as opções juntas.
ls -a
ls -l
ls -la
ls -a também mostra . para o diretório atual e .. para o diretório pai. O GNU ls -A exibe itens ocultos, mas omite essas duas entradas. Para exibir tamanhos em unidades legíveis para humanos, adicione -h à lista detalhada.
ls -lah
Por exemplo, pode ser exibido como 1K, 2M. A saída varia dependendo dos arquivos de destino e das configurações do sistema.
Lendo uma lista detalhada
O seguinte é um exemplo mostrando um arquivo regular. Formato de data, nomes e números variam dependendo do ambiente real.
-rw-r--r-- 1 user group 12 Jan 15 10:30 notes.txt
-rw-r--r--: O primeiro caractere-é um arquivo comum, e os restantes indicam as permissões para o proprietário, grupo e outros. Se começar comd, é um diretório; se começar coml, é um link simbólico.1 user group: Número de links físicos, proprietário e grupo proprietário.12: Tamanho do arquivo (em bytes) na lista detalhada básica. Usar-hmudará para uma unidade de fácil leitura.Jan 15 10:30 notes.txt: Por padrão, o tempo da última modificação e nome. O formato da saída depende da localidade e das opções.
O tamanho listado de um diretório não é a soma dos tamanhos dos arquivos dentro dele. Para verificar o uso de disco de todo o diretório, use uma ferramenta como du. O alvo do link geralmente é mostrado na forma name -> target na lista detalhada.
Verificando a ordenação e o próprio diretório
-t ordena, por padrão, a partir do horário de modificação mais recente. Usar -r junto irá inverter a ordem.
ls -lt
ls -ltr
Para verificar as permissões e o proprietário do próprio diretório, e não da lista interna, use -d.
ls -ld /var
-R lista recursivamente também os subdiretórios, então a saída pode ser grande para árvores de diretórios grandes. Consulte Manual do GNU ls ou man ls para significados detalhados das opções.
Reduzindo a lista com um padrão de nome
No Bash, o asterisco * é um padrão de nome que corresponde a zero ou mais caracteres. O seguinte comando encontra itens em /etc cujos nomes terminam com .conf.
ls -d /etc/*.conf
O shell primeiro expande os nomes que correspondem ao padrão e depois os passa para ls. Como -d foi inserido, ele mostra o nome do diretório em si, mesmo quando um item correspondente é um diretório. Nas configurações típicas do Bash, itens ocultos que começam com um ponto não correspondem automaticamente. Se não houver nomes correspondentes, o resultado pode variar dependendo das opções do shell, como um erro ou o padrão sendo passado como está.
Se o caminho contiver espaços, coloque o caminho entre aspas como ls "my folder". Em geral, se você colocar entre aspas até mesmo o padrão, o shell não expande o asterisco. Para mais detalhes, veja Documento de expansão de nomes de arquivos do Bash.
Verificando dispositivos de disco e erros
ls -l /dev/sd* pode mostrar uma lista que corresponda a arquivos de dispositivo começando com o nome sd. No entanto, nem todos os discos e partições usam esse nome. Outros dispositivos, como NVMe, podem não aparecer na lista, então é mais apropriado usar lsblk ao examinar dispositivos de bloco e sua hierarquia.
lsblk
Se a lista não aparecer ou Permission denied for exibido, verifique a existência do caminho e as permissões de acesso. Se a saída for diferente do esperado, verifique o alias do shell como type ls e também revise as descrições das opções da distribuição e ls --help.




