GNU/Linux >> Tutoriels Linux >  >> Linux

Comment naviguer plus rapidement dans les répertoires sous Linux

Aujourd'hui, nous allons apprendre quelques hacks de productivité en ligne de commande. Comme vous le savez déjà, nous utilisons la commande "cd" pour nous déplacer entre une pile de répertoires dans les systèmes d'exploitation de type Unix. Dans ce guide, je vais vous apprendre à naviguer plus rapidement dans les répertoires sous Linux sans avoir à utiliser souvent la commande "cd". Il pourrait y avoir plusieurs façons, mais je ne connais que les cinq méthodes suivantes pour le moment ! Je continuerai à mettre à jour ce guide lorsque je rencontrerai des méthodes ou des utilitaires pour accomplir cette tâche dans les jours à venir.

Cinq méthodes différentes pour naviguer plus rapidement dans les répertoires sous Linux

Méthode 1 :Utilisation des commandes "Pushd", "Popd" et "Dirs"

C'est la méthode la plus fréquente que j'utilise tous les jours pour naviguer entre une pile de répertoires. Les commandes "Pushd", "Popd" et "Dirs" sont préinstallées dans la plupart des distributions Linux, ne vous embêtez donc pas avec l'installation. Ces commandes trio sont très utiles lorsque vous travaillez dans une structure de répertoires et des scripts profonds. Pour plus de détails, consultez notre guide dans le lien ci-dessous.

  • Comment utiliser les commandes Pushd, Popd et Dirs pour une navigation CLI plus rapide

Méthode 2 :Utilisation de l'utilitaire "bd"

L'utilitaire "bd" vous aide également à revenir rapidement à un répertoire parent spécifique sans avoir à taper à plusieurs reprises "cd ../../." sur votre Bash.

Bd est également disponible dans l'extra Debian et univers Ubuntu dépôts. Ainsi, vous pouvez l'installer à l'aide du gestionnaire de packages "apt-get" dans Debian, Ubuntu et d'autres systèmes basés sur DEB, comme indiqué ci-dessous :

$ sudo apt-get update
$ sudo apt-get install bd

Pour les autres distributions, vous pouvez installer comme indiqué ci-dessous.

$ sudo wget --no-check-certificate -O /usr/local/bin/bd https://raw.github.com/vigneshwaranr/bd/master/bd
$ sudo chmod +rx /usr/local/bin/bd
$ echo 'alias bd=". bd -si"'>> ~/.bashrc
$ source ~/.bashrc

Pour activer la complétion automatique, exécutez :

$ sudo wget -O /etc/bash_completion.d/bd https://raw.github.com/vigneshwaranr/bd/master/bash_completion.d/bd
$ source /etc/bash_completion.d/bd

L'utilitaire Bd est maintenant installé. Voyons quelques exemples pour comprendre comment parcourir rapidement une pile de répertoires à l'aide de cet outil.

Créez des répertoires.

$ mkdir -p dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9/dir10

La commande ci-dessus créera une hiérarchie de répertoires. Vérifions la structure des répertoires en utilisant la commande :

$ tree dir1/ dir1/└── dir2 └── dir3 └── dir4 └── dir5 └── dir6 └── dir7 └── dir8 └── dir9 └── dir109 fichiers, 0 fichiers 

Très bien, nous avons maintenant 10 répertoires. Disons que vous êtes actuellement dans le 7e répertoire, c'est-à-dire dir7.

$ par jour /home/sk/dir1/dir2/dir3/dir4/dir5/dir6/dir7

Vous voulez passer à dir3. Normalement, vous taperiez :

$ cd /home/sk/dir1/dir2/dir3

À droite? oui! Mais ce n'est pourtant pas nécessaire ! Pour revenir au répertoire 3, tapez simplement :

$ bd dir3

Vous serez maintenant dans dir3.

Naviguez plus rapidement dans les répertoires sous Linux à l'aide de l'utilitaire "bd"

Facile, n'est-ce pas ? Il prend en charge la saisie semi-automatique, vous pouvez donc simplement taper le nom partiel d'un répertoire et appuyer sur la touche de tabulation pour compléter automatiquement le chemin complet.

Pour vérifier le contenu d'un répertoire parent spécifique, vous n'avez pas besoin d'aller à l'intérieur de ce répertoire particulier. Au lieu de cela, tapez simplement :

