Navegando no sistema de arquivos
Esta aula ensina os comandos essenciais para navegar no sistema de arquivos do Linux: pwd, cd e ls. Você aprenderá a diferença entre caminhos absolutos e relativos, o significado dos diretórios especiais (., .., ~) e atalhos úteis como Tab e histórico de comandos.
Nesta aula, você aprenderá os comandos fundamentais para se movimentar pelo sistema de arquivos do Linux. Dominar pwd, cd e ls é o primeiro passo para se sentir confortável no terminal. Além disso, entenderemos caminhos absolutos e relativos, diretórios especiais e atalhos que agilizam o trabalho.
pwd, cd, ls
O comando pwd (print working directory) exibe o caminho completo do diretório atual. Use-o sempre que se perder.
$ pwd
/home/usuarioO comando cd (change directory) muda o diretório atual. Basta fornecer o caminho de destino.
$ cd /tmp
$ pwd
/tmpO comando ls lista o conteúdo do diretório atual. Por padrão, mostra apenas nomes de arquivos e pastas.
$ ls
documentos downloads imagensOpções comuns: -l (detalhado), -a (inclui ocultos), -h (tamanhos legíveis).
$ ls -la
total 12
drwxr-xr-x 3 usuario usuario 4096 jan 1 12:00 .
drwxr-xr-x 10 root root 4096 jan 1 10:00 ..
drwxr-xr-x 2 usuario usuario 4096 jan 1 12:00 documentosCaminhos absolutos e relativos
Um caminho absoluto começa com a barra / (raiz) e especifica a localização completa a partir da raiz do sistema. Exemplo: /home/usuario/documentos.
Um caminho relativo é baseado no diretório atual. Não começa com /. Exemplo: se você está em /home/usuario, o caminho relativo documentos refere-se a /home/usuario/documentos.
Exemplo prático:
$ pwd
/home/usuario
$ cd documentos # caminho relativo
$ pwd
/home/usuario/documentos
$ cd /tmp # caminho absoluto
$ pwd
/tmpUse caminhos absolutos quando quiser garantir que está acessando o local exato, independentemente do diretório atual. Caminhos relativos são mais curtos e flexíveis para scripts.
Diretórios especiais (. .. ~)
O diretório . (ponto) representa o diretório atual. É útil em comandos como cp ou mv para indicar "aqui".
O diretório .. (dois pontos) representa o diretório pai. Use para subir um nível na hierarquia.
$ pwd
/home/usuario/documentos
$ cd ..
$ pwd
/home/usuarioO til ~ é um atalho para o diretório home do usuário atual. Equivale a /home/usuario (ou /root para root).
$ cd ~
$ pwd
/home/usuario
$ cd ~/Downloads
$ pwd
/home/usuario/DownloadsExemplo combinando:
$ pwd
/home/usuario/documentos
$ ls ..
downloads imagens documentos videos
$ cd ../downloads
$ pwd
/home/usuario/downloadsAtalhos
Alguns atalhos que aumentam a produtividade no terminal:
- Tab: Autocompleta comandos, caminhos e nomes de arquivos. Pressione Tab uma vez para completar (se único) ou duas vezes para listar opções.
- Ctrl + C: Interrompe o comando atual.
- Ctrl + D: Sai do terminal ou envia EOF.
- Ctrl + L: Limpa a tela (equivalente ao comando
clear). - Ctrl + A: Vai para o início da linha.
- Ctrl + E: Vai para o final da linha.
- Seta para cima/baixo: Navega pelo histórico de comandos.
cd -: Volta para o diretório anterior.
Exemplo com cd -:
$ pwd
/home/usuario/documentos
$ cd /tmp
$ pwd
/tmp
$ cd -
$ pwd
/home/usuario/documentosUse history para ver comandos recentes e !n para reexecutar o comando número n.
$ history
1 pwd
2 cd /tmp
3 cd -
$ !2
cd /tmpReferências
- GNU Bash Manual - Bourne Shell Builtins (cd, pwd)
- GNU Coreutils - ls invocation
- Advanced Bash-Scripting Guide - Special Characters (. .. ~)
- GNU Bash Manual - Readline Interaction (atalhos)
Exercícios
Qual é a saída do comando
pwdse você acabou de abrir o terminal? (Considere que o usuário éaluno)Você está em
/home/aluno/Documentos. Escreva um comandocdusando caminho relativo para ir para/home/aluno/Downloads.O que faz o comando
cd ~/..?Explique a diferença entre os caminhos
/tmpetmp.Qual atalho de teclado você usaria para completar automaticamente o nome de um diretório longo?