Tutorial de Linux / Navegar pelos diretórios com pwd, ls, cd e tree

Para navegar pelos diretórios do Linux, use pwd para verificar onde você está, ls para consultar o conteúdo e cd para mudar de localização. Quando precisar visualizar a hierarquia, tree mostra os diretórios e seus níveis. Nesta aula, você combinará os quatro comandos para entender o efeito dos caminhos absolutos e relativos em cada movimento.

Se tree não estiver disponível, continue com ls. Para instalá-lo, escolha o comando adequado à distribuição na aula em inglês sobre gerenciamento de pacotes com APT e DNF. A instalação não é necessária para realizar o restante desta prática.

Verificar primeiro o diretório de trabalho atual

Um caminho relativo digitado no terminal é interpretado a partir do diretório de trabalho atual. O prompt pode mostrar uma localização abreviada ou personalizada. Para consultar o caminho, execute:

pwd

Por exemplo, se a conta se chamar learner e você estiver em seu diretório pessoal, a saída poderá ser:

/home/learner

O caminho real depende da configuração da conta; não é necessário que seu resultado seja igual ao exemplo. pwd não muda a localização. Se você entrou por um link simbólico, o caminho lógico pode diferir do físico. No Bash, pwd -P mostra o caminho físico, resolvendo os links simbólicos.

Consultar o conteúdo de um diretório

ls lista nomes de arquivos e diretórios. Sem argumento, consulta o diretório atual; com um caminho de diretório, mostra o conteúdo desse local. Os comandos a seguir consultam primeiro a localização atual e depois /etc:

ls

ls /etc

A saída de ls /etc pode conter nomes como os seguintes. Este é um exemplo abreviado, e não uma listagem completa. Os nomes e sua disposição variam entre sistemas:

hosts  passwd  ssh

Por padrão, a listagem omite os nomes que começam com um ponto. Acrescente -a para incluir essas entradas ocultas. A opção -l mostra detalhes, como permissões, proprietário, tamanho e data de modificação:

ls -a

ls -l /etc

O primeiro caractere de uma linha de arquivo em ls -l indica o tipo de arquivo: d representa um diretório, - um arquivo comum e l um link simbólico. Isso não indica o formato do sistema de arquivos, como ext4. Para consultar um diretório em si, em vez de listar seu conteúdo, use ls -ld caminho, substituindo caminho pelo alvo. As outras colunas são detalhadas no guia do comando ls, indicado abaixo.

Mudar de localização com caminhos absolutos e relativos

cd altera o diretório de trabalho do shell atual. Um caminho absoluto, como /etc, identifica o mesmo local independentemente do ponto de partida. Execute pwd logo depois para verificar o resultado:

cd /etc

pwd

Se a mudança ocorrer, a saída de pwd normalmente será:

/etc

Se cd mostrar um erro, pare a sequência e confira o caminho e as permissões. Não interprete a saída de pwd como prova de que o cd anterior funcionou: são comandos independentes, e pwd pode apenas mostrar o diretório em que você permaneceu.

Estando em /etc, cd .. vai para o diretório pai, /. Já cd - retorna ao diretório de trabalho anterior e, no Bash, imprime o caminho para o qual voltou. Execute os comandos abaixo no mesmo shell, nessa ordem e depois de confirmar que você está em /etc:

cd ..

pwd

cd -

pwd

Nessa sequência, o primeiro pwd mostra /; tanto cd - quanto o último pwd mostram /etc. Se você mudar de diretório por outro comando entre essas etapas, o destino de cd - poderá ser diferente.

Sem argumento, cd tenta ir para o diretório definido por HOME, normalmente seu diretório pessoal. No Bash, cd ~ também é uma forma habitual de chegar a ele. Esse local não precisa estar sob /home e deve existir e permitir acesso. Confirme a mudança com pwd, observando também qualquer mensagem de erro:

cd

pwd

Visualizar a hierarquia com tree

tree exibe arquivos e diretórios com recuos e ramificações. Enquanto ls é útil para consultar o conteúdo de um diretório, tree ajuda a enxergar os níveis abaixo dele. Comece limitando a profundidade para evitar uma saída muito longa:

tree -d -L 1 /etc

As ramificações mostram quais diretórios estão imediatamente abaixo de /etc. A ilustração abreviada a seguir não reproduz a listagem completa nem seu resumo final; os nomes e a quantidade de diretórios dependem do sistema:

/etc

├── ssh

└── systemd

-d seleciona somente diretórios e -L 1 limita a profundidade exibida a um nível. Se tree não estiver instalado, poderá aparecer command not found. Nesse caso, consulte o conteúdo com ls e, se necessário, instale tree pelo gerenciador de pacotes da distribuição. Os próximos passos funcionam sem ele.

Praticar a navegação pelos caminhos

Siga a ordem e tente prever a localização antes de cada pwd. A listagem de /etc pode diferir do exemplo. Esta prática consulta diretórios e altera apenas a localização do shell; não cria nem modifica arquivos:

  1. Execute pwd para consultar seu ponto de partida.
  2. Execute cd /etc. Se não houver erro, use pwd e ls para verificar a localização e seu conteúdo.
  3. Execute cd .. e confirme com pwd que você está em /.
  4. Use cd - para voltar ao diretório anterior, /etc. Por fim, execute cd para ir ao diretório pessoal e confirme se a mudança ocorreu.

Se aparecer cd: ...: No such file or directory, confira a grafia e o uso de maiúsculas e minúsculas no caminho. Permission denied pode indicar falta de permissão para atravessar algum diretório do caminho. Quando não souber onde está, comece por pwd e resolva o erro antes de continuar a sequência.

Para consultar opções e situações específicas, veja os guias de pwd e os caminhos lógico e físico, ls e a listagem detalhada, cd e as mudanças de diretório e tree e a estrutura dos diretórios.

Documentação oficial

Consulte a documentação dos comandos internos do GNU Bash para cd e o pwd do Bash, o manual do comando ls no GNU Coreutils para as listagens e o manual tree(1) para as opções de profundidade e seleção de diretórios.