Caminhos Absolutos vs Relativos: ., .., e ~ Explicados
Confuso com a Escrita dos Caminhos?
"O guia diz cd ../logs, mas o que é esse ..?" "Onde exatamente fica o ~ em ~/Documents?" Mal você começa a aprender comandos e já se depara com esses "endereços" cheios de símbolos. Eles se chamam caminhos.
Neste guia, Lina e o veterano Linny percorrem juntos a diferença entre caminhos absolutos e relativos, além do significado dos três símbolos: ., .. e ~. Ao final, você conseguirá olhar para qualquer caminho e saber exatamente para qual local ele aponta.
O que Você Vai Aprender
- Que um "caminho" é o endereço de um arquivo ou pasta
- A diferença entre caminhos absolutos (a partir de
/) e caminhos relativos (a partir de onde você está) - O que
.(aqui),..(um nível acima) e~(home) significam - Que o mesmo local pode ser escrito de duas formas diferentes
- Como usar
pwdpara verificar onde você está quando se perder
1. O que É um Caminho, Afinal?
Conclusão: Um caminho é o "endereço" de um arquivo ou pasta — a rota que você percorre entre pastas, escrita com
/como separador.
/home/lina/memo.txt o tempo todo, mas nunca entendo o que significam de verdade.../home/lina/memo.txt significa "o memo.txt dentro da pasta lina, dentro da pasta home". O / (barra) é o separador, e você desce uma pasta de cada vez.Um caminho é a rota até um arquivo
No Linux, todo arquivo e pasta vive em uma única árvore que começa em / (a raiz). Um caminho descreve quais galhos dessa árvore seguir para chegar ao destino. A própria árvore é explicada em A Estrutura de Diretórios do Linux.
2. O que É um Caminho Absoluto?
Conclusão: Um caminho absoluto sempre começa em
/(a raiz). Ele aponta para o mesmo lugar independentemente de onde você está — como um endereço completo escrito desde o país.
/./ representa o topo da árvore, o diretório raiz. Um caminho absoluto escreve a rota completa desse topo até o destino, sem omitir nada. Por isso, ele aponta para o mesmo lugar independentemente de onde você está./etc/hosts continua sendo /etc/hosts esteja você na sua pasta home ou em qualquer outro lugar. É como um endereço postal completo escrito desde o país.cd /etc pwd
/etc
Como /etc começa com /, você vai para lá independentemente de onde está.
A dica está na / inicial
- Começa em
/(a raiz) - Mesmo resultado independentemente da sua localização atual
- Melhor quando você quer apontar para "exatamente este lugar" — arquivos de configuração, scripts, etc.
3. O que É um Caminho Relativo?
Conclusão: Um caminho relativo usa sua localização atual como ponto de partida. Não começa com
/, e o local para onde aponta muda quando sua posição muda.
/. Ele escreve a rota a partir de onde você está agora./home/lina e digita cd Documents, vai para /home/lina/Documents. Significa "entrar em Documents a partir daqui".cd Documents em outro lugar...?/var, ele procura /var/Documents. Por isso se chama "relativo" — para onde aponta depende de onde você está.pwd
/home/lina
cd Documents pwd
/home/lina/Documents
O resultado de um caminho relativo depende de onde você está
O mesmo cd Documents leva a lugares diferentes dependendo do diretório atual. Quando um comando não faz o que você espera, verifique sua localização primeiro com pwd.
4. O que Significam ., .., e ~?
Conclusão:
.significa "aqui (localização atual)",..significa "um nível acima" e~significa "seu diretório home".
., .. e ~, de verdade? Sempre foram um mistério para mim.. (um ponto) significa "o lugar onde você está agora". .. (dois pontos) significa "um nível acima". E ~ (til) é um atalho para "seu diretório home".| Símbolo | Nome | Significado | Exemplo |
|---|---|---|---|
. |
ponto / atual | Onde você está agora | ./script.sh (o script aqui) |
.. |
ponto-ponto | Um nível acima | cd .. (para a pasta pai) |
~ |
til | Seu diretório home | cd ~ (voltar direto para home) |
Subir um nível com ..
.. com mais frequência./home/lina/Documents, cd .. te leva para /home/lina. Mais um cd .. te leva para /home.pwd
/home/lina/Documents
cd .. pwd
/home/lina
Você também pode combiná-los. cd ../../etc significa "subir dois níveis e depois entrar em etc".
Voltar para home em um passo com ~
~ é útil?cd ~ te leva direto para o seu diretório home (como /home/lina). Pense nele como um botão "ir para home" quando você está perdido no fundo de alguma pasta. Rodar cd sem argumento faz a mesma coisa.cd ~ pwd
/home/lina
Escrever ~/Documents aponta para "Documents dentro do seu home", independentemente de onde você está.
Quando usar .?
Raramente você digita . sozinho, mas ele aparece com frequência ao rodar scripts como ./script.sh. Isso significa "o script.sh na pasta atual". Sem o ./, o shell busca no caminho de comandos e pode não encontrar o arquivo — por isso prefixar com ./ é a forma padrão de rodar seus próprios scripts.
5. Absoluto ou Relativo — Qual Usar?
Conclusão: Use caminho absoluto para ter certeza, e caminho relativo para se mover rapidamente para algo próximo. O mesmo local muitas vezes pode ser escrito das duas formas.
/home/lina, tanto /home/lina/Documents (absoluto) quanto Documents (relativo) levam ao mesmo /home/lina/Documents. Ser mais curto é o ponto forte do caminho relativo.Aqui está o mesmo movimento escrito de duas formas (localização atual é /home/lina):
cd /home/lina/Documents
cd Documents
Ambos movem você para o mesmo /home/lina/Documents.
Regras práticas
- Caminho absoluto: quando quer apontar para arquivos de configuração, scripts ou um lugar distante "com certeza"
- Caminho relativo: quando quer chegar a algo "próximo" — logo ao lado ou um nível acima — rapidamente
- Na dúvida, um caminho absoluto é mais seguro (não depende da sua localização atual)
6. E Se Você Se Perder?
Conclusão: Use
pwdpara verificar onde você está. Quando um caminho relativo se comporta de forma inesperada, suspeite primeiro da sua localização atual.
cd com um caminho relativo e apareceu "no such directory"...pwd.pwd primeiro e depois repense a rota até o destino.pwd
/var/log
Se te dizem que "Documents não existe", o resultado do pwd te permite perceber "ah, estou em /var/log — vou usar cd ~/Documents". Listar a pasta atual com ls para ver para onde você pode navegar também ajuda.
Você pode praticar a movimentação entre caminhos direto no navegador. Abra o terminal do Penguin Gym Linux e digite cd e pwd várias vezes para sentir como sua localização muda. A prática é a forma mais rápida de aprender.
Resumo
- Um caminho é o "endereço" de um arquivo ou pasta, escrito como uma rota separada por
/ - Um caminho absoluto começa em
/(a raiz) e aponta para o mesmo lugar independentemente da sua localização - Um caminho relativo não começa com
/e é baseado no seu diretório atual .é aqui,..é um nível acima e~é seu diretório home- Quando um caminho relativo te confunde, verifique sua localização com
pwdprimeiro