Como usar o comando cd no Linux

Alguns comandos do Linux são tão familiares que nem percebemos que os estamos usando. O comando cd para alterar os diretórios é um deles. Existem alguns truques que podem ajudá-lo a se tornar mais eficiente com o cd – ou você pode abandoná-lo completamente.

Um comando em que você raramente pensa

Você pisca o dia todo, todos os dias, mas, na maioria das vezes, não tem consciência disso. A menos que algo entre em seus olhos, você raramente pensa naquele pequeno movimento regular. Alguns comandos do Linux são assim. Eles pairam na periferia de sua consciência. Mesmo que você os use diariamente, eles não chamam sua atenção porque são muito pequenos e simples.

Na primeira hora de uso de um computador Linux, você aprende como usar o comando cd incluído com o Bash e outros shells. Talvez você tenha experiência anterior em usá-lo em outro sistema operacional e não precise de uma explicação. Ele muda o diretório de trabalho atual, certo? O que mais há para saber?

Bem, mais do que você pensa. Aqui estão algumas dicas e sugestões que podem melhorar sua eficiência.

As operações de cd padrão

Para ficarmos completos, vamos examinar rapidamente os usos padrão do cd.

Se estivermos no diretório inicial, mas quisermos mudar para um localizado em / usr / lib / firefox / browser e, em seguida, retornar ao diretório inicial, podemos usar os seguintes comandos:

cd /usr/lib/firefox/browser/
cd /home/dave

Você não precisa digitar todo o caminho do diretório; você pode usar o preenchimento automático. Para cada parte de um caminho, depois de digitar letras suficientes para distinguir o nome do diretório dos outros, pressione Tab para preencher automaticamente o nome do diretório.

Por exemplo, digite o seguinte na linha de comando:

cd /usr/lib/fire

Agora, pressione Tab e o shell preencherá o restante do diretório “firefox” para você. Se você adicionar “/ b” ao caminho e pressionar Tab novamente, o diretório “navegador” será adicionado ao comando.

O shell adiciona uma barra final para que você possa repetir o processo de preenchimento com tabulação. É também por isso que há uma barra final no primeiro comando. Não há um no segundo porque esse foi digitado.

Você pode usar o til (~) como uma forma abreviada de retornar rapidamente ao diretório inicial de qualquer lugar no sistema de arquivos; basta digitar o seguinte:

cd ~

O

Estes são exemplos de caminhos absolutos, nos quais você fornece o caminho completo desde a raiz do sistema de arquivos até o diretório de destino, até o cd.

Os caminhos relativos são referenciados a partir do diretório de trabalho atual. No diretório inicial, existe um diretório chamado trabalho. Você pode usar o comando tree para veja a árvore de diretórios dentro do diretório de trabalho – basta digitar o seguinte:

tree

O

O diretório de trabalho contém um diretório chamado dev. Também existe um diretório chamado dev no diretório raiz do sistema de arquivos. Você pode usar ls com -d (diretório) para examinar cada um deles. A opção -hl (legível por humanos, lista longa) diz ao ls para usar unidades fáceis de ler para os tamanhos de diretório e a lista de formatos longos.

Se você digitar dev, o shell assume que você quer dizer “dev” no diretório atual. Para forçá-lo a olhar para o “dev” no diretório raiz, basta adicionar uma barra inicial para representar a raiz do sistema de arquivos, conforme mostrado abaixo:

ls -d dev -hl
ls -d /dev -hl

O

O comando cd se comporta como ls nesse aspecto. Se você referenciar o diretório como dev, conforme mostrado abaixo, isso supõe que você se refere ao diretório no diretório de trabalho:

cd dev

O

Sem uma barra inicial, caminhos mais longos são assumidos para iniciar a partir do diretório de trabalho atual, também, conforme mostrado abaixo:

cd dev/mobile/android

O

Mudando o Diretório com Ponto Duplo

O identificador de ponto duplo representa o diretório pai do atual de trabalho. Se você estiver em um subdiretório profundamente aninhado, você pode usar .. com cd para mover para o diretório pai daquele em que você está.

Isso move dois diretórios para cima na árvore de diretórios. Se você adicionar mais .. ao comando, ele permite que você mova um número arbitrário de níveis para cima na árvore de diretórios.

Digite o seguinte:

cd ..
cd ../..

O

Você também pode criar um conjunto de aliases para realizar essas manobras para você, digitando o seguinte:

alias .2="cd ../.."
alias .3="cd ../../.."

O alias .2 =

Você pode usá-los da mesma forma que os próprios comandos.

alias .2 =

Para tornar os aliases consistentes nas reinicializações de seu computador, você deve adicioná-los ao seu arquivo .bashrc ou .bash_aliases.

