Comando cd do Linux
Nos sistemas operacionais do tipo Unix, o comando cd (“change directory”) altera o diretório de trabalho atual do shell .
Este documento cobre a versão interna do CD do bash .
Descrição
cd está entre os comandos que você usará com mais freqüência na linha de comando . Isso muda seu diretório de trabalho . Use-o para percorrer a hierarquia do seu sistema de arquivos .
Sintaxe
cd [ -L | Diretório -P [ -e ]]
Opções
-i | Força os links simbólicos a serem seguidos. Em outras palavras, se você disser ao cd para ir para um “diretório”, que na verdade é um link simbólico para um diretório, ele será movido para o diretório para o qual o link simbólico aponta. Esta opção é o comportamento padrão do cd ; normalmente, sempre atuará como se -L fosse especificado. |
-P | Use a estrutura de diretório físico sem seguir os links simbólicos. Em outras palavras, mude para o diretório especificado se ele realmente existir como nomeado; links simbólicos não serão seguidos. Esta opção é o oposto da opção -L e, se ambas forem especificadas, essa opção será ignorada. |
-e | Se a opção -P for especificada e o diretório de trabalho atual não puder ser determinado, essa opção informa ao cd para sair com um erro. Se -P não for especificado junto com esta opção, essa opção não terá função. |
Diretórios
Para ajudá-lo a organizar seus arquivos , seu sistema de arquivos contém arquivos especiais chamados diretórios . Pense neles como pastas em um arquivo: eles têm nomes, como arquivos, mas sua função é “conter” outros arquivos e outros diretórios. Dessa forma, você pode manter os arquivos em seu sistema separados e classificados de acordo com a função ou finalidade deles.
Todos os arquivos e diretórios em seu sistema derivam de um diretório principal: o diretório raiz . Não há diretórios “acima” do diretório raiz; todos os outros diretórios estão “abaixo” do diretório raiz.
Qualquer diretório contido em outro diretório é chamado de subdiretório . Os subdiretórios “ramificam” a “raiz” do diretório “árvore”. Diferente de uma árvore real, as árvores de diretório estão de cabeça para baixo: a raiz está no topo e os galhos se estendem para baixo. Quando você se move para um subdiretório, está movendo “para baixo” a árvore; quando você se move para o diretório pai de um diretório, está “subindo” a árvore.
Todos os diretórios em seu sistema de arquivos são subdiretórios do diretório raiz.
NotaPor padrão, quando você abre um terminal e começa a usar a linha de comando, você é colocado no seu diretório pessoal .
Como os diretórios são representados
Os diretórios são separados por uma barra (” / “). Por exemplo, o nome do diretório ” documents / work / accounting ” significa “o diretório chamado accounting , que está no diretório chamado work , que está no diretório chamado documents , que está no diretório atual “.
Para mudar para esse diretório e torná-lo nosso diretório de trabalho, usaríamos o comando:
cd documents/work/accounting
Se o primeiro caractere de um nome de diretório for uma barra, isso indica que o caminho do diretório começa no diretório raiz. Portanto, ao contrário do exemplo acima, o nome do diretório ” / documents / work / accounting ” (observe a barra inicial) significa “o diretório chamado accounting , que está no diretório chamado work , que está no diretório chamado documents , que está no diretório raiz “.
Para mudar para esse diretório, tornando-o nosso diretório de trabalho, usaríamos o comando:
cd /documents/work/accounting
O diretório raiz
O diretório raiz é o primeiro diretório na hierarquia do sistema de arquivos. Todos os outros diretórios são subdiretórios do diretório raiz.
O diretório raiz é representado por uma única barra (” / “).
Para mudar para o diretório raiz, tornando-o seu diretório de trabalho, use o comando:
cd /
CuidadoVocê não poderá fazer alterações no diretório raiz do seu sistema, a menos que esteja conectado como root ou usando o comando sudo . A menos que você tenha certeza do que está fazendo, não faça alterações aqui. Cometer um erro pode destruir seu sistema!
O diretório de trabalho
O diretório atual, independentemente de qual diretório, é representado por um único ponto (” .” ).
Então, executando este comando:
cd.
… nos mudaria para o diretório atual. Em outras palavras, não faria nada.
O que realmente está acontecendo é que o ponto representa o diretório “assumido”; é um espaço reservado e você pode usar o ponto em qualquer lugar do nome do diretório. Então, o comando:
cd documents
… é o mesmo que o comando:
cd ./documents
… e também o mesmo que:
cd documents/.
…assim como:
cd ./documents/.
Em todos esses exemplos, o ponto representa “o diretório que se supõe estar lá”. Você pode usá-lo como um espaço reservado em qualquer lugar que desejar informar ao shell que um diretório está nesse local e assumir o valor apropriado.
O diretório pai
O diretório pai do diretório atual – em outras palavras, o diretório um nível acima do diretório atual, que contém o diretório em que estamos agora – é representado por dois pontos (” .. “).
Portanto, se estivéssemos no diretório / home / nome de usuário / documentos , e executamos o comando:
cd ..
… seríamos colocados no diretório / home / nome de usuário .
A notação de diretório de ponto duplo (“..”) pode ser usada em qualquer lugar de um nome de diretório para representar a subida de um nível. Por exemplo, se tivermos dois diretórios, / home / nome de usuário / documentos e / home / nome de usuário / downloads , e estivermos atualmente em / home / nome de usuário / documentos , poderemos digitar o seguinte:
cd ../downloads
… e seríamos colocados em / home / nome de usuário / downloads .
Outro comando “inútil”, mas que ilustra como você pode usar a notação de ponto duplo, é este:
documentos em cd / ..
… que nos colocará no diretório um nível acima dos documentos do subdiretório – em outras palavras, o diretório atual. Observe que isso só funcionará se os documentos do subdiretório já existirem.
Da mesma forma, o comando:
documentos em cd /../ documentos
… é funcionalmente o mesmo que este comando:
documentos em cd
O seu diretório pessoal
Seu diretório pessoal é o diretório em que você está inserido, por padrão, quando você abre uma nova sessão de terminal. É o diretório que contém todas as suas configurações, e-mail, pasta padrão de documentos e downloads e outros itens pessoais. Possui uma representação especial: um til (” ~ “).
Portanto, se nosso nome de usuário for nome de usuário e nosso diretório pessoal for / home / nome de usuário , o comando:
cd ~
… é funcionalmente o mesmo que o comando:
cd / home / nome de usuário
… e sempre podemos acessar os subdiretórios do diretório inicial, colocando o til como o primeiro componente do nome do diretório. Por exemplo, se sua pasta de documentos é nomeada / home / nome de usuário / documentos , você sempre pode ir para esse diretório usando o comando:
cd ~ / documentos
O diretório de trabalho anterior
Depois de alterar o diretório, você pode voltar ao diretório de trabalho anterior, representando-o com um traço (” – “). Quando você fizer isso, o shell informará automaticamente o novo nome de diretório.
Então, por exemplo:
cd ~
pwd
/ home / esperança
cd Documentos / financeiro
pwd
/ home / hope / Documentos / financeiro
cd -
/ home / esperança
pwd
/ home / esperança
Usando uma barra à direita
Usar uma barra no final de um nome de diretório é opcional. Os diretórios são tratados como arquivos, portanto você não precisa colocá-lo lá; mas se você colocá-lo lá, o sistema sabe com certeza que você espera que esse arquivo seja um diretório. Por exemplo, se houver um subdiretório no diretório atual chamado dirname , o comando:
cd dirname
… é o mesmo que o comando:
cd dirname /
A segunda forma do comando afirma explicitamente que dirname é um diretório, mas ambos os comandos são equivalentes.
Exemplos
cd esperança
O exemplo acima alteraria o diretório de trabalho para o subdiretório esperança, se existir.
cd ../computerhope
O exemplo acima passaria um nível acima para o diretório pai e depois para o diretório computerhope .
cd ../../
Percorra dois diretórios na árvore de diretórios. Em outras palavras, vá para o diretório que contém o diretório que contém o diretório de trabalho atual.
Comandos relacionados
pwd – Imprime o nome do diretório de trabalho.
ln – Crie um link, ou um link simbólico, para um arquivo ou diretório.
mkdir – Crie um diretório.
rmdir – Remove um diretório.