$ ls `bd dir1`

La commande ci-dessus affichera le contenu de dir1 à partir de votre répertoire de travail actuel.

Pour plus de détails, consultez la page GitHub suivante.

  • dépôt GitHub bd

Méthode 3 :Utilisation du script Shell "Up"

Le "Up" est un script shell qui vous permet de vous déplacer rapidement vers votre répertoire parent. Il fonctionne bien sur de nombreux shells populaires tels que Bash, Fish et Zsh, etc. L'installation est également très simple !

Pour installer "Up" sur Bash , exécutez les commandes suivantes une fois :

$ curl --create-dirs -o ~/.config/up/up.sh https://raw.githubusercontent.com/shannonmoeller/up/master/up.sh
$ echo 'source ~/.config/up/up.sh'>> ~/.bashrc

Le script up enregistre la fonction "up" et certaines fonctions de complétion via votre fichier ".bashrc".

Mettez à jour les modifications à l'aide de la commande :

$ source ~/.bashrc

Sur zsh :

$ curl --create-dirs -o ~/.config/up/up.sh https://raw.githubusercontent.com/shannonmoeller/up/master/up.sh
$ echo 'source ~/.config/up/up.sh'>> ~/.zshrc

Le script up enregistre la fonction "up" et certaines fonctions de complétion via votre fichier ".zshrc".

Mettez à jour les modifications à l'aide de la commande :

$ source ~/.zshrc

Sur le poisson :

$ curl --create-dirs -o ~/.config/up/up.fish https://raw.githubusercontent.com/shannonmoeller/up/master/up.fish
$ source ~/.config/up/up.fish

Le script up enregistre la fonction "up" et certaines fonctions de complétion via "funcsave".

Il est maintenant temps de voir quelques exemples.

Créons quelques répertoires.

$ mkdir -p dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9/dir10

Disons que vous êtes dans le 7e répertoire, c'est-à-dire dir7.

$ par jour /home/sk/dir1/dir2/dir3/dir4/dir5/dir6/dir7

Vous voulez passer à dir3. En utilisant la commande "cd", nous pouvons le faire en tapant la commande suivante :

$ cd /home/sk/dir1/dir2/dir3

Mais il est très facile de revenir au dir3 en utilisant le script "up":

$ vers le haut dir3

C'est ça. Vous serez maintenant dans dir3. Pour remonter d'un répertoire, tapez simplement :

1 $ en plus

Pour revenir en arrière de deux répertoires, tapez :

$ jusqu'à 2

C'est si simple. Ai-je tapé le chemin complet ? Non. Il prend également en charge la complétion des onglets. Tapez simplement le nom du répertoire partiel et cliquez sur l'onglet pour compléter le chemin complet.

Pour plus de détails, consultez la page GitHub.

  • Dépôt GitHub vers le haut

N'oubliez pas que les outils "bd" et "up" ne peuvent vous aider qu'à revenir en arrière, c'est-à-dire au répertoire parent du répertoire de travail actuel. Vous ne pouvez pas avancer. Si vous voulez passer de dir10 à dir5, vous ne pouvez pas ! Au lieu de cela, vous devez utiliser la commande "cd" pour passer à dir10. Ces deux utilitaires sont destinés à vous déplacer rapidement vers le répertoire parent !

Méthode 4 :Utiliser l'outil "Raccourci"

C'est encore une autre méthode pratique pour basculer rapidement et facilement entre différents répertoires. C'est un peu similaire à alias commande. Dans cette méthode, nous créons des raccourcis vers les répertoires fréquemment utilisés et utilisons le nom du raccourci pour accéder à ce répertoire respectif sans avoir à taper le chemin. Si vous travaillez dans une structure de répertoires profonde et une pile de répertoires, cette méthode vous fera gagner beaucoup de temps. Vous pouvez apprendre comment cela fonctionne dans le guide ci-dessous.

  • Créez des raccourcis vers les répertoires fréquemment utilisés dans votre shell

Méthode 5 :Utilisation de la variable d'environnement "CDPATH"

