Fatmawati Achmad Zaenuri / Shutterstock

Certaines commandes Linux sont si familières que nous ne remarquons même pas que nous les utilisons. le cd La commande de changement de répertoire en fait partie. Il existe quelques astuces qui peuvent vous aider à devenir plus efficace avec cd-Ou vous pouvez l’abandonner, tout à fait.


Une commande à laquelle vous pensez rarement

Vous clignez des yeux toute la journée, tous les jours, mais, la plupart du temps, vous ne le savez pas. À moins que quelque chose n’entre dans votre œil, vous pensez rarement à ce petit mouvement régulier. Certaines commandes Linux sont comme ça. Ils planent à la périphérie de votre conscience. Même si vous les utilisez quotidiennement, ils n’attirent pas votre attention car ils sont si petits et simples.

Dans la première heure d’utilisation d’un ordinateur Linux, vous apprenez à utiliser le cd commande incluse avec Bash et autres obus. Peut-être que vous aviez déjà utilisé ce système sur un autre système d’exploitation et que vous n’aviez pas besoin d’explication. Cela change le répertoire de travail actuel, non? Que faut-il savoir d’autre?

Eh bien, plus que vous ne le pensez. Voici quelques trucs et astuces qui pourraient améliorer votre efficacité.

Les opérations cd standard

Pour être complet, passons rapidement en revue les utilisations standard de cd.

Si nous sommes dans le répertoire personnel, mais que nous souhaitons en changer un situé dans /usr/lib/firefox/browser, puis revenir au répertoire personnel, nous pouvons utiliser les commandes suivantes:

cd /usr/lib/firefox/browser/
cd /home/dave

Les commandes "cd / usr / lib / firefox / browser /" et "cd / home / dave" dans une fenêtre de terminal.

Vous n’avez pas besoin de taper le chemin complet du répertoire; vous pouvez utiliser la saisie semi-automatique. Pour chaque partie d’un chemin, après avoir tapé suffisamment de lettres pour distinguer le nom du répertoire des autres, appuyez sur Tab pour compléter automatiquement le nom du répertoire.

Par exemple, tapez ce qui suit sur la ligne de commande:

cd /usr/lib/fire

Maintenant, appuyez sur Tab et le shell remplira le reste du répertoire « firefox » pour vous. Si vous ajoutez «/ b» au chemin et appuyez à nouveau sur Tab, il ajoute le répertoire «browser» à la commande.

Le shell ajoute une barre oblique de fin afin que vous puissiez répéter le processus de tabulation. C’est aussi pourquoi il y a une barre oblique de fin sur la première commande. Il n’y en a pas un sur le second car celui-ci a été tapé.

Vous pouvez utiliser le tilde (~) Comme un raccourci pour retourner rapidement au répertoire personnel de n’importe où dans le système de fichiers; tapez simplement ce qui suit:

cd ~

La commande "cd ~" dans une fenêtre de terminal.

Ce sont des exemples de chemins absolus, dans lesquels vous fournissez le chemin complet de la racine du système de fichiers vers le répertoire cible, jusqu’à cd.

Les chemins relatifs sont référencés à partir du répertoire de travail actuel. Dans le répertoire personnel, il y a un répertoire appelé work . Vous pouvez utiliser le tree pour voir l’arborescence des répertoires dans le work répertoire — tapez simplement ce qui suit:

tree

La commande "arborescence" dans une fenêtre de terminal.

le work répertoire contient un répertoire appelé dev . Il y a aussi un répertoire appelé dev dans le répertoire racine du système de fichiers. Vous pouvez utiliser ls avec -d (répertoire) pour regarder chacun d’eux. le -hl (lisible par l’homme, longue liste), l’option indique ls pour utiliser des unités faciles à lire pour les tailles de répertoire et la liste des formats longs.

Si vous tapez dev, le shell suppose que vous entendez le «dev» dans le répertoire courant. Pour le forcer à regarder le « dev » dans le répertoire racine, ajoutez simplement une barre oblique avant pour représenter la racine du système de fichiers, comme indiqué ci-dessous:

ls -d dev -hl
ls -d /dev -hl

Les commandes "ls -d dev -hl" et "ls -d / dev -hl" dans une fenêtre de terminal.

le cd se comporte comme ls à cet égard. Si vous référencez le répertoire comme dev, comme illustré ci-dessous, il suppose que vous voulez dire le répertoire dans le work annuaire:

cd dev

La commande "cd dev" dans une fenêtre de terminal.

Sans barre oblique de début, les chemins plus longs sont supposés démarrer à partir du répertoire de travail actuel également, comme indiqué ci-dessous:

cd dev/mobile/android

La commande "cd dev / mobile / android" dans une fenêtre de terminal.

EN RELATION: 15 caractères spéciaux que vous devez connaître pour Bash

Changer le répertoire avec Double Dot

L’identifiant à double point représente le répertoire parent du répertoire de travail actuel. Si vous êtes dans un sous-répertoire profondément imbriqué, vous pouvez utiliser .. avec cd pour accéder au répertoire parent de celui dans lequel vous vous trouvez.

Cela vous fait monter de deux répertoires dans l’arborescence des répertoires. Si vous ajoutez plus .. sur la commande, il vous permet de déplacer un nombre arbitraire de niveaux dans l’arborescence de répertoires.

Tapez ce qui suit:

cd ..
cd ../..

Les commandes "cd .." et "cd ../ .." dans une fenêtre de terminal.

Vous pouvez également créer un ensemble d’alias pour effectuer ces manœuvres à votre place, en tapant ce qui suit:

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

Les commandes alias .2 = "cd ../ .." et alias .3 = "cd ../../ .." dans une fenêtre de terminal.

Vous pouvez les utiliser de la même manière que les commandes elles-mêmes.

alias .2 = "cd ../ .." utilisé pour changer de répertoire dans une fenêtre de terminal

Pour rendre les alias cohérents lors des redémarrages de votre ordinateur, vous devez les ajouter à votre .bashrc ou .bash_aliases fichier.

EN RELATION: Comment créer des alias et des fonctions shell sur Linux

Sautez facilement entre deux répertoires

Le tiret (-) Est un autre symbole qui a une fonction spéciale. Il change votre répertoire en celui dont vous venez de provenir.

Pour cet exemple, supposons que vous vous trouviez dans le répertoire « c ». Vous pouvez utiliser cd pour passer au «quatrième» répertoire. Ensuite, vous pouvez utiliser cd - pour rebondir entre les deux répertoires.

Pour ce faire, vous tapez ce qui suit:

cd ../forth

cd –

cd –

Les commandes "cd ../forth", "cd -" et "cd -" dans une fenêtre de terminal.

Le nom du répertoire vers lequel vous vous déplacez apparaît avant de vous y déplacer.

EN RELATION: Comment utiliser pushd et popd sous Linux

Un autre type de parent

Le shell utilise le répertoire de travail actuel comme répertoire «racine» ou de base pour les chemins relatifs. Vous pouvez utiliser le CDPATH variable d’environnement pour définir un autre emplacement comme répertoire de base pour les chemins relatifs. Si vous passez la plupart de votre temps dans une certaine section de l’arborescence du système de fichiers, cela peut vous faire économiser beaucoup de frappes (et de temps) chaque jour.

Tapons ce qui suit pour faire work/dev/projects le répertoire de base pour les chemins relatifs:

export CDPATH=/home/dave/work/dev/projects

La commande "export CDPATH = / home / dave / work / dev / projects" dans une fenêtre de terminal.

Maintenant, chaque fois que vous utilisez le dc , l’emplacement dans le CDPATH La variable d’environnement est d’abord vérifiée pour la correspondance des noms de répertoire. Si l’un d’eux correspond à l’objectif que vous avez indiqué dans le cd , vous êtes transféré dans ce répertoire.

Maintenant, peu importe où vous vous trouvez dans le système de fichiers, lorsque vous utilisez le cd , le shell vérifie si le répertoire cible se trouve dans le répertoire de base. Si tel est le cas, vous êtes déplacé vers ce répertoire cible.

