Ubuntu ls

O ls mostra o que existe dentro de uma pasta. Ele é os "olhos" do terminal: antes de copiar, mover ou apagar, você usa o ls para ver onde está mexendo. Provavelmente é o comando que você mais vai digitar.

Você vai aprender
  • Listar a pasta atual, outra pasta ou vários lugares de uma vez.
  • Ler cada coluna do ls -l: tipo, permissões, dono, tamanho e data.
  • Ver arquivos ocultos e ordenar por data ou por tamanho.
  • Outras formas de ver o conteúdo de uma pasta (ll, tree, app Arquivos).
  • O que fazer quando o ls responde com erro.

A ideia: uma pasta é uma lista de nomes

Para o Linux, uma pasta (ou diretório) é uma lista de nomes. Cada nome aponta para um arquivo ou para outra pasta. O ls lê essa lista e mostra na tela. O nome vem de list, "listar".

Sem nenhum argumento, ele lista a pasta onde você está agora (a "pasta atual", que aparece no prompt depois dos dois-pontos):

ls
O programa. Sem argumentos, lista a pasta atual.
$ ls
 Documentos   Imagens   Música    Vídeos      'Área de trabalho'
 Downloads    Modelos   Público   frutas.txt

O que observar nessa resposta:

  • Colunas de cima para baixo: o ls organiza os nomes em colunas para caber na janela. Leia descendo: Documentos, Downloads, Imagens, Modelos…
  • Maiúsculas primeiro: no Ubuntu 26.04 a ordem segue o código de cada letra. Maiúsculas vêm antes das minúsculas, e letras com acento (como o "Á") vão para o fim.
  • Aspas: 'Área de trabalho' tem espaços, então o ls mostra entre aspas. Para os nomes ficarem alinhados, os outros ganham um espaço na frente.
  • Cores (no seu terminal): pastas em azul, programas executáveis em verde, arquivos compactados em vermelho, imagens em roxo.

O que o comando devolve

Quando a pasta está vazia, o ls não mostra nada. Isso não é erro: o código de saída continua 0.

$ ls
$ echo $?
0                     « pasta vazia, mas o comando deu certo
$ ls nada
ls: não é possível acessar 'nada': Arquivo ou diretório inexistente
$ echo $?
2                     « 2 = o ls não achou o que você pediu

Listar outra pasta

Passe o caminho da pasta como argumento. Você não precisa entrar nela com cd.

ls
O programa.
Documentos
O argumento: qual pasta listar. Pode ser um caminho relativo ou absoluto (veja Caminhos).
$ ls Documentos
acesso.log  notas.txt  projetos  relatorio.odt
$ ls /etc/apt
sources.list.d

Com mais de um argumento, o ls lista cada um com um título:

$ ls Documentos Imagens
Documentos:
acesso.log  notas.txt  projetos  relatorio.odt

Imagens:
ferias.jpg  perfil.png

Missão: sem sair da pasta pessoal, descubra o que há dentro de Imagens e de Documentos/projetos.


Ver detalhes: -l

A opção -l (de long, "formato longo") mostra uma linha por item, com informações sobre cada um.

ls
O programa.
-l
Opção: formato longo, uma linha por item.
Documentos
A pasta a listar.
$ ls -l Documentos
total 20
-rw-rw-r-- 1 ana ana  389 Oct 15 09:07 acesso.log
-rw-rw-r-- 1 ana ana   71 Oct 14 17:40 notas.txt
drwxrwxr-x 3 ana ana 4096 Oct 12 08:03 projetos        « começa com d: é uma pasta
-rw-rw-r-- 1 ana ana 8394 Oct 14 17:40 relatorio.odt

Lendo uma linha, pedaço por pedaço

Pegue a linha do notas.txt:

-
Tipo: - arquivo comum, d pasta (directory), l link.
rw-rw-r--
Permissões: o que o dono, o grupo e os outros podem fazer. Explicado em Entendendo Permissões.
1
Links: quantos nomes apontam para este arquivo. Para pastas, conta as subpastas.
ana
Dono: o usuário dono do arquivo.
ana
Grupo: o grupo dono do arquivo. No Ubuntu, cada usuário tem um grupo com o mesmo nome.
71
Tamanho em bytes. Pastas mostram 4096: é o espaço da lista de nomes, não do conteúdo.
Oct 14 17:40
Última modificação. No Ubuntu 26.04, o mês aparece em inglês. Arquivos com mais de 6 meses mostram o ano no lugar da hora.
notas.txt
Nome.

