GNU/Linux >> Tutoriels Linux >  >> Linux

6 Awesome Linux cd command Hacks – Productivity Tip#3 for Geeks

Cet article fait partie de la série en cours Productivity Tips for Geeks. cd est l'une des commandes les plus fréquemment utilisées lors d'une session Unix. Dans cet article, j'ai fourni 6 hacks de commande cd, qui augmenteront instantanément votre productivité et faciliteront la navigation dans la structure des répertoires à partir de la ligne de commande.

Hack #1 :Utilisez CDPATH pour définir le répertoire de base pour la commande cd

Si vous effectuez fréquemment un cd vers des sous-répertoires d'un répertoire parent spécifique, vous pouvez définir le CDPATH sur le répertoire parent et effectuer un cd vers les sous-répertoires sans donner le chemin du répertoire parent, comme expliqué ci-dessous.

[ramesh@dev-db ~]# pwd
/home/ramesh

[ramesh@dev-db ~]# cd mail
-bash: cd: mail: No such file or directory
[Note: This is looking for mail directory under current directory]

[ramesh@dev-db ~]# export CDPATH=/etc
[ramesh@dev-db ~]# cd mail
[Note: This is looking for mail under /etc and not under current directory]

[ramesh@dev-db /etc/mail]# pwd
/etc/mail

Pour rendre ce changement permanent, ajoutez export CDPATH=/etc à votre ~/.bash_profile

Ce hack peut être très utile dans les situations suivantes :

  • Les administrateurs de base de données Oracle travaillant fréquemment sous $ORACLE_HOME peuvent définir la variable CDPATH sur le répertoire d'origine d'Oracle
  • Les administrateurs système Unix travaillant fréquemment sous /etc peuvent définir la variable CDPATH sur /etc
  • Les développeurs travaillant fréquemment sous le répertoire de projet /home/projects peuvent définir la variable CDPATH sur /home/projects
  • Les utilisateurs finaux accédant fréquemment aux sous-répertoires de leur répertoire personnel peuvent définir la variable CDPATH sur ~ (répertoire personnel)

Hack #2 :Utilisez l'alias cd pour naviguer efficacement dans le répertoire

Lorsque vous naviguez dans une très longue structure de répertoires, vous pouvez utiliser cd ..\..\ avec plusieurs ..\ en fonction du nombre de répertoires que vous souhaitez remonter, comme indiqué ci-dessous.

# mkdir -p /tmp/very/long/directory/structure/that/is/too/deep

# cd /tmp/very/long/directory/structure/that/is/too/deep
# pwd
/tmp/very/long/directory/structure/that/is/too/deep

# cd ../../../../
# pwd
/tmp/very/long/directory/structure

Au lieu d'exécuter cd ../../../.. pour remonter de quatre niveaux, utilisez l'une des méthodes d'alias suivantes :

Naviguez dans le répertoire en utilisant ..n : Dans l'exemple ci-dessous, ..4 est utilisé pour monter de 4 niveaux de répertoires, ..3 pour monter de 3 niveaux de répertoires, ..2 pour monter de 2 niveaux de répertoires. Ajoutez l'alias suivant au .bash_profile et reconnectez-vous.

alias ..="cd .."
alias ..2="cd ../.."
alias ..3="cd ../../.."
alias ..4="cd ../../../.."
alias ..5="cd ../../../../.."

# cd /tmp/very/long/directory/structure/that/is/too/deep
#..4
[Note: use ..4 to go up 4 directory level]
# pwd
/tmp/very/long/directory/structure/


Naviguez dans le répertoire en utilisant uniquement des points : Dans l'exemple ci-dessous, ….. (cinq points) est utilisé pour remonter de 4 niveaux de répertoire. Taper 5 points pour remonter la structure de 4 répertoires est très facile à retenir, car lorsque vous tapez les deux premiers points, vous pensez "monter d'un répertoire", après quoi chaque point supplémentaire, c'est monter d'un niveau. Alors, utilisez…. (quatre points) pour remonter de 3 niveaux de répertoire et .. (deux points) pour remonter de 1 niveau de répertoire. Ajoutez l'alias suivant au .bash_profile et reconnectez-vous pour que ….. (cinq points) fonctionne correctement.