Si votre répertoire cible commence par une barre oblique avant (/), ce qui en fait un chemin absolu, il ne sera pas affecté par la CDPATH variable d’environnement.

Pour illustrer cela, nous tapons ce qui suit:

cd c
cd prolog
cd /usr
cd forth

Les commandes "cd c", "cd prolog", "cd / usr" et "cd quatrième" dans une fenêtre de terminal.

le CDPATH la variable d’environnement est vraiment un chemin, tout comme le PATH variable d’environnement. Lorsque vous tapez une commande, le shell recherche les emplacements dans le PATH pour un match. Lorsque vous utilisez CDPATH, le shell recherche les emplacements dans le CDPATH variable d’environnement pour une correspondance. Aussi, le même que PATH, CDPATH peut contenir plusieurs emplacements.

EN RELATION: Comment travailler avec des variables dans Bash

Pour que le shell recherche le répertoire courant avant d’autres emplacements dans le CDPATH variable d’environnement, vous ajoutez simplement un point ( . ) au début du chemin comme ceci:

export CDPATH=.:/home/dave/work/dev/projects

Pour rendre vos paramètres permanents, vous devez les ajouter à un fichier de configuration, tel que .bashrc.

Une chose à savoir: si vous définissez un répertoire de base, il affecte également les modifications de répertoire effectuées dans les scripts. Pour éviter cela, vous pouvez utiliser des chemins absolus dans vos scripts ou un test dans votre .bashrc fichier lorsque vous spécifiez votre CDPATH, comme indiqué ci-dessous:

if test “${PS1+set}”; then CDPATH=.:/home/dave/work/dev/projects; fi

Cela effectue un test pour voir si la variable d’invite de ligne de commande, $PS1 , a été mis en. le CDPATH La variable d’environnement ne sera définie que si le test réussit.

EN RELATION: Comment ajouter un répertoire à votre $ PATH sous Linux

Utiliser shopt avec cd

Avec le shopt , vous pouvez définir certaines options pour le shell. Certains d’entre eux peuvent améliorer votre utilisation de cd. Pour les définir, vous utilisez le -s (activer) option avec shopt pour lui donner un nom d’option.

le cdspell L’option vérifie les noms de votre répertoire et corrige certaines erreurs de frappe courantes, y compris les caractères transposés ou manquants, ou les noms contenant trop de caractères. S’il trouve un répertoire qui correspond à l’une des corrections, le chemin corrigé est imprimé et le cd l’action a lieu.

Par exemple, nous tapons ce qui suit pour définir la cdspell option et mal orthographier « Desktop » pour voir si le shell le corrige pour nous:

shopt -s cdspell
cd Desktpo

La commande "shopt -s cdspell" dans une fenêtre de terminal.

L’interpréteur de commandes a détecté l’erreur, l’a corrigée et est passé au répertoire «Desktop».

Un autre shopt option que vous pouvez utiliser avec cd est autocd. Il vous évite d’avoir à taper cd du tout. Tout ce que vous tapez qui n’est pas une commande, un script ou un autre exécutable (tel qu’un alias) est utilisé comme répertoire cible. Si vous pouvez transférer vers ce répertoire, il est imprimé dans la fenêtre du terminal et vous êtes remplacé par ce répertoire.

À titre d’exemple, nous tapons ce qui suit:

shopt -s autocd
/usr/local/games
/etc
~

Les commandes "shopt -s autcd", "/ usr / local / games", "/ etc" et "~" dans une fenêtre de terminal.

Voir! Vous pouvez parcourir tout le système de fichiers sans même utiliser cd!

Les paramètres que vous modifiez avec shopt n’affectent que les shells interactifs, pas les scripts.

La collection cd

Vous n’adopterez probablement pas tout cela. Cependant, il est probable que vous ayez trouvé quelque chose d’intéressant ou d’avantage ici. Après tout, tout ce qui accélère ou simplifie votre navigation en ligne de commande est tout bon!

Laisser un commentaire