Navegando no sistema de arquivos
Esta aula ensina os comandos fundamentais para navegação no sistema de arquivos do Linux: pwd, cd e ls. Aborda a diferença entre caminhos absolutos e relativos, os diretórios especiais (., .., ~) e atalhos úteis como Tab e history.
Navegar pelo sistema de arquivos é uma habilidade essencial no uso do terminal Linux. Comandos como pwd, cd e ls são as ferramentas básicas para se movimentar e explorar diretórios. Nesta aula, você aprenderá a usá-los com eficiência, compreenderá a diferença entre caminhos absolutos e relativos, conhecerá diretórios especiais e descobrirá atalhos que agilizam o trabalho no shell.
Dominar esses conceitos permite navegar rapidamente entre pastas, localizar arquivos e executar comandos com precisão, formando a base para tarefas mais avançadas como scripts e automação.
pwd, cd, ls
O comando pwd (print working directory) exibe o caminho completo do diretório atual. É útil para saber onde você está a qualquer momento. Exemplo:
$ pwd
/home/usuarioO comando cd (change directory) muda o diretório de trabalho. Para ir para um diretório, use cd nome_do_diretorio. Se nenhum argumento for dado, cd leva ao diretório home do usuário. Exemplos:
$ cd Documentos
$ pwd
/home/usuario/DocumentosO comando ls lista o conteúdo de um diretório. Sem argumentos, lista o diretório atual. Opções comuns incluem -l (formato longo), -a (mostra arquivos ocultos) e -h (tamanhos legíveis). Exemplo:
$ ls -la
-rw-r--r-- 1 usuario usuario 1234 Jan 15 10:00 arquivo.txt
drwxr-xr-x 2 usuario usuario 4096 Jan 15 09:00 pastaCaminhos absolutos e relativos
Um caminho absoluto especifica a localização completa a partir da raiz do sistema de arquivos (/). Por exemplo: /home/usuario/Documentos. Ele funciona independentemente do diretório atual. Já um caminho relativo é especificado em relação ao diretório atual. Por exemplo, se você está em /home/usuario, o caminho relativo Documentos refere-se a /home/usuario/Documentos.
Para navegar usando caminhos relativos, você pode usar referências como . (diretório atual) e .. (diretório pai). Exemplo: cd ../Downloads sobe um nível e entra em Downloads. Caminhos absolutos são mais explícitos e seguros em scripts, enquanto relativos são mais curtos e flexíveis no uso interativo.
# Exemplo de caminho absoluto
$ cd /var/log
# Exemplo de caminho relativo (supondo que esteja em /home/usuario)
$ cd Documentos/ProjetosDiretórios especiais (. .. ~)
O diretório . representa o diretório atual. Embora raramente usado sozinho, é útil em comandos como cp ou mv para referir-se ao local atual. O diretório .. representa o diretório pai, ou seja, o nível acima. Você pode encadeá-los: ../../ sobe dois níveis. O til ~ é um atalho para o diretório home do usuário atual. Exemplos:
$ cd ~ # vai para /home/usuario
$ cd ~/Documentos # vai para /home/usuario/Documentos
$ cd .. # sobe um nível
$ cd ../.. # sobe dois níveisEsses diretórios especiais tornam a navegação mais rápida e expressiva. Combinados com caminhos relativos, permitem movimentação eficiente sem digitar caminhos completos.
Atalhos
O shell oferece vários atalhos que agilizam a navegação e edição de comandos. O mais útil é o Tab para autocompletar nomes de diretórios e arquivos. Pressione Tab parcialmente para completar ou duas vezes para listar opções. Outro atalho é o histórico de comandos: use as setas para cima/baixo para navegar por comandos anteriores. O comando history lista todo o histórico. Você pode reexecutar um comando com !n (onde n é o número no histórico).
Além disso, cd - retorna ao diretório anterior. Isso é especialmente útil quando você alterna entre duas pastas. Exemplo:
$ cd /tmp
$ pwd
/tmp
$ cd /home/usuario/Documentos
$ pwd
/home/usuario/Documentos
$ cd -
/tmpOutros atalhos incluem Ctrl+A (início da linha), Ctrl+E (fim), Ctrl+U (apagar linha), entre outros. Dominar esses atalhos aumenta significativamente a produtividade no terminal.
Boas práticas
Sempre verifique o diretório atual com pwd antes de executar comandos que afetam arquivos. Use caminhos relativos com moderação em scripts, pois podem quebrar se o script for executado de outro diretório. Prefira caminhos absolutos ou variáveis como $HOME em scripts. Aproveite o autocompletar com Tab para evitar erros de digitação.
Referências
- Bash Builtins (cd, pwd)
- ls(1) - Linux manual page
- Advanced Bash-Scripting Guide: Filesystem
- Bash History Commands
- LinuxCommand.org: Navigating the Filesystem
Exercícios
Qual comando exibe o diretório atual? Use-o para verificar em que diretório você está.
Explique a diferença entre um caminho absoluto e um caminho relativo. Dê um exemplo de cada.
Qual diretório especial é representado por
..? O que acontece se você executarcd ../..?Como você pode voltar rapidamente para o diretório anterior usando um comando?
Qual tecla de atalho autocompleta nomes de diretórios e arquivos no terminal?