Ubuntu Caminhos
Um caminho é o endereço de um arquivo ou pasta, como /home/ana/Documentos/notas.txt. Quase todo comando recebe caminhos: ls, cd, cp, rm… Se você escreve o caminho errado, o comando procura no lugar errado. Esta aula ensina as duas formas de escrever um endereço e os atalhos que poupam digitação.
- A diferença entre caminho absoluto (começa em
/) e relativo (começa onde você está). - Os atalhos
~,.,..e-. - Como escrever nomes com espaços e acentos.
- Como o Tab escreve o caminho por você e evita erros.
A ideia: endereço completo × direções a partir daqui
Pense em como você explica onde fica uma padaria:
- Endereço completo: "Rua das Flores, 120, Centro, São Paulo". Funciona de qualquer lugar do mundo. Esse é o caminho absoluto.
- Direções a partir daqui: "duas quadras para a frente e vire à direita". Só funciona se a pessoa estiver onde você está. Esse é o caminho relativo.
/home/ana/Documentos/notas.txt ← absoluto: começa com / Documentos/notas.txt ← relativo: começa onde você está (aqui, em /home/ana)
A regra é simples: se começa com /, é absoluto. Qualquer outra coisa é relativa à pasta atual, aquela que o pwd mostra.
Caminho absoluto
O caminho absoluto parte da raiz / e desce pasta por pasta. Ele funciona igual, não importa onde você esteja.
- /
- A raiz: o ponto de partida.
- home/
- Desce para a pasta
home. - ana/
- Depois para
ana. - Documentos/
- Depois para
Documentos. - notas.txt
- E chega no arquivo.
$ pwd /etc « estou em /etc $ cat /home/ana/Documentos/notas.txt Comprar café « o caminho absoluto funciona de qualquer lugar Ligar para o João Estudar Ubuntu Fazer backup das fotos
Caminho relativo
O caminho relativo parte da pasta atual. É mais curto, mas depende de onde você está.
$ pwd /home/ana $ cat Documentos/notas.txt Comprar café « achou: procurou em /home/ana/Documentos Ligar para o João Estudar Ubuntu Fazer backup das fotos $ cd /etc $ cat Documentos/notas.txt cat: Documentos/notas.txt: No such file or directory « procurou em /etc/Documentos
O segundo cat falhou porque procurou /etc/Documentos/notas.txt, que não existe. A mensagem está em inglês porque, no Ubuntu 26.04, o cat faz parte do coreutils reescrito em Rust, que ainda não foi todo traduzido.
Qual usar?
| Tipo | Vantagem | Use quando… |
|---|---|---|
| Absoluto | Funciona de qualquer lugar | Escrever scripts, configurações e tarefas agendadas (cron). |
| Relativo | Mais curto | Digitar no dia a dia, perto de onde você está. |
Os atalhos: ~, ., .. e -
| Atalho | Significa | Exemplo |
|---|---|---|
~ | Sua pasta pessoal (/home/ana) | ls ~/Downloads |
. | A pasta atual | cp /etc/hostname . |
.. | A pasta de cima (pasta-mãe) | cd .. |
- | A pasta onde você estava antes (só no cd) | cd - |
Til ~: sua casa
O ~ é trocado pelo shell pelo caminho da sua pasta pessoal antes de o comando rodar. Por isso ~/Downloads funciona de qualquer lugar, como um absoluto.
$ echo ~ /home/ana $ echo ~/Documentos /home/ana/Documentos $ ls ~/Documentos acesso.log notas.txt projetos relatorio.odt
Ponto .: aqui
O ponto é útil quando um comando exige um destino e o destino é "onde estou":
- cp
- Copia.
- /etc/hostname
- O arquivo de origem (caminho absoluto).
- .
- O destino: a pasta atual.
$ cp /etc/hostname . $ ls -l hostname -rw-r--r-- 1 ana ana 9 Oct 15 10:30 hostname
Ele também aparece em ./script.sh: "rode o script.sh que está aqui". Sem o ./, o shell procura o programa só nas pastas do sistema (veja Primeiro Script).
Ponto-ponto ..: um nível acima
Cada .. sobe uma pasta. Você pode encadear: ../.. sobe duas.
$ pwd /home/ana/Documentos/projetos/site $ ls .. backup.sh site « o conteúdo de projetos $ ls ../.. acesso.log notas.txt projetos relatorio.odt « o conteúdo de Documentos $ cat ../../notas.txt Comprar café Ligar para o João Estudar Ubuntu Fazer backup das fotos
O .. pode ficar no meio do caminho: ../../Downloads significa "suba dois níveis e entre em Downloads".
Missão: você está em ~/Documentos/projetos/site. Sem usar cd, mostre o conteúdo de ~/Documentos/notas.txt com um caminho relativo (use ..).
Um mesmo arquivo, várias formas de escrever
Estando em /home/ana/Documentos, todos estes comandos mostram o mesmo arquivo:
cat notas.txt ← relativo, o mais curto cat ./notas.txt ← relativo, com "aqui" explícito cat ~/Documentos/notas.txt ← a partir da pasta pessoal cat /home/ana/Documentos/notas.txt ← absoluto cat ../Documentos/notas.txt ← sobe um nível e desce de novo cat projetos/../notas.txt ← entra em projetos e sai
O último é estranho, mas válido: entra em projetos e sai de novo. Para descobrir o caminho absoluto "limpo" de qualquer coisa, use realpath:
$ realpath projetos/../notas.txt /home/ana/Documentos/notas.txt
Nomes com espaços e caracteres especiais
O espaço separa argumentos. Um nome com espaço precisa de proteção, senão vira vários nomes. Há três formas:
| Forma | Exemplo | Observação |
|---|---|---|
| Aspas duplas | cd "Área de trabalho" | A mais usada. $VAR dentro ainda funciona. |
| Aspas simples | cd 'Área de trabalho' | Tudo literal; nada é interpretado. |
| Barra invertida | cd Área\ de\ trabalho | Protege um caractere. É o que o Tab escreve. |
$ cp -v Documentos/notas.txt "Área de trabalho/lembrete.txt" 'Documentos/notas.txt' -> 'Área de trabalho/lembrete.txt' $ ls Área\ de\ trabalho lembrete.txt
Com o ~, deixe-o fora das aspas, senão ele não é trocado: ls ~/"Área de trabalho" funciona, ls "~/Área de trabalho" não.
Nos nomes que você cria, prefira letras minúsculas, sem acentos, com hífen no lugar de espaço: relatorio-2026.pdf. Você nunca vai precisar de aspas.
Deixe o Tab escrever por você
Digite o começo de um nome e aperte Tab. O terminal completa o resto, já com as maiúsculas certas e os espaços protegidos. Se houver mais de uma opção, aperte Tab duas vezes para ver a lista.
$ ls Do Documentos/ Downloads/ « depois de "ls Do", Tab duas vezes mostra as opções $ ls Documentos/
Na segunda linha, a Ana digitou só mais um c (ls Doc) e apertou Tab: como só sobrou uma opção, o terminal completou Documentos/ sozinho.
O Tab é o melhor remédio contra "Arquivo ou diretório inexistente": se ele não completa, o nome não existe ali.
Missão: entre na pasta Área de trabalho. Experimente as três formas (aspas duplas, simples e barra invertida) e use o Tab digitando só cd Á.
Quando não funciona
$ ls Documentos ls: não é possível acessar 'Documentos': Arquivo ou diretório inexistente
O que aconteceu: você não está onde pensa. O caminho relativo procurou /tmp/Documentos.
Como confirmar: olhe o prompt ou rode pwd.
Como resolver: use ~/Documentos, que funciona de qualquer lugar.
$ cd documentos bash: cd: documentos: Arquivo ou diretório inexistente
O que aconteceu: o Linux diferencia maiúsculas: documentos ≠ Documentos.
Como resolver: use o Tab.
$ ls "~/Documentos" ls: não é possível acessar '~/Documentos': Arquivo ou diretório inexistente
O que aconteceu: dentro de aspas, o ~ é só um caractere. O ls procurou uma pasta chamada "~".
Como resolver: ls ~/Documentos, ou ls "$HOME/Documentos".
Exercícios
1. Absoluto
Escreva o caminho absoluto da pasta Downloads da usuária ana:
2. Subir dois níveis
Você está em /home/ana/Documentos/projetos. Complete para listar /home/ana com caminho relativo:
3. Copiar para cá
Complete para copiar /etc/hosts para a pasta atual:
4. Qual destes é um caminho absoluto?
5. Qual comando entra na pasta "Meus Projetos"?
Resumo
- Começa com
/: absoluto, funciona de qualquer lugar. Senão, é relativo à pasta atual. ~= sua pasta pessoal;.= aqui;..= um nível acima;cd -= pasta anterior.- Nomes com espaço: aspas ou barra invertida. Deixe o
~fora das aspas. - Use o Tab: ele completa o nome certo e mostra quando o caminho não existe.