Cette méthode ne nécessite aucune installation. CDPATH est une variable d'environnement. C'est un peu similaire à PATH variable qui contient de nombreux chemins différents concaténés à l'aide de ':' (côlon). La principale différence entre les variables PATH et CDPATH est que la variable PATH est utilisable avec toutes les commandes alors que CDPATH ne fonctionne que pour cd commande.

J'ai la structure de répertoire suivante.

Structure du répertoire

Comme vous le voyez, il y a quatre répertoires enfants sous un répertoire parent nommé "ostechnix".

Ajoutez maintenant ce répertoire parent à CDPATH en utilisant la commande :

$ export CDPATH=~/ostechnix

Vous pouvez désormais accéder instantanément aux sous-répertoires du répertoire parent (c'est-à-dire ~/ostechnix dans notre cas) de n'importe où dans le système de fichiers.

Par exemple, actuellement je suis dans /var/mail/ emplacement.

sortie de la commande pwd

Pour cd dans ~/ostechnix/Linux/ répertoire, nous n'avons pas besoin d'utiliser le chemin complet du répertoire comme indiqué ci-dessous :

$ cd ~/ostechnix/Linux

Au lieu de cela, mentionnez simplement le nom du sous-répertoire vers lequel vous souhaitez basculer :

$ cd Linux

Il sera automatiquement cd vers ~/ostechnix/Linux répertoire instantanément.

variable d'environnement cdpath

Comme vous pouvez le voir dans la sortie ci-dessus, je n'ai pas utilisé "cd ". Au lieu de cela, j'ai simplement utilisé la commande "cd ".

Veuillez noter que CDPATH vous permettra de naviguer rapidement vers un seul répertoire enfant du répertoire parent défini dans la variable CDPATH. Cela n'aide pas beaucoup pour naviguer dans une pile de répertoires (répertoires à l'intérieur de sous-répertoires, bien sûr).

Pour trouver les valeurs de la variable CDPATH, exécutez :

$ echo $CDPATH

Exemple de sortie :

/home/sk/ostechnix

Définir plusieurs valeurs sur CDPATH

Semblable à la variable PATH, nous pouvons également définir plusieurs valeurs (plus d'un répertoire) sur CDPATH séparées par deux-points (:).

$ export CDPATH=.:~/ostechnix:/etc:/var:/opt

Rendez les modifications persistantes

Comme vous le savez déjà, la commande ci-dessus (export) ne conservera que les valeurs de CDPATH jusqu'au prochain redémarrage. Pour définir de manière permanente les valeurs de CDPATH, ajoutez-les simplement à votre ~/.bashrc ou ~/.bash_profile fichiers.

$ vi ~/.bash_profile

Ajoutez les valeurs :

export CDPATH=.:~/ostechnix:/etc:/var:/opt

Appuyez sur ESC clé et tapez :wq pour enregistrer et quitter.

Appliquez les modifications à l'aide de la commande :

$ source ~/.bash_profile

Effacer CDPATH

Pour effacer les valeurs de CDPATH, utilisez export CDPATH=”” . Ou, supprimez simplement la ligne entière de ~/.bashrc ou ~/.bash_profile fichiers.

Dans cet article, vous avez appris les différentes façons de naviguer plus rapidement et plus facilement dans la pile de répertoires sous Linux. Comme vous pouvez le constater, il n'est pas si difficile de parcourir plus rapidement une pile de répertoires. Maintenant, arrêtez de taper "cd ../../.." sans fin en utilisant ces outils. Si vous connaissez un autre outil ou méthode qui vaut la peine d'être essayé pour naviguer plus rapidement dans les répertoires, n'hésitez pas à nous le faire savoir dans la section des commentaires ci-dessous. Je vais les examiner et les ajouter dans ce guide.


Linux
  1. Comment rechercher et supprimer des répertoires de manière récursive sous Linux

  2. Comment renommer un répertoire sous Linux

  3. Comment boucler sur des répertoires sous Linux?

  4. Comment lister récursivement les répertoires en C sous Linux ?

  5. Monter plusieurs répertoires sous linux

Comment renommer des répertoires sous Linux

Comment comparer des répertoires avec Meld sous Linux

Comment créer des répertoires à partir d'un fichier texte sous Linux

Comment rechercher et supprimer des répertoires vides sous Linux

Comment compresser des fichiers volumineux (100 Go +) plus rapidement sous Linux

Comment lister uniquement les répertoires sous Linux