J'utilise souvent cd -
Pour retourner là où j'étais. Comment puis-je faire cela plusieurs fois à Bash? Ou si ZSH ou un autre outil support-t-il?
Dans ZSH, il y a un auto_pushd
option. Cette option fait cd
se comporter comme pushd
. Ensuite, vous pouvez simplement utiliser popd
pour revenir à des annuaires précédents.
~ $ setopt auto_pushd
~ $ cd /
/ $ cd /var
/var $ cd /usr
/usr $ dirs
/usr /var / ~
/usr $ popd
/var $ popd
/ $ popd
~ $
Dans Bash, vous pouvez alias cd
à pushd
.
alias cd=pushd
L'un des inconvénients de ceci est que vous perdrez cd
-trois drapeaux. À partir de l'entrée d'aide cd
:
-L force des liens symboliques à suivre
[.____] - p utilise la structure du répertoire physique sans suivre des liens symboliques
[.____] - E Si l'option -p est fournie et que le répertoire de travail actuel ne peut pas être déterminé avec succès, quittez-le avec un statut non nul.
Si vous avez déjà besoin d'utiliser le réel cd
intégré au lieu de l'alias, vous pouvez utiliser l'un d'entre eux:
'cd'
- citant la commande permet de ne pas résoudre l'alias et n'utilisez pas le CD normal.\cd
- Personnel des cimes du dos. Si vous citez un seul caractère d'un mot, la coquille traite le mot entier comme cité.builtin cd
- Cela indique directement à la coquille d'utiliser le bâtiment au lieu de l'alias.Voici une solution rapide et sale pour les annuaires de signet et le sauter facilement:
$ a() { alias $1="cd $PWD"; }
Allez quelque part et tapez:
$ a 1
Vous avez maintenant une commande appelée 1
qui fait cd
le répertoire actuel en ce moment. Plus tard, tapez juste:
$ 1
Et Presto, retour à ce répertoire. Je trouve cela très utile.
J'ai trouvé un script qui a résolu ce problème pour moi. Avec cela, vous pouvez taper cd --
Pour voir les 10 derniers répertoires que vous avez utilisés. Ça va chercher quelque chose comme ça:
0 ~/Documents/onedir
1 ~/Music/anotherdir
2 ~/Music/thirddir
3 ~/etc/etc
Aller à ~/Music/thirddir
Juste Type cd -2
http://www.geocities.com/h2428/pettar/bash_acd.htm
oh-My-ZSH fournit une très belle fonctionnalité pour cela (au moins je pense que c'est Oh-My-ZSH qui l'établit).
Fondamentalement, d
est aliasé à dirs -v | head -10
dirs
est une commande intégrée ZSH et montre les derniers répertoires que vous avez allés.
Aussi, 1
est aliasé à cd -1
Et ainsi de suite pour tous les chiffres à 9
.
En pratique, cela fonctionne comme ceci:
$ pwd
/home/me/Documents/gems/Java_regex/lib
$ d
0 ~/Documents/gems/Java_regex/lib
1 ~/Documents/gems/Java_regex
2 ~/Documents/gems
3 ~/Documents
4 ~
$ 2
~/Documents/gems
$ pwd
/home/me/Documents/gems
Vous pouvez utiliser le pushd
_ intégré à BASH pour appuyer de nouveaux répertoires de travail sur la pile de répertoires. Utilisez popd
pour les annuaires pop de la pile afin de revenir aux répertoires de travail précédents.