No terminal, como posso definir uma chave para ir para o diretório anterior em que eu estava ao mudar de diretório com o cd
comando?
Por exemplo, eu estou em /opt/soft/bin
e eu cd
em /etc/squid3
e eu quero voltar para o primeiro diretório.
No terminal, como posso definir uma chave para ir para o diretório anterior em que eu estava ao mudar de diretório com o cd
comando?
Por exemplo, eu estou em /opt/soft/bin
e eu cd
em /etc/squid3
e eu quero voltar para o primeiro diretório.
Respostas:
Você pode usar
cd -
ou você poderia usar
cd $OLDPWD
cd -
. Por exemplo, quando você digita, cd /usr/local
sabe que está /usr/loal
, mas quando digita cd -
nem sempre se lembra de qual diretório veio. Por isso, evita que você digite cd -; pwd
. Mas isso é tudo especulação.
alias -- -='cd -'
e use -
(1 caractere) em vez de cd -
(4 caracteres). Mais rápido:D
cd -
duas vezes. Você cd /; cd /usr; cd -; cd -
deve estar em /usr
. Mas talvez eu não tenha entendido sua pergunta.
As outras respostas são definitivamente completas no sentido de resposta direta. cd -
e cd $OLDPWD
são definitivamente as principais opções para isso. No entanto, muitas vezes acho que entrar em um fluxo de trabalho pushd
e popd
funcionar melhor.
Para encurtar a história, se você estiver mudando para um diretório com a intenção final de voltar para onde começou, use pushd
/ popd
.
A principal diferença é facilmente mostrada por um exemplo.
$ cd dir1
$ pushd dir2
Neste ponto, você tem uma pilha de diretórios que é dir2, dir1
. A execução pushd
sem argumentos o colocará de volta na dir1
pilha agora como dir1, dir2
. popd
faria o mesmo, mas deixaria uma pilha de diretórios vazia. Isso não é muito diferente de como você seria no cd -
fluxo de trabalho.
No entanto, agora você pode alterar os diretórios várias vezes e voltar ao dir1
. Por exemplo,
$ cd dir1
$ pushd dir2
$ cd dir3
Se você executar popd
nesse ponto, retornará para dir1
.
pushd
e voltar repetidamente para a pasta anterior enquanto estiver popd
pressionando -ing.
dirs -v
, mas a realidade para mim é que geralmente o caso simples é tudo o que realmente uso. (Ou, pior, cometo um erro ao tentar push +2
ou algo parecido) Além disso, pensei em passos pequenos para convencer alguém a experimentar o fluxo de trabalho. :)
cd
chega ao topo da pilha sem aparecer?
Você deveria usar:
cd ~-
faz o mesmo que cd -
(da resposta atualmente aceita) sem o eco irritante do diretório e é mais fácil digitar que cd "$OLDPWD"
ou cd - > /dev/null
.
alias -- -='cd "$OLDPWD"'
usar -
(1 caractere) em vez de cd ~-
(5 caracteres). :)
cd ~-/..
funciona, mas cd -/..
não!
Você pode "definir uma chave" para 'cd -' editando o arquivo '~ / .bashrc' e incluindo um alias para o comando. Por exemplo, você pode adicionar 'cdc' para torná-lo 'cd -', o que forneceria uma maneira mais curta de chegar ao último diretório adicionando:
alias cdc='cd -'
Dessa forma, você simplesmente digitaria 'cdc' e o colocaria em seu último diretório de trabalho.
bind '"\e[24~":"\C-k \C-ucd -\n"'
(ou, de preferência, mova-o para o inputrc
arquivo conforme mencionado na resposta).