Vado costantemente 'cd ../../../../'. Esiste un comando / alias che potrebbe lasciarmi andare 'cmd 4' e verrei portato indietro di 4 directory?
alias cmd5 = "cd ../../../../../"
Vado costantemente 'cd ../../../../'. Esiste un comando / alias che potrebbe lasciarmi andare 'cmd 4' e verrei portato indietro di 4 directory?
alias cmd5 = "cd ../../../../../"
Risposte:
Metti questo nel tuo ~/.bashrc:
cdup() {
levels=${1-1}
while ((levels--)); do
cd ..
done
}
(Il nome cdupderiva dal comando FTP corrispondente, solo FYI.)
Mi è stato insegnato a usare "pushd" e "popd" per tali circostanze.
Ad esempio, digitare "pushd". e poi 'cd / home'. Ora digita "popd" e tornerai al punto di partenza.
'pushd' / 'popd' è uno stack, puoi inserire tutte le directory che vuoi, ma è l'ultima, prima di tutto quando fai il pop-up.
Certo, perché no:
su() {
[$ # = 0] && cd .. && return
[$ 1 = 0] && return
cd .. && up $ (($ 1 - 1))
}
up 500. :-)
Veloce e sporco:
cmd () { dir=.; for i in $(seq 1 $1); do dir=$dir/..; done; pushd $dir; }
Formulato per cambiare directory una sola volta.
Potresti voler esaminare l'utilizzo pushde popdimpostare i marcatori di posizione e tornare facilmente da qualsiasi directory in cui sei stato modificato.
Puoi anche impostare una variabile con il nome di una directory che usi molto, quindi CD lì:
MYPROJ=~/projects/name/src
cd $MYPROJ
proj1='cd $MYPROJ'
Uso l' autojump che mi consente di digitare:
j h
>> /home/cjulien
j et
>> /etc
può imparare dalle tue abitudini ed è molto leggero (e avvincente;))
Due pensieri che potrebbero esserti utili:
cd -
torna all'ultima directory in cui ti trovavi. Lo uso sempre per andare dal profondo del mio albero di codice alla radice di esso ... anche se funziona solo se lo hai inserito in un CD modificare.
cdd vecchio nuova
questa era una funzione di script che avevo scritto in passato che ho usato per muoversi tra gli alberi simili. Fondamentalmente ha preso due argomenti e ha fatto una regexp sul tuo percorso, ottimo per muoversi tra i rami e simili. Ad esempio, se tu fossi in ~ / bzr / web / trunk / path / to / feature e avessi bisogno di arrivare a ~ / bzr / web / feature-branch / path / to / feature, lo faresti cdd trunk feature-branch. L'implementazione che avevo era in un linguaggio shell arcaico su AIX, ma era piuttosto banale, quindi dovrebbe essere facile da implementare nella shell di scelta se ne hai bisogno. Per noi è stato molto utile perché la struttura sembrava: ... / {product} / {version} / {release} / {src, bld, dbg, pkg, tst} / {component} / ... così spostarsi in quell'albero è diventato pazzo abbastanza in fretta.
ls? Sicuramente intendicd?