Wiil fazei isto ?:alias cmd5 = "cd ../../../../../"
ypercubeᵀᴹ
Bem, suponho que eu possa escrevê-los por 1 a 10 ou mais, mas seria bom ter uma maneira inteligente de fazê-lo. Isso realmente não está certo comigo. Fará isso se nenhuma outra solução surgir, no entanto.
Respostas:
16
Coloque isso no seu ~/.bashrc:
cdup(){
levels=${1-1}while((levels--));do
cd ..done}
(O nome cdupvem do comando FTP correspondente, apenas FYI.)
Obrigado pela resposta, foi com a resposta do jleedev por ser 1 linha mais curta e eu não conseguia decidir quem escolheria! Obrigado mesmo assim!
@ Muu: Ambas as respostas funcionarão, mas as minhas funcionarão para muitos, muitos níveis, e as @ jleedev só funcionarão para um pequeno punhado (seja qual for o limite da pilha). ;-) (eu tenho certeza que você nunca vai atingir o limite de qualquer forma, mas a minha é mais geral, é o que estou tentando chegar :-).)
Chris Jester-Young
Ponto justo, eu lhe dei a resposta então. Jleedev Desculpe - embora provavelmente vou continuar a usar a sua solução como eu vou esquecer de mudá-lo :)
11
Fui ensinado a usar 'pushd' e 'popd' em tais circunstâncias.
Por exemplo, digite 'pushd'. e depois 'cd / home'. Agora digite 'popd' e você voltará para onde começou.
'pushd' / 'popd' é uma pilha, você pode enviar quantos diretórios quiser, mas é o último a ser ativado, primeiro quando você faz o pop-up.
cd -
mude de volta para o último diretório em que você estava. Eu uso isso o tempo todo para ir do fundo da minha árvore de código à raiz dela ... embora isso só funcione se você fizer o cd em uma mudança.
cdd old new
Esta foi uma função de script que eu escrevi no passado que usei para mover-me entre árvores semelhantes. Basicamente, foram necessários dois argumentos e fizeram uma regexp no seu caminho, ótimo para se movimentar entre galhos e coisas do tipo. Por exemplo, se você estivesse em ~ / bzr / web / trunk / path / to / feature e precisasse acessar ~ / bzr / web / feature-branch / path / to / feature, você faria isso cdd trunk feature-branch. A implementação que eu tinha estava em uma linguagem arcaica do shell no AIX, mas era bastante trivial, portanto, deve ser fácil de implementar no shell de sua escolha, se você precisar. Para nós, isso foi muito útil porque a estrutura parecia: ... / {product} / {version} / {release} / {src, bld, dbg, pkg, tst} / {component} / ... tão movimentada naquela árvore ficou louca bem rápido.
ls
? Certamente você quer dizercd
?alias cmd5 = "cd ../../../../../"
Respostas:
Coloque isso no seu
~/.bashrc
:(O nome
cdup
vem do comando FTP correspondente, apenas FYI.)fonte
Fui ensinado a usar 'pushd' e 'popd' em tais circunstâncias.
Por exemplo, digite 'pushd'. e depois 'cd / home'. Agora digite 'popd' e você voltará para onde começou.
'pushd' / 'popd' é uma pilha, você pode enviar quantos diretórios quiser, mas é o último a ser ativado, primeiro quando você faz o pop-up.
fonte
Claro, por que não:
fonte
up 500
. :-)Rapido e sujo:
Formulado para alterar o diretório apenas uma vez.
fonte
Aqui está uma maneira alternativa:
fonte
Você pode querer usar
pushd
epopd
definir marcadores de local e voltar para lá facilmente de qualquer diretório para o qual você mudou.Você também pode definir uma variável com o nome de um diretório que você usa muito e, em seguida, CD lá:
fonte
Eu uso o autojump, que me permite digitar:
pode aprender com seus hábitos e é muito leve (e viciante;))
fonte
Crie o caminho usando
printf
entãocd
para ele:Use como:
fonte
Dois pensamentos que podem ser úteis para você:
cd -
mude de volta para o último diretório em que você estava. Eu uso isso o tempo todo para ir do fundo da minha árvore de código à raiz dela ... embora isso só funcione se você fizer o cd em uma mudança.
cdd old new
Esta foi uma função de script que eu escrevi no passado que usei para mover-me entre árvores semelhantes. Basicamente, foram necessários dois argumentos e fizeram uma regexp no seu caminho, ótimo para se movimentar entre galhos e coisas do tipo. Por exemplo, se você estivesse em ~ / bzr / web / trunk / path / to / feature e precisasse acessar ~ / bzr / web / feature-branch / path / to / feature, você faria isso
cdd trunk feature-branch
. A implementação que eu tinha estava em uma linguagem arcaica do shell no AIX, mas era bastante trivial, portanto, deve ser fácil de implementar no shell de sua escolha, se você precisar. Para nós, isso foi muito útil porque a estrutura parecia: ... / {product} / {version} / {release} / {src, bld, dbg, pkg, tst} / {component} / ... tão movimentada naquela árvore ficou louca bem rápido.fonte