Artigo original: The Linux LS Command – How to List Files in a Directory + Option Flags

Desde a criação do Unix, na década de 1970, muitos sistemas operacionais o utilizaram em sua base. Muitos desses sistemas não deram certo, enquanto outros tiveram sucesso.

O Linux é um dos sistemas operacionais baseados no Unix de mais sucesso. Ele tem o código aberto e é utilizado no mundo todo e por vários setores.

Um recurso incrível do sistema operacional Linux é a Command Line Interface (CLI), ou interface de linha de comando, que permite aos usuários interagirem com o computador por meio de um shell. O shell do Linux é um ambiente REPL (de Read, Evaluate, Print, Loop, em inglês), onde os usuários podem inserir um comando e o shell o executa e retorna um resultado.

O comando ls é um dos vários comandos do Linux que permite que o usuário liste arquivos ou diretórios a partir da CLI.

Neste artigo, analisarei em detalhes o comando ls e algumas das flags mais importantes de que você precisará diariamente.

Pré-requisitos

  • Um computador com diretórios e arquivos
  • Ter instalada uma das distros do Linux
  • Conhecimento básico sobre como navegar na CLI
  • Um sorriso no rosto :)

O comando ls do Linux

O comando ls é usado para listar arquivos ou diretórios no Linux e em outros sistemas operacionais baseados no Unix.

Da mesma forma que você navegaria no seu Explorador de arquivos (no Windows) ou no Finder (no Mac) em uma interface gráfica, o comando ls permite que você liste todos os arquivos ou diretórios no diretório atual por padrão, permitindo uma maior interação com eles pela linha de comando.

Inicie seu terminal, digite ls e pressione Enter para ver o comando em ação:

Screenshot-2020-08-20-at-9.40.29-PM

Como listar arquivos em um diretório com opções

O comando ls também aceita algumas flags (também conhecidas como opções), que são informações adicionais que mudam como os arquivos ou diretórios são listados no seu terminal.

Em outras palavras, as flags mudam a maneira como o comando ls funciona:

 ls [flags] [diretório]
Observação: a palavra conteúdo usada no decorrer do artigo se refere aos arquivos e diretórios que estão sendo listados, não ao conteúdo dos arquivos/diretórios de fato.

Listar arquivos no diretório de trabalho atual

Digite o comando ls para listar o conteúdo do diretório de trabalho atual:

Screenshot-2020-08-20-at-9.40.29-PM-2

Listar arquivos em outro diretório

Digite o comando ls [caminho do diretório aqui] para listar o conteúdo de outro diretório:

Screenshot-2020-08-20-at-10.32.52-PM

Listar os arquivos no diretório root

Digite o comando ls / para listar o conteúdo do diretório root:

Screenshot-2020-08-20-at-10.46.10-PM

Listar arquivos no diretório pai

Digite o comando ls .. para listar o conteúdo do diretório pai, um nível acima. Use ls ../.. para o conteúdo que está dois níveis acima:

Screenshot-2020-08-20-at-10.48.22-PM

Listar arquivos no diretório home do usuário (/home/user)

Digite o comando ls ~ para listar o conteúdo do diretório home do usuário:

Screenshot-2020-08-20-at-10.51.19-PM

Listar somente diretórios

Digite o comando ls -d */ para listar somente diretórios:

Screenshot-2020-08-21-at-12.53.05-PM

Listar arquivos com subdiretórios

Digite o comando ls * para listar o conteúdo do diretórios com seus subdiretórios:

Screenshot-2020-08-21-at-1.07.54-PM

Listar arquivos recursivamente

Digite o comando ls -R para listar todos os arquivos e diretórios com seus subdiretórios correspondentes até o último arquivo:

Screenshot-2020-09-01-at-9.04.56-AM
Se você tiver muitos arquivos, isso pode levar muito tempo para terminar, já que cada arquivo em cada diretório será exibido. Você pode, em vez disso, especificar um diretório no qual deseja executar esse comando, como ls Downloads -R