alias ..="cd .."
alias ...="cd ../.."
alias ....="cd ../../.."
alias .....="cd ../../../.."
alias ......="cd ../../../../.."

# cd /tmp/very/long/directory/structure/that/is/too/deep
# .....
[Note: use ..... (five dots) to go up 4 directory level]
# pwd
/tmp/very/long/directory/structure/


Naviguez dans le répertoire en utilisant cd suivi de points consécutifs : Dans l'exemple ci-dessous, cd….. (cd suivi de cinq points) est utilisé pour remonter de 4 niveaux de répertoire. Il est très facile de se souvenir d'en faire 5 points pour remonter la structure de 4 répertoires, car lorsque vous tapez les deux premiers points, vous pensez "monter d'un répertoire", après quoi chaque point supplémentaire, c'est monter d'un niveau. Alors, utilisez le cd…. (cd suivi de quatre points) pour remonter de 3 niveaux de répertoire et cd… (cd suivi de trois points) pour remonter de 2 niveaux de répertoires. Ajoutez l'alias suivant au .bash_profile et reconnectez-vous pour que le cd ci-dessus….. (cinq points) fonctionne correctement.

alias cd..="cd .."
alias cd...="cd ../.."
alias cd....="cd ../../.."
alias cd.....="cd ../../../.."
alias cd......="cd ../../../../.."

# cd /tmp/very/long/directory/structure/that/is/too/deep
# cd.....
[Note: use cd..... to go up 4 directory level]
# pwd
/tmp/very/long/directory/structure

Hack #3 :exécutez mkdir et cd à l'aide d'une seule commande

Parfois, lorsque vous créez un nouveau répertoire, vous pouvez accéder immédiatement au nouveau répertoire pour effectuer certaines tâches, comme indiqué ci-dessous.

# mkdir -p /tmp/subdir1/subdir2/subdir3
# cd /tmp/subdir1/subdir2/subdir3
# pwd
/tmp/subdir1/subdir2/subdir3

Ne serait-il pas agréable de combiner mkdir et cd en une seule commande ? Ajoutez ce qui suit au .bash_profile et reconnectez-vous.

function mkdircd () { mkdir -p "$@" && eval cd "\"\$$#\""; }

Maintenant, exécutez mkdir et cd en même temps en utilisant une seule commande comme indiqué ci-dessous :

# mkdircd /tmp/subdir1/subdir2/subdir3
[Note: This creates the directory and cd to it automatically]
# pwd
/tmp/subdir1/subdir2/subdir3

Hack #4 :Utilisez "cd -" pour basculer entre les deux derniers répertoires

Vous pouvez basculer entre les deux derniers répertoires actuels à l'aide de cd - comme indiqué ci-dessous.

# cd /tmp/very/long/directory/structure/that/is/too/deep
# cd /tmp/subdir1/subdir2/subdir3

# cd -
# pwd
/tmp/very/long/directory/structure/that/is/too/deep

# cd -
# pwd
/tmp/subdir1/subdir2/subdir3

# cd -
# pwd
/tmp/very/long/directory/structure/that/is/too/deep

Remarque  :Vous pouvez également substituer un argument d'autres commandes de l'historique à la commande cd en utilisant les exemples 12 et 13 mentionnés dans l'article sur les exemples d'historique de ligne de commande.

Hack #5 :Utilisez dirs, pushd et popd pour manipuler la pile de répertoires

