Navegando no sistema de arquivos
Esta aula ensina os comandos fundamentais para navegar no sistema de arquivos do Linux: pwd, cd e ls, além de explicar a diferença entre caminhos absolutos e relativos, os diretórios especiais (., .., ~) e atalhos úteis. Ao final, você será capaz de se mover eficientemente pelo terminal.
Navegar pelo sistema de arquivos é uma das habilidades mais básicas e essenciais no uso do shell. Sem ela, você não consegue acessar arquivos, executar scripts ou organizar seu trabalho. Nesta aula, você aprenderá os comandos pwd, cd e ls, que formam a tríade fundamental da navegação. Além disso, entenderá como os caminhos são estruturados no Linux e como usar atalhos para ganhar produtividade.
Dominar esses conceitos permite que você se mova com confiança entre diretórios, entenda onde está e encontre rapidamente o que precisa. Vamos começar com os comandos básicos e depois aprofundar nos tipos de caminhos e atalhos.
pwd, cd, ls
O comando pwd (print working directory) exibe o caminho absoluto do diretório atual. É útil para confirmar onde você está, especialmente após navegar por vários níveis. Exemplo:
$ pwd
/home/usuarioO comando cd (change directory) muda o diretório atual para o especificado. Se executado sem argumentos, leva ao diretório home do usuário. Exemplos:
$ cd /tmp
$ pwd
/tmp
$ cd
$ pwd
/home/usuarioO comando ls lista o conteúdo do diretório atual ou de um diretório especificado. Possui diversas opções, como -l para formato longo, -a para incluir arquivos ocultos e -h para tamanhos legíveis. Exemplo:
$ ls -la
-rw-r--r-- 1 usuario grupo 1234 Jan 1 12:34 arquivo.txt
drwxr-xr-x 2 usuario grupo 4096 Jan 1 12:34 documentosCombine esses comandos para navegar e inspecionar diretórios rapidamente.
Caminhos absolutos e relativos
Um caminho absoluto começa com a barra / (raiz) e especifica a localização exata de um arquivo ou diretório, independentemente do diretório atual. Exemplo: /home/usuario/documentos/arquivo.txt.
Um caminho relativo não começa com / e é interpretado a partir do diretório atual. Por exemplo, se você está em /home/usuario, o caminho relativo documentos/arquivo.txt refere-se a /home/usuario/documentos/arquivo.txt. Caminhos relativos são mais curtos e flexíveis, mas dependem do contexto.
Exemplo prático:
$ pwd
/home/usuario
$ cd documentos
$ pwd
/home/usuario/documentos
$ cd /home/usuario/documentos # caminho absoluto
$ pwd
/home/usuario/documentosUse caminhos absolutos para scripts que precisam funcionar de qualquer lugar, e relativos para navegação interativa rápida.
Diretórios especiais (. .. ~)
O shell reserva alguns nomes especiais para diretórios:
.(ponto): representa o diretório atual. Útil para executar scripts ou referenciar o local atual explicitamente...(dois pontos): representa o diretório pai (um nível acima). Exemplo:cd ..sobe um nível.~(til): representa o diretório home do usuário atual. Exemplo:cd ~leva ao home.
Exemplos:
$ pwd
/home/usuario/documentos
$ cd ..
$ pwd
/home/usuario
$ cd .
$ pwd
/home/usuario
$ cd ~/documentos
$ pwd
/home/usuario/documentosEsses atalhos são especialmente úteis para navegar rapidamente sem digitar caminhos completos.
Atalhos
Além dos diretórios especiais, existem atalhos que economizam tempo no terminal:
cd -: retorna ao diretório anterior. Exemplo:cd /tmp; cd /home; cd -volta para/tmp.cd ~nome_usuario: vai para o home de outro usuário (se você tiver permissão).pushdepopd: gerenciam uma pilha de diretórios.pushd /tmpadiciona o diretório atual à pilha e muda para/tmp;popdretorna ao topo da pilha.dirs: exibe a pilha de diretórios.
Exemplo com pushd/popd:
$ pwd
/home/usuario
$ pushd /tmp
/tmp ~/home/usuario
$ pwd
/tmp
$ pushd /var
/var /tmp ~/home/usuario
$ dirs
/var /tmp ~/home/usuario
$ popd
$ pwd
/tmp
$ popd
$ pwd
/home/usuarioUse cd - para alternar entre dois diretórios frequentemente, e pushd/popd para navegação mais complexa.
Boas práticas e observações finais
Sempre verifique seu diretório atual com pwd antes de executar comandos que afetam arquivos, para evitar erros. Prefira caminhos relativos em scripts curtos e absolutos em scripts reutilizáveis. Use tab completion para preencher nomes de diretórios automaticamente (pressione Tab). Lembre-se de que nomes de arquivos com espaços precisam ser escapados com aspas ou barra invertida.
Exercícios
Qual comando mostra o diretório atual?
Explique a diferença entre caminho absoluto e relativo, dando um exemplo de cada.
O que faz o comando
cd ..?Cite dois atalhos para navegação rápida no terminal e exemplifique seu uso.
Usando pushd e popd, como você alternaria entre três diretórios? Escreva os comandos.