Listar arquivos e seus tamanhos

Digite o comando ls -s (com s minúsculo) para listar arquivos e diretórios e seus tamanhos:

Screenshot-2020-08-21-at-12.30.19-PM

Listar arquivos em formato longo

Digite o comando ls -l para listar o conteúdo do diretório em formato tabela com colunas que incluem:

  • permissões do conteúdo
  • número de links do conteúdo
  • proprietário do conteúdo
  • proprietário do grupo do conteúdo
  • tamanho do conteúdo em bytes
  • última data/hora de modificação do conteúdo
  • nome do arquivo ou diretório
Screenshot-2020-08-20-at-10.52.37-PM

Listar arquivos em formato longo com tamanhos de arquivo legíveis

Digite o comando ls -lh para listar os arquivos ou diretórios no mesmo formato de tabela acima, mas com outra coluna representando o tamanho de cada arquivo/diretório:

Screenshot-2020-08-21-at-12.14.33-PM

Observe que os tamanhos estão listados em bytes (B), megabytes (MB), gigabytes (GB) ou terabytes (TB) quando o tamanho do arquivo ou diretório for maior do que 1024 bytes.

Listar arquivos incluindo arquivos ocultos

Digite o comando ls -a para listar arquivos ou diretórios incluindo arquivos ou diretórios ocultos. No Linux, tudo o que começa com um . é considerado um arquivo oculto:

Screenshot-2020-08-21-at-11.12.26-AM

Listar arquivos em formato longo incluindo arquivos ocultos

Digite o comando ls -l -a, ls -a -l, ls -la ou ls -al para listar os arquivos ou diretórios em formato de tabela com informações adicionais que incluem os arquivos ou diretórios ocultos:

Screenshot-2020-08-21-at-12.17.01-PM

Listar arquivos e ordená-los por data e hora

Digite o comando ls -t para listar os arquivos ou diretórios e ordená-los pela última data e hora de modificação em ordem descendente (do maior para o menor).

Você também pode adicionar uma flag -r para inverter a ordenação, dessa forma: ls -tr:

Screenshot-2020-08-21-at-12.20.09-PM

Listar arquivos e ordená-los por tamanho de arquivo

Digite o comando ls -S (com S maiúsculo) para listar arquivos ou diretórios e ordená-los por tamanho de arquivo em ordem descendente (do maior para o menor).

Você também pode adicionar uma flag -r para inverter a ordenação, dessa forma: ls -Sr:

Screenshot-2020-08-21-at-12.20.38-PM

Listar arquivos e gerar o resultado em um arquivo

Digite o comando ls > output.txt para imprimir o resultado do comando em um arquivo output.txt. Você pode usar qualquer uma das flags discutidas anteriormente, como -la, por exemplo. O ponto importante aqui está no resultado, que será registrado em um arquivo, em vez de exibido na linha de comando.

Assim, você pode usar o arquivo da maneira que achar interessante, ou ainda registrar o conteúdo do arquivo, com cat output.txt:

Screenshot-2020-09-01-at-9.12.59-AM

Conclusão

Há milhares de outros comandos e combinações que você pode explorar para listar arquivos e diretórios com base em suas necessidades. Algo de que você deve se lembrar é da capacidade de combinar diversos comandos em um só.

Imagine que você deseja uma lista em formato longo, incluindo arquivos ocultos, e que deseja ordená-los por tamanho de arquivo. O comando seria ls -alS, que é uma combinação de ls -l, ls -a e ls -S.

Se você se esquecer de qualquer um desses comandos ou se não tiver certeza sobre o que fazer, você pode executar o comando ls --help ou man ls, que exibirão um manual com todas as opções possíveis para o comando ls:

Screenshot-2020-09-01-at-9.57.37-AM

Obrigado por ter lido este artigo!