Salte facilmente entre dois diretórios

O hífen (-) é outro símbolo que tem uma função especial. Ele muda seu diretório de volta para aquele de onde você acabou de sair.

Para este exemplo, digamos que você esteja no diretório “c”. Você pode usar cd para mudar para o diretório “adiante”. Então, você pode usar cd – para saltar para frente e para trás entre os dois diretórios.

Para fazer isso, você digita o seguinte:

cd ../forth

CD –

CD –

O 

O nome do diretório para o qual você está se movendo aparece antes de você entrar nele.

Outro tipo de parente

O shell usa o diretório de trabalho atual como “raiz” ou diretório base para caminhos relativos. Você pode usar a variável de ambiente CDPATH para definir outro local como o diretório base para caminhos relativos. Se você passa a maior parte do tempo em uma determinada seção da árvore do sistema de arquivos, isso pode economizar muitos toques no teclado (e tempo) todos os dias.

Vamos digitar o seguinte para tornar work / dev / projects o diretório base para caminhos relativos:

export CDPATH=/home/dave/work/dev/projects

O

Agora, cada vez que você usa o comando dc, o local na variável de ambiente CDPATH é verificado primeiro para nomes de diretório correspondentes. Se algum deles corresponder ao destino fornecido no comando cd, você será transferido para esse diretório.

Agora, independentemente de onde você esteja no sistema de arquivos, ao usar o comando cd, o shell verifica se o diretório de destino está localizado no diretório base. Se for, você será movido para esse diretório de destino.

Se o seu diretório de destino começar com uma barra (/), o que o torna um caminho absoluto, ele não será afetado pela variável de ambiente CDPATH.

Para demonstrar isso, digitamos o seguinte:

cd c
cd prolog
cd /usr
cd forth

O

A variável de ambiente CDPATH é realmente um caminho, assim como a variável de ambiente PATH. Quando você digita um comando, o shell procura os locais no PATH por uma correspondência. Quando você usa CDPATH, o shell pesquisa os locais na variável de ambiente CDPATH em busca de uma correspondência. Além disso, da mesma forma que PATH, CDPATH pode conter vários locais.

Para que o shell pesquise o diretório atual antes de outros locais na variável de ambiente CDPATH, basta adicionar um ponto (.) No início do caminho, assim:

export CDPATH=.:/home/dave/work/dev/projects

Para tornar suas configurações permanentes, você deve adicioná-las a um arquivo de configuração, como .bashrc.

Uma coisa a ser observada: se você definir um diretório base, isso também afetará as mudanças de diretório executadas nos scripts. Para evitar isso, você pode usar caminhos absolutos em seus scripts ou um teste em seu arquivo .bashrc ao especificar seu CDPATH, conforme mostrado abaixo:

if test “${PS1+set}”; then CDPATH=.:/home/dave/work/dev/projects; fi

Isso executa um teste para ver se a variável do prompt da linha de comando, $ PS1, foi definida. A variável de ambiente CDPATH só será definida se o teste for bem-sucedido.

Usando shopt com cd

Com o comando shopt, você pode definir certas opções para o shell. Alguns deles podem melhorar o uso do cd. Para defini-los, você usa a opção -s (ativar) com shopt para passar um nome de opção para ele.

A opção cdspell verifica os nomes dos seus diretórios e corrige alguns erros comuns de digitação, incluindo caracteres transpostos ou ausentes, ou nomes com muitos caracteres. Se encontrar um diretório que corresponda a qualquer uma das correções, o caminho corrigido é impresso e a ação cd ocorre.

Como exemplo, digitamos o seguinte para definir a opção cdspell e soletrar incorretamente “Desktop” para ver se o shell corrige para nós:

shopt -s cdspell
cd Desktpo

O

O shell detectou o erro, corrigiu-o e mudou para o diretório “Desktop”.

Outra opção do shopt que você pode usar com o cd é o autocd. Isso elimina a necessidade de digitar cd. Qualquer coisa que você digitar que não seja um comando, script ou outro executável (como um alias), é usado como um diretório de destino. Se você puder transferir para esse diretório, ele será impresso na janela do terminal e você será alterado para esse diretório.

Como exemplo, digitamos o seguinte:

shopt -s autocd
/usr/local/games
/etc
~

O

Ver! Você pode saltar por todo o sistema de arquivos, mesmo sem usar o cd!

As configurações que você altera com o shopt afetam apenas os shells interativos, não os scripts.

A coleção de cd

Você provavelmente não vai adotar todos eles. No entanto, é provável que você tenha encontrado algo de interesse ou benefício aqui. Afinal, qualquer coisa que acelere ou simplifique sua navegação pela linha de comando é ótimo!