Alguns comandos do Linux são tão familiares que nem percebemos que os estamos usando. O cd
comando para alterar diretórios é um destes. Existem alguns truques que podem ajudá-lo a se tornar mais eficiente com cd
– ou você pode abandoná-los completamente.
Índice
Um comando em que você raramente pensa
Você pisca o dia todo, todos os dias, mas, na maioria das vezes, não percebe. 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 a usar o cd
comando 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 de cd
.
Se estivermos no diretório inicial, mas quisermos mudar para um localizado em /usr/lib/firefox/browser
e depois 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 conclusão da 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 ~
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 cd
.
Os caminhos relativos são referenciados a partir do diretório de trabalho atual. No diretório inicial, existe um diretório chamado work
. Você pode usar o tree
comando para ver a árvore de diretórios dentro do work
diretório – basta digitar o seguinte:
árvore
O work
diretório 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 usarls
com -d
(diretório) para examinar cada um deles. A opção -hl
(legível por humanos, lista longa) diz ls
para usar unidades fáceis de ler para os tamanhos de diretório e a lista de formato longo.
Se você digitar dev
, o shell assume que você quer dizer o “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 cd
comando se comporta como a ls
este respeito. Se você referenciar o diretório como dev
mostrado abaixo, isso pressupõe que você se refere ao diretório no work
diretório:
cd dev
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
RELACIONADOS: 15 caracteres especiais que você precisa saber para o Bash
Mudando o diretório com duplo ponto
O identificador de ponto duplo representa o diretório pai do atual de trabalho. Se você estiver em um subdiretório profundamente aninhado, poderá usar ..
com cd
para mover para o diretório pai daquele em que você está.
Isso move você dois diretórios para cima na árvore de diretórios. Se você adicionar mais ..
ao comando, isso permite que você mova um número arbitrário de níveis para cima na árvore de diretórios.
Digite o seguinte:
cd ..
cd ../ ..
Você também pode criar um conjunto de aliases para realizar essas manobras para você, digitando o seguinte:
alias .2 = "cd ../ .."
alias .3 = "cd ../../ .."
Você pode usá-los da mesma forma que os próprios comandos.
Para tornar os aliases consistentes nas reinicializações do 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”. Em seguida, 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 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 CDPATH
variável de ambiente 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 criar work/dev/projects
o diretório base para caminhos relativos:
exportar CDPATH = / home / dave / work / dev / projects
Agora, cada vez que você usa o dc
comando, o local na variável deCDPATH
ambiente é verificado primeiro para nomes de diretório correspondentes. Se algum deles corresponder ao destino fornecido no comando, você será transferido para esse diretório.cd
Agora, independentemente de onde você esteja no sistema de arquivos, ao usar o cd
comando, 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 seu diretório de destino começar com uma barra ( /
), o que o torna um caminho absoluto, ele não será afetado pela CDPATH
variável de ambiente.
Para demonstrar isso, digitamos o seguinte:
CDC
cd prólogo
cd / usr
cd adiante
A CDPATH
variável de ambiente é realmente um caminho, assim como a PATH
variável de ambiente . Quando você digita um comando, o shell pesquisa os locais no em PATH
busca de uma correspondência. Quando você usa CDPATH
, o shell pesquisa os locais na CDPATH
variável de ambiente por uma correspondência. Além disso, o mesmo que PATH
, CDPATH
pode conter vários locais.
Para que o shell pesquise o diretório atual antes de outros locais na CDPATH
variável de ambiente, 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 .bashrc
arquivo 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 CDPATH
variável de ambiente só será definida se o teste for bem-sucedido.
Usando shopt com cd
Com o shopt
comando , você pode definir certas opções para o shell. Alguns deles podem melhorar o uso do cd
. Para defini-los, você usa a -s
opção (ativar) com shopt
para passar um nome de opção para ele.
A cdspell
opção verifica os nomes dos 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 será impresso e a cd
ação será executada.
Como exemplo, digitamos o seguinte para definir a cdspell
opção e soletramos incorretamente “Desktop” para ver se o shell corrige isso para nós:
shopt -s cdspell
cd Desktpo
O shell detectou o erro, corrigiu-o e mudou para o diretório “Desktop”.
Outra shopt
opção que você pode usar cd
é autocd
. Ele 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
~
Vejo! Você pode saltar por todo o sistema de arquivos, mesmo sem usar cd
!
As configurações alteradas shopt
afetam apenas shells interativos, não scripts.
A coleção de cd
Você provavelmente não vai adotar tudo isso. 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 de linha de comando é bom!