Navegando no sistema de arquivos: cd, ls, pwd, tree
1. Introdução à navegação no sistema de arquivos
Navegar no sistema de arquivos pelo terminal é uma habilidade fundamental para qualquer usuário de Bash/Shell Script. Diferente de interfaces gráficas, onde você clica em pastas, no terminal você utiliza comandos textuais para se mover entre diretórios, visualizar conteúdos e entender a estrutura hierárquica do sistema.
O sistema de arquivos Unix/Linux é organizado como uma árvore invertida, começando pelo diretório raiz (/). Cada diretório pode conter arquivos e subdiretórios, formando uma estrutura hierárquica. Saber seu "caminho atual" é essencial, pois todos os comandos que você executa dependem do contexto do diretório onde você está.
2. pwd — Descobrindo onde você está
O comando pwd (Print Working Directory) exibe o caminho absoluto do diretório atual. Sua sintaxe é simples:
pwd
Exemplo de saída:
/home/usuario/projetos
O caminho absoluto começa sempre com / e descreve a localização completa desde a raiz. Já o caminho relativo depende do diretório atual. Por exemplo, se você está em /home/usuario e digita pwd, receberá:
/home/usuario
Se você navegar para Documentos, o pwd mostrará:
/home/usuario/Documentos
3. ls — Listando o conteúdo de diretórios
O comando ls lista arquivos e diretórios. Seu uso básico:
ls
Para listar um diretório específico:
ls /var/log
As opções mais importantes são:
-l(formato detalhado): mostra permissões, proprietário, tamanho e data-a(all): inclui arquivos ocultos (que começam com.)-h(human-readable): exibe tamanhos em KB, MB, GB
Combinações comuns:
ls -la # Lista detalhada com arquivos ocultos
ls -lh # Lista detalhada com tamanhos legíveis
ls -la /etc # Lista detalhada de /etc com ocultos
ls -R # Lista recursivamente subdiretórios
Exemplo prático:
$ ls -la /home/usuario
total 48
drwxr-xr-x 12 usuario usuario 4096 mar 15 10:30 .
drwxr-xr-x 3 root root 4096 mar 14 08:00 ..
-rw------- 1 usuario usuario 234 mar 15 09:00 .bash_history
drwxr-xr-x 2 usuario usuario 4096 mar 12 14:20 Documentos
-rw-r--r-- 1 usuario usuario 120 mar 13 16:45 notas.txt
4. cd — Mudando de diretório
O comando cd (Change Directory) é o principal para navegação. Sua sintaxe:
cd [diretório]
Navegação básica:
cd /var/log # Vai para /var/log (caminho absoluto)
cd Documentos # Vai para Documentos (caminho relativo)
cd .. # Sobe um nível na hierarquia
cd ~ # Vai para o diretório home do usuário
cd # Equivalente a cd ~
Atalhos úteis:
cd - # Volta para o diretório anterior
cd ~/Documentos # Vai para Documentos no home
cd ../.. # Sobe dois níveis
Exemplo prático de navegação:
$ pwd
/home/usuario
$ cd Documentos/projetos
$ pwd
/home/usuario/Documentos/projetos
$ cd -
/home/usuario
5. tree — Visualizando a árvore completa de diretórios
O comando tree exibe a estrutura de diretórios em formato de árvore. Muitos sistemas não o trazem instalado por padrão. Para instalar:
# Debian/Ubuntu
sudo apt install tree
# RHEL/CentOS/Fedora
sudo yum install tree
# macOS (com Homebrew)
brew install tree
Sintaxe básica:
tree [diretório] [opções]
Opções principais:
-L n: limita a profundidade a n níveis-d: mostra apenas diretórios-a: inclui arquivos ocultos
Exemplos:
tree -L 2 # Mostra 2 níveis de profundidade
tree -d /var/log # Apenas diretórios em /var/log
tree -L 1 -d /home/usuario # Apenas diretórios no primeiro nível
Saída típica:
$ tree -L 2 /home/usuario/Documentos
/home/usuario/Documentos
├── projetos
│ ├── bash-scripts
│ └── python-app
└── relatorios
├── 2024
└── 2025
4 directories, 0 files
6. Dicas e boas práticas para navegação eficiente
Autocompletar com Tab
Pressione Tab para autocompletar caminhos. Se houver múltiplas opções, pressione Tab duas vezes para listá-las:
cd /ho[Tab] # Completa para /home
cd Doc[Tab] # Completa para Documentos (se existir)
Histórico com pushd e popd
pushd e popd permitem empilhar diretórios para navegação mais complexa:
pushd /var/log # Vai para /var/log e salva o anterior na pilha
pushd /tmp # Vai para /tmp e salva /var/log na pilha
dirs # Mostra a pilha de diretórios
popd # Volta para /var/log
popd # Volta para o diretório original
Aliases úteis
Adicione ao seu ~/.bashrc ou ~/.bash_aliases:
alias ll='ls -la'
alias la='ls -a'
alias l='ls -CF'
alias ..='cd ..'
alias ...='cd ../..'
alias tree2='tree -L 2'
Após adicionar, recarregue com:
source ~/.bashrc
7. Resumo e próximos passos
Você aprendeu quatro comandos essenciais para navegação no sistema de arquivos:
- pwd: mostra onde você está
- ls: lista o conteúdo de diretórios
- cd: muda de diretório
- tree: visualiza a estrutura hierárquica
Esses comandos formam a base para operações mais avançadas. Com eles, você pode explorar qualquer diretório, entender sua localização e planejar próximas ações como manipular arquivos (cp, mv, rm) ou visualizar conteúdos (cat, less, head).
Exercício prático: Navegue até /usr/share/doc, liste seu conteúdo com ls -la, use tree -L 1 para ver a estrutura e volte ao diretório anterior com cd -. Repita o processo com /var/log e observe as diferenças.
Referências
- GNU Coreutils: pwd invocation — Documentação oficial do comando pwd no GNU Coreutils
- GNU Coreutils: ls invocation — Documentação oficial do comando ls com todas as opções
- GNU Bash Manual: Bourne Shell Builtins (cd) — Seção do manual do Bash sobre o comando cd
- Linux man page: tree — Página de manual completa do comando tree
- The Linux Documentation Project: Navigating the Filesystem — Tutorial introdutório sobre navegação no sistema de arquivos Linux
- Linuxize: cd command in Linux — Guia prático com exemplos do comando cd
- HowtoForge: Linux ls command tutorial — Tutorial detalhado sobre o comando ls com exemplos práticos