Eu estou constantemente 'cd ../../../../'. Existe um comando / alias que poderia me deixar ir 'cmd 4' e eu receberia de volta 4 diretórios?
alias cmd5 = "cd ../../../../../"
Eu estou constantemente 'cd ../../../../'. Existe um comando / alias que poderia me deixar ir 'cmd 4' e eu receberia de volta 4 diretórios?
alias cmd5 = "cd ../../../../../"
Respostas:
Coloque isso no seu ~/.bashrc
:
cdup() {
levels=${1-1}
while ((levels--)); do
cd ..
done
}
(O nome cdup
vem do comando FTP correspondente, apenas FYI.)
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.
Claro, por que não:
acima() { [$ # = 0] && cd .. && return [$ 1 = 0] e retorno cd .. && up $ (($ 1 - 1)) }
up 500
. :-)
Rapido e sujo:
cmd () { dir=.; for i in $(seq 1 $1); do dir=$dir/..; done; pushd $dir; }
Formulado para alterar o diretório apenas uma vez.
Você pode querer usar pushd
e popd
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á:
MYPROJ=~/projects/name/src
cd $MYPROJ
proj1='cd $MYPROJ'
Eu uso o autojump, que me permite digitar:
j h
>> /home/cjulien
j et
>> /etc
pode aprender com seus hábitos e é muito leve (e viciante;))
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.
ls
? Certamente você quer dizercd
?