Je vais constamment 'cd ../../../../'. Y a-t-il une commande / alias qui pourrait me laisser aller 'cmd 4' et je serais repris 4 répertoires?
alias cmd5 = "cd ../../../../../"
Je vais constamment 'cd ../../../../'. Y a-t-il une commande / alias qui pourrait me laisser aller 'cmd 4' et je serais repris 4 répertoires?
alias cmd5 = "cd ../../../../../"
Réponses:
Mettez ceci dans votre ~/.bashrc
:
cdup() {
levels=${1-1}
while ((levels--)); do
cd ..
done
}
(Le nom cdup
vient de la commande FTP correspondante, juste FYI.)
On m'a appris à utiliser «pushd» et «popd» dans de telles circonstances.
Par exemple, tapez «pushd». puis 'cd / home'. Tapez maintenant «popd» et vous serez de retour à l'endroit où vous avez commencé.
'pushd' / 'popd' est une pile, vous pouvez y pousser autant de répertoires que vous le souhaitez, mais c'est le dernier, tout d'abord lorsque vous popdez.
Bien sûr, pourquoi pas:
up () { [$ # = 0] && cd .. && retour [$ 1 = 0] && retour cd .. && up $ (($ 1 - 1)) }
up 500
. :-)
Rapide et sale:
cmd () { dir=.; for i in $(seq 1 $1); do dir=$dir/..; done; pushd $dir; }
Formulé pour ne changer de répertoire qu'une seule fois.
Vous voudrez peut-être étudier l'utilisation pushd
et la popd
définition de marqueurs d'emplacement et y revenir facilement à partir du répertoire dans lequel vous avez changé.
Vous pouvez également définir une variable avec le nom d'un répertoire que vous utilisez beaucoup, puis y insérer un CD:
MYPROJ=~/projects/name/src
cd $MYPROJ
proj1='cd $MYPROJ'
J'utilise autojump qui me permet de taper:
j h
>> /home/cjulien
j et
>> /etc
il peut apprendre de vos habitudes et est très léger (et addictif;))
Deux réflexions qui pourraient vous être utiles:
cd -
revenez au dernier répertoire dans lequel vous vous trouviez. Je l'utilise tout le temps pour revenir du plus profond de mon arbre de code à la racine de celui-ci ... bien que cela ne fonctionne que si vous y êtes entré en un seul changement.
cdd old new
c'était une fonction de script que j'avais écrite dans le passé et que j'utilisais pour me déplacer entre des arbres similaires. Fondamentalement, il a fallu deux arguments et a fait une expression rationnelle sur votre chemin, idéal pour se déplacer entre les branches et autres. Par exemple, si vous étiez dans ~ / bzr / web / trunk / path / to / feature et que vous deviez accéder à ~ / bzr / web / feature-branch / path / to / feature, vous le feriez cdd trunk feature-branch
. L'implémentation que j'avais était dans un langage shell archaïque sur AIX, mais c'était assez trivial, donc devrait être facile à implémenter dans le shell de choix si vous en avez besoin. Pour nous, c'était très utile car la structure ressemblait à: ... / {produit} / {version} / {release} / {src, bld, dbg, pkg, tst} / {component} / ... donc se déplacer dans cet arbre est devenu fou assez rapidement.
ls
? Tu veux dire sûrementcd
?