changer de répertoire parent dans unix
en général, nous utilisons
cd ..
pour aller vers le répertoire parent
cd ../../
pour aller à la parents répertoire parent. et
cd ../../../../../
pour la 5e répertoire parent.
est-il un moyen simple de faire cela?
shell que j'utilise est ksh.
Vous pouvez laisser tomber la barre oblique à la fin. Aussi, la réponse à votre question peut dépendre sur le shell.
Quelques raccourcis:
Vous pouvez commander la nouvelle commande"
Quelques raccourcis:
cd -
vous ramène à l'endroit où vous venez de. cd ~
vous emmène à votre répertoire d'accueil.Vous pouvez commander la nouvelle commande"
bd
": voir ma réponse ci-dessousOriginalL'auteur Vijay | 2009-12-09
Vous devez vous connecter pour publier un commentaire.
Cette fonction est pour Bash, mais quelque chose de semblable peut être fait pour les autres (ce qui peut travailler comme-est en ksh et zsh):
Exemple d'utilisation:
Voici une fonction qui va
cd
le nom du sous-répertoire au-dessus du répertoire de travail courant:Exemple d'utilisation:
J'aime vraiment le
cdu
fonction. Il est simple et ne dépend que decd
et la substitution de variable.OriginalL'auteur Dennis Williamson
Et j'ai pensé que j'étais paresseux...
Il y a longtemps, j'en avais marre de taper
cd ..
donc, puisque près de 1988 un de mes standard alias (et des fichiers de commandes pour MS-dos/Windows) estup
. Peut-être que je devrait étendre le concept:OriginalL'auteur wallyk
Vous devez être prudent si vous avez tout de configuration des alias comme ça. Vous ne serez pas toujours aller jusqu'à 5 répertoires lorsque vous
cd ../../../../..
. Si vous n'êtes que 2 ou 3 répertoires vers le bas à partir de /vous aurez le vent dans /. Essayez ceci pour vous-même.Cela se produit parce que le répertoire parent de /est en fait /.
Comment voulez-vous suggérer une mise en garde "commentaire" comme cela? Il semblait qu'il méritait de l'espace vertical pour plus de clarté. Parfois, la vraie réponse à une question est de comprendre que vous ne pourriez pas vouloir faire les choses de la façon que vous avez d'abord cru que tu voulais faire les choses. J'espère que votre en sachant que votre cdn 5' peut être seulement un "can 1' pourrait vous faire économiser plus de quelques points.
OriginalL'auteur istruble
Vous pouvez consulter le récent projet
bd
et que vous voulez aller à
site
répertoire rapidement (au lieu de tapercd ../../../..
),ensuite il suffit de taper:
OriginalL'auteur VonC
Si vous n'aimez pas taper ou de se souvenir des noms de fichiers, vous pouvez naviguer dans les répertoires avec quelque chose comme NerdTree?
OriginalL'auteur Blair
Vous pouvez définir des alias pour simplifier ce genre de
cd
opération.Noter qu'il serait facile de faire des erreurs avec un alias en termes de
../../../..
etc, parce que vous auriez à être très sûr de la relation entre votre répertoire courant et où vous voulez être.Préférable d'utiliser des chemins absolus avec
alias
OriginalL'auteur pavium
utilisation
cd /
à aller à la racine du système de fichiers vous, etcd ~
à aller à la maison du répertoire.Exemple: pour aller à vous connecter directeur il suffit de ne
cd /var/log
.OriginalL'auteur TheHippo
Pour Bourne-type de coques (y compris
ksh
), vous pourriez écrire une fonction shell:OriginalL'auteur Chris Johnsen
C'est généralement la façon dont je le fais. Bien sûr, en ksh vous pouvez avoir vos touches de navigation autre chose. Lorsque j'ai utilisé ksh j'ai utilisé les avez mis à vi le style, ce qui serait
k
au lieu de flèche vers le haut.Dans les scripts shell, il est préférable d'être explicite. Si vous pouvez utiliser un chemin absolu puis le faire et exécuter une commande comme:
Si le script peut être exécuté à agir sur les fichiers dans des répertoires différents, alors vous pourriez envisager quelque chose comme ceci:
Mais si vous ne pouvez vraiment pas faire l'une de ces puis de s'y tenir .. chaînes comme:
C'est tout à fait clair. Effectuer une action dans le répertoire de travail courant, puis naviguez jusqu'à 3 niveaux et sélectionnez le répertoire cgi-bin. Quelqu'un qui serait capable de comprendre ce que vous faites dans le script shell devriez avoir aucune difficulté à la suite de cette. Si votre script est vraiment très complexe, alors il serait utile d'ajouter quelques commentaires de ce genre:
L'implication est que vous étiez dans le répertoire de code et de changé au niveau de python, donc le lecteur qui a oublié où vous étiez dans la hiérarchie des répertoires voit un rappel pour les aider, comptez jusqu'à 3 niveaux.
OriginalL'auteur Michael Dillon
J'ai écrit un utilitaire de shell pour ce cas d'utilisation: https://github.com/kkew3/cdup. Quelques exemples:
up -4
.site*
, utilisezup '/site*/'
.[pP]roj(ect)?
, utilisezup -E '[pP]roj(ect)?'
.OriginalL'auteur Kevin