E a primeira linha, total 20? É o espaço ocupado no disco pelos itens listados, em blocos de 1 KB. Você raramente vai precisar dela.

Tamanho de pasta ≠ tamanho do conteúdo

O 4096 da pasta projetos não diz quanto os arquivos dentro dela ocupam. Para isso use du -sh projetos (veja lsblk, df, du).


Tamanhos legíveis: -h

Ler 6333579264 bytes é difícil. A opção -h (de human-readable, "legível por humanos") converte para K, M e G. Ela só faz sentido junto com -l.

$ ls -l Downloads
total 6295060
-rw-rw-r-- 1 ana ana      49152 Oct 15 08:47 foto.jpg
-rw-rw-r-- 1 ana ana  104857600 Oct  1 19:30 fotos-viagem.zip
-rw-rw-r-- 1 ana ana    2411520 Oct 13 11:02 manual.pdf
-rw-rw-r-- 1 ana ana    5242880 Oct  9 20:10 musica.mp3
-rw-rw-r-- 1 ana ana 6333579264 Oct 10 21:14 ubuntu-26.04-desktop-amd64.iso
$ ls -lh Downloads
total 6,1G
-rw-rw-r-- 1 ana ana  48K Oct 15 08:47 foto.jpg
-rw-rw-r-- 1 ana ana 100M Oct  1 19:30 fotos-viagem.zip
-rw-rw-r-- 1 ana ana 2,3M Oct 13 11:02 manual.pdf
-rw-rw-r-- 1 ana ana 5,0M Oct  9 20:10 musica.mp3
-rw-rw-r-- 1 ana ana 5,9G Oct 10 21:14 ubuntu-26.04-desktop-amd64.iso   « 5,9 gigabytes

Juntando opções

Opções curtas podem ser escritas juntas, e a ordem das letras não importa. Os quatro comandos abaixo fazem exatamente a mesma coisa:

$ ls -l -h Downloads
$ ls -lh Downloads
$ ls -hl Downloads
$ ls Downloads -lh

Arquivos ocultos: -a e -A

No Linux, todo nome que começa com ponto é oculto. Não é segurança, é só organização: configurações como .bashrc ficam escondidas para não poluir a pasta. A opção -a (de all, "todos") mostra tudo.

$ ls -a
 .               .bashrc      Downloads   Música    frutas.txt
 ..              .profile     Imagens     Público  'Área de trabalho'
 .bash_history   Documentos   Modelos     Vídeos

Dois nomes estranhos apareceram:

  • . é a própria pasta onde você está.
  • .. é a pasta "de cima" (a pasta-mãe).

Eles existem em toda pasta. Se você quer ver os ocultos sem esses dois, use -A (maiúsculo, de almost all, "quase todos"):

$ ls -A
 .bash_history   .profile     Downloads   Modelos   Público   frutas.txt
 .bashrc         Documentos   Imagens     Música    Vídeos   'Área de trabalho'

Missão: descubra quais arquivos ocultos existem na pasta pessoal da Ana. Quantos são, sem contar . e ..?


Ordenar a lista

Por padrão, a ordem é pelo nome. Estas opções mudam a ordem:

OpçãoOrdena porVem de
-tData de modificação, mais recente primeirotime
-STamanho, maior primeirosize
-XExtensão (o que vem depois do ponto)extension
-rInverte qualquer uma das ordensreverse

Os arquivos mais recentes

Útil para achar o que você acabou de baixar:

$ ls -lt Downloads
total 6295060
-rw-rw-r-- 1 ana ana      49152 Oct 15 08:47 foto.jpg            « o mais novo
-rw-rw-r-- 1 ana ana    2411520 Oct 13 11:02 manual.pdf
-rw-rw-r-- 1 ana ana 6333579264 Oct 10 21:14 ubuntu-26.04-desktop-amd64.iso
-rw-rw-r-- 1 ana ana    5242880 Oct  9 20:10 musica.mp3
-rw-rw-r-- 1 ana ana  104857600 Oct  1 19:30 fotos-viagem.zip    « o mais antigo