Vous pouvez utiliser la pile de répertoires pour y insérer des répertoires et plus tard un répertoire pop à partir de la pile. Les trois commandes suivantes sont utilisées dans cet exemple.

  • dirs :affiche la pile de répertoires
  • pushd :pousse le répertoire dans la pile
  • popd :extraire le répertoire de la pile et y accéder

Dirs affichera toujours le répertoire courant suivi du contenu de la pile. Même lorsque la pile de répertoires est vide, la commande dirs n'imprimera toujours que le répertoire actuel, comme indiqué ci-dessous.

# popd
-bash: popd: directory stack empty

# dirs
~

# pwd
/home/ramesh

Comment utiliser pushd et popd ? Commençons par créer des répertoires temporaires et poussons-les dans la pile de répertoires, comme indiqué ci-dessous.

# mkdir /tmp/dir1
# mkdir /tmp/dir2
# mkdir /tmp/dir3
# mkdir /tmp/dir4

# cd /tmp/dir1
# pushd .

# cd /tmp/dir2
# pushd .

# cd /tmp/dir3
# pushd .

# cd /tmp/dir4
# pushd .

# dirs
/tmp/dir4 /tmp/dir4 /tmp/dir3 /tmp/dir2 /tmp/dir1
[Note: The first directory (/tmp/dir4) of the dir command output is always
          the current directory and not the content from the stack.]

A ce stade, la pile de répertoires contient les répertoires suivants :

/tmp/dir4
/tmp/dir3
/tmp/dir2
/tmp/dir1

Le dernier répertoire qui a été poussé vers la pile sera en haut. Lorsque vous exécutez popd, il se place sur l'entrée de répertoire supérieure de la pile et la supprime de la pile. Comme indiqué ci-dessus, le dernier répertoire qui a été poussé dans la pile est /tmp/dir4. Ainsi, lorsque nous faisons un popd, il sera cédé au /tmp/dir4 et le supprimera de la pile de répertoires comme indiqué ci-dessous.

# popd
# pwd
/tmp/dir4

[Note: After the above popd, directory Stack Contains:
/tmp/dir3
/tmp/dir2
/tmp/dir1]

# popd
# pwd
/tmp/dir3

[Note: After the above popd, directory Stack Contains:

/tmp/dir2
/tmp/dir1]

# popd
# pwd
/tmp/dir2

[Note: After the above popd, directory Stack Contains: /tmp/dir1]

# popd
# pwd
/tmp/dir1

[Note: After the above popd, directory Stack is empty!]

# popd
-bash: popd: directory stack empty

Hack #6 :Utilisez "shopt -s cdspell" pour corriger automatiquement les noms de répertoire mal saisis sur le cd

Utilisez shopt -s cdspell pour corriger automatiquement les fautes de frappe dans la commande cd, comme indiqué ci-dessous. Si vous n'êtes pas doué pour la dactylographie et que vous faites beaucoup d'erreurs, cela vous sera très utile.

# cd /etc/mall
-bash: cd: /etc/mall: No such file or directory

# shopt -s cdspell
# cd /etc/mall
# pwd
/etc/mail
[Note: By mistake, when I typed mall instead of mail,
          cd corrected it automatically]


Si vous avez aimé cet article, veuillez le mettre en signet sur del.icio.us , et trébucher .


Linux
  1. 8 conseils pour la ligne de commande Linux

  2. 5 applications de productivité pour Linux

  3. 20 exemples de commandes Nmap impressionnants sous Linux

  4. Commande Linux killall pour les débutants (8 exemples)

  5. Conseils de ligne de commande Linux pour augmenter la productivité

Tutoriel de commande Linux OD pour les débutants (6 exemples)

Tutoriel de commande Linux w pour débutants (5 exemples)

Tutoriel de commande Linux ss pour les débutants (8 exemples)

Commande de localisation Linux pour les débutants (8 exemples)

16 exemples pratiques de commande Linux LS pour les débutants

Raccourcis, astuces et astuces de productivité de l'éditeur Linux VI pour les débutants