Linux / Comandos / cd / Comando para mover-se para outro diretório

No Linux, o comando cd muda o diretório de trabalho do shell atual. Por exemplo, execute cd /etc e depois pwd para verificar sua localização atual.

Verifique a localização atual e mova-se

cd é a abreviação de change directory e é um comando incorporado em shells como o Bash. Você especifica o diretório para o qual deseja se mover como um argumento. O comando a seguir move para /etc e exibe essa localização.

cd /etc
pwd

Se a movimentação for bem-sucedida, o próprio comando cd geralmente não exibe nada. Certifique-se de que pwd exiba /etc. Mover não envolve mover arquivos ou alterar conteúdos, mas sim alterar a localização de referência do shell atual. O diretório de trabalho de outros terminais não muda.

Caminhos absolutos e caminhos relativos

Caminhos absolutos começam a partir do diretório raiz /. Por exemplo, o seguinte comando especifica /var/log independentemente de sua localização atual. O diretório deve existir e ser acessível.

cd /var/log
pwd

Caminhos relativos são baseados na localização atual. Por exemplo, para mover para /var e depois para log dentro dele, execute da seguinte forma.

cd /var
cd ./log
pwd

Se bem-sucedido, /var/log será exibido. . se refere ao diretório atual, então ./log é log relativo à localização atual. Se CDPATH estiver definido no Bash, cd log pode usar caminhos de pesquisa alternativos, mas cd ./log se refere explicitamente ao diretório atual. Se a movimentação falhar, resolva o erro antes de executar o próximo comando.

Movendo para o diretório pai e para a localização anterior

.. refere-se ao diretório pai. Se a localização atual for /var/log, o seguinte comando move para /var.

cd ..
pwd

Para retornar ao diretório visitado anteriormente, use o seguinte comando.

cd -

cd - no Bash move para o diretório de trabalho anterior e imprime seu caminho. Pode falhar se a localização anterior não tiver sido definida ou estiver inacessível. No exemplo acima, se você se moveu de /var/log para /var imediatamente antes, ele retornará para /var/log.

Movendo para o diretório home

Se você executar cd sem um caminho, o Bash se move para o diretório home definido na variável HOME. ~ também geralmente é expandido para o diretório home do usuário atual.

cd
pwd

A localização do diretório home difere dependendo da conta e das configurações, portanto, não assuma sempre que seja /home/user. cd ~/Documents se move sob o home para Documents, e se esse diretório não existir, ele falhará. cd ~user no Bash é uma forma de substituir user pelo nome real da conta para indicar o caminho home dessa conta. Ele não faz login como outro usuário nem concede permissões, e você deve ter direitos de acesso ao destino.

Caminhos com espaços e links simbólicos

Se um nome de diretório contiver espaços, coloque o caminho entre aspas. O exemplo abaixo mostra isso quando my folder está no diretório atual.

cd "my folder"

Ao usar o caminho home, você pode colocar ~ fora das aspas e colocar o restante entre aspas. O exemplo a seguir mostra quando my folder está sob o diretório home.

cd ~/"my folder"

Se você se moveu por meio de um link simbólico, o caminho exibido e o caminho real do diretório podem diferir. pwd -P do Bash mostra o caminho físico. cd -P se move com base no caminho físico interpretado a partir do link, e o resultado processado pelo .. pode diferir do comportamento padrão. Para mais detalhes, verifique Explicação do cd e pwd do Bash.

Verifique quando o movimento não for possível

  • Caminho não encontrado: Verifique a ortografia e a sensibilidade a maiúsculas e minúsculas, assim como sua localização atual, e use ls para ver se o nome existe. O arquivo não é um diretório, então você não pode acessá-lo com cd.
  • Permissão negada: Certifique-se de que você tem permissão de pesquisa para acessar o destino e seus diretórios principais. Em vez de alterar permissões arbitrariamente, solicite o acesso necessário ao administrador.
  • Localização inesperada: Compare pwd e pwd -P, e verifique links simbólicos ou configurações CDPATH.

Você pode visualizar a ajuda para os comandos internos no Bash com help cd. Em scripts, você precisa verificar o status de saída para impedir que o script execute operações subsequentes no diretório errado quando cd falhar.