Em pastas de log, o mais comum é o contrário: ls -ltr deixa o mais recente no fim, perto do prompt, onde você está olhando.

Os maiores arquivos

$ ls -lhS Downloads
total 6,1G
-rw-rw-r-- 1 ana ana 5,9G Oct 10 21:14 ubuntu-26.04-desktop-amd64.iso   « o maior
-rw-rw-r-- 1 ana ana 100M Oct  1 19:30 fotos-viagem.zip
-rw-rw-r-- 1 ana ana 5,0M Oct  9 20:10 musica.mp3
-rw-rw-r-- 1 ana ana 2,3M Oct 13 11:02 manual.pdf
-rw-rw-r-- 1 ana ana  48K Oct 15 08:47 foto.jpg

Missão: você está em Downloads. Liste os arquivos do menor para o maior, com tamanhos legíveis. Dica: junte -l, -h, -S e -r.


Só alguns arquivos: curingas

Você pode passar um padrão com * ("qualquer coisa") para listar só o que combina. Quem entende o * é o shell, explicado em Curingas.

$ ls Downloads/*.jpg
Downloads/foto.jpg
$ ls -lh Downloads/*.zip
-rw-rw-r-- 1 ana ana 100M Oct  1 19:30 Downloads/fotos-viagem.zip

Subpastas: -R, e a própria pasta: -d

-R (de recursive, "recursivo") entra em cada subpasta e lista o conteúdo dela também:

$ ls -R Documentos
Documentos:
acesso.log  notas.txt  projetos  relatorio.odt

Documentos/projetos:
backup.sh  site

Documentos/projetos/site:
index.html  style.css

Já o -d (de directory) faz o contrário: mostra a pasta em si, sem abrir. Use com -l para ver as permissões de uma pasta:

$ ls -ld /tmp
drwxrwxrwt 2 root root 4096 Oct 15 10:30 /tmp     « o "t" no fim é o sticky bit

Marcar o tipo: -F

Quando não há cores (por exemplo, ao copiar a saída para um e-mail), -F (de classify, "classificar") coloca um símbolo no fim de cada nome:

$ ls -F Documentos/projetos
backup.sh*  site/
SímboloSignifica
/Pasta
*Executável (programa ou script)
@Link simbólico (veja Links)

Formas diferentes de ver o que há numa pasta

1. ll: o atalho que o Ubuntu já traz

O arquivo ~/.bashrc do Ubuntu define ll como ls -alF: tudo, em formato longo, com o tipo marcado.

$ ll
total 52
drwxr-x--- 10 ana  ana  4096 Oct 15 08:47  ./
drwxr-xr-x  3 root root 4096 Mar 26  2026  ../
-rw-------  1 ana  ana     0 Oct 15 08:40  .bash_history
-rw-r--r--  1 ana  ana   148 Mar 26  2026  .bashrc
-rw-r--r--  1 ana  ana    13 Mar 26  2026  .profile
drwxr-xr-x  3 ana  ana  4096 Oct 12 08:03  Documentos/
drwxr-xr-x  2 ana  ana  4096 Oct 12 08:03  Downloads/
drwxr-xr-x  2 ana  ana  4096 Oct 12 08:03  Imagens/
drwxr-xr-x  2 ana  ana  4096 Oct 12 08:03  Modelos/
drwxr-xr-x  2 ana  ana  4096 Oct 12 08:03  Música/
drwxr-xr-x  2 ana  ana  4096 Oct 12 08:03  Público/
drwxr-xr-x  2 ana  ana  4096 Oct 12 08:03  Vídeos/
-rw-rw-r--  1 ana  ana    47 Oct 14 16:05  frutas.txt
drwxr-xr-x  2 ana  ana  4096 Oct 12 08:03 'Área de trabalho'/

Também existem la (ls -A) e l (ls -CF). Confira com type ll.

2. tree: a árvore inteira

O tree desenha a pasta e todas as subpastas. Ele não vem instalado: rode sudo apt install tree.

$ tree Documentos
Documentos
├── acesso.log
├── notas.txt
├── projetos
│   ├── backup.sh
│   └── site
│       ├── index.html
│       └── style.css
└── relatorio.odt

2 directories, 6 files

Em pastas grandes, limite a profundidade com tree -L 1 (só um nível) ou mostre só pastas com tree -d.

3. O app Arquivos

No desktop, Ctrl+H mostra os arquivos ocultos, e a visualização em lista (Ctrl+2) mostra tamanho e data, como um ls -l.

Qual usar?

ComandoMelhor para…
lsOlhada rápida nos nomes.
ls -lhVer tamanhos e datas.
llVer tudo, inclusive ocultos, com detalhes.
ls -lt / ls -ltrAchar o arquivo mais novo.
ls -lhSAchar os arquivos que mais ocupam espaço.
treeEntender a estrutura de um projeto.

Missão: compare ls -R Documentos com tree Documentos. Depois experimente ll e type ll.


Quando não funciona

"Arquivo ou diretório inexistente"
$ ls documentos
ls: não é possível acessar 'documentos': Arquivo ou diretório inexistente

O que aconteceu: o Linux diferencia maiúsculas de minúsculas. documentos e Documentos são nomes diferentes.

Como resolver: digite o começo do nome e aperte Tab. O terminal completa o nome certo, com as maiúsculas certas.

Nome com espaço virou três erros
$ ls Área de trabalho
ls: não é possível acessar 'Área': Arquivo ou diretório inexistente
ls: não é possível acessar 'de': Arquivo ou diretório inexistente
ls: não é possível acessar 'trabalho': Arquivo ou diretório inexistente

O que aconteceu: o espaço separa argumentos. O ls recebeu três nomes: "Área", "de" e "trabalho".

Como resolver: use aspas, ls "Área de trabalho", ou barra invertida antes de cada espaço, ls Área\ de\ trabalho. O Tab faz isso por você.

"Permissão negada"
$ ls /root
ls: não é possível abrir o diretório '/root': Permissão negada

O que aconteceu: /root é a pasta pessoal do administrador. Seu usuário não pode ler o que tem dentro.

Como resolver: se você realmente precisa, use sudo ls /root (veja sudo). Na maioria das vezes, a pergunta certa é "por que preciso olhar aí?".

O arquivo existe, mas não aparece

O que aconteceu: o nome começa com ponto, então ele é oculto.

Como resolver: use ls -a. Se a pasta tiver muitos arquivos, filtre: ls -a | grep bash.


Referência de opções

OpçãoDescriçãoExemplo
-lFormato longo: tipo, permissões, dono, tamanho, datals -l
-aTodos, inclusive ocultos, . e ..ls -a
-AOcultos, sem . e ..ls -A
-hTamanhos em K, M, G (com -l)ls -lh
-tOrdena por data, mais recente primeirols -lt
-SOrdena por tamanho, maior primeirols -lS
-XOrdena por extensãols -X
-rInverte a ordemls -ltr
-REntra nas subpastasls -R
-dMostra a pasta, não o conteúdols -ld /etc
-1Um nome por linhals -1
-FMarca o tipo: / * @ls -F
-iMostra o número do inodels -li
--group-directories-firstPastas antes dos arquivosls -l --group-directories-first

Exercícios

1. Tudo, com detalhes

Complete para listar todos os arquivos da pasta pessoal, inclusive os ocultos, em formato longo:

ls ~

2. O maior arquivo

Complete para ordenar Downloads por tamanho, com tamanhos legíveis:

ls -lh ~/Downloads

3. Permissões da pasta

Complete para ver as permissões da própria pasta /var/log, e não o conteúdo dela:

ls -l /var/log

4. Na linha drwxr-xr-x 3 ana ana 4096 Oct 12 08:03 projetos, o que indica que projetos é uma pasta?

5. Você rodou ls numa pasta e nada apareceu. O que isso significa?


Resumo

  • ls lista a pasta atual; ls pasta lista outra pasta sem entrar nela.
  • -l mostra detalhes; -h deixa os tamanhos legíveis; -a mostra os ocultos.
  • -t ordena por data, -S por tamanho e -r inverte.
  • Na linha do -l, o primeiro caractere diz o tipo: d pasta, - arquivo, l link.
  • ll e tree são formas práticas de ver tudo de uma vez.