Comment utiliser la commande cd sous Linux

Certaines commandes Linux sont si familières que nous ne remarquons même pas que nous les utilisons. La commande cd pour changer de répertoire en fait partie. Il y a quelques astuces qui peuvent vous aider à devenir plus efficace avec le cd – ou vous pouvez tout abandonner.

Une commande à laquelle vous pensez rarement

Vous clignez des yeux toute la journée, tous les jours, mais, la plupart du temps, vous n’en êtes pas conscient. À 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 la commande cd incluse avec Bash et d’autres shells. Peut-être que vous avez déjà utilisé ce logiciel sur un autre système d’exploitation et n’avez pas besoin d’explication. Cela change le répertoire de travail actuel, non? Qu’y a-t-il d’autre à savoir?

Eh bien, plus que vous ne le pensez. Voici quelques conseils et astuces susceptibles d’améliorer votre efficacité.

Les opérations de CD standard

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

Si nous sommes dans le répertoire personnel, mais que vous voulez changer pour un répertoire 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

le

Vous n’êtes pas obligé 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 Tabulation 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 Tabulation, cela ajoute le répertoire «navigateur» à la commande.

Le shell ajoute une barre oblique à la fin afin que vous puissiez répéter le processus de complétion par 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é.

  Comment sauvegarder les paramètres de Firefox Snap sous Linux

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

cd ~

le

Ce sont des exemples de chemins absolus, dans lesquels vous fournissez le chemin complet de la racine du système de fichiers au répertoire cible, à 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 la commande tree pour voir l’arborescence des répertoires dans le répertoire de travail – tapez simplement ce qui suit:

tree

le

Le répertoire de travail 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 examiner chacun de ces éléments. L’option -hl (liste longue lisible par l’homme) indique à ls d’utiliser des unités faciles à lire pour les tailles de répertoire et la liste au format long.

Si vous tapez dev, le shell suppose que vous voulez dire «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

le

La commande cd se comporte comme ls à cet égard. Si vous référencez le répertoire en tant que dev, comme indiqué ci-dessous, cela suppose que vous faites référence au répertoire dans le répertoire de travail:

cd dev

le

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

cd dev/mobile/android

le

Modification du répertoire avec Double Dot

L’identificateur à 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 .. with cd pour vous déplacer vers le répertoire parent de celui dans lequel vous vous trouvez.

Cela vous déplace vers le haut de deux répertoires dans l’arborescence des répertoires. Si vous ajoutez plus .. à la commande, cela vous permet de déplacer un nombre arbitraire de niveaux vers le haut de l’arborescence des répertoires.

Tapez ce qui suit:

cd ..
cd ../..

le

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 ../../.."

L'alias .2 =

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

  Comment récupérer une photo supprimée sur votre iPhone ou iPad

alias .2 =

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

Sautez facilement entre deux répertoires

Le trait d’union (-) est un autre symbole qui a une fonction spéciale. Il remplace votre répertoire par celui dont vous venez de sortir.

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

Pour ce faire, vous tapez ce qui suit:

cd ../forth

cd –

cd –

le 

Le nom du répertoire vers lequel vous vous déplacez apparaît avant que vous ne vous y déplaciez.

Un autre type de parent

Le shell utilise le répertoire de travail courant comme répertoire «racine» ou de base pour les chemins relatifs. Vous pouvez utiliser la variable d’environnement CDPATH pour définir un autre emplacement comme répertoire de base des 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 gagner beaucoup de frappes (et de temps) chaque jour.

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

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

le

Désormais, chaque fois que vous utilisez la commande dc, l’emplacement dans la variable d’environnement CDPATH est vérifié en premier pour les noms de répertoire correspondants. Si l’un d’entre eux correspond à la cible que vous avez fournie dans la commande cd, vous êtes transféré vers ce répertoire.

Désormais, quel que soit votre emplacement dans le système de fichiers, lorsque vous utilisez la commande 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 (/), ce qui en fait un chemin absolu, il ne sera pas affecté par la variable d’environnement CDPATH.

Pour illustrer cela, nous tapons ce qui suit:

cd c
cd prolog
cd /usr
cd forth

le

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

  Comment insérer un symbole de droit d'auteur ou de marque dans Word

Pour que le shell recherche le répertoire courant avant les autres emplacements dans la variable d’environnement CDPATH, il vous suffit d’ajouter 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, cela affecte également les changements de répertoire effectués dans les scripts. Pour éviter cela, vous pouvez utiliser des chemins absolus dans vos scripts ou un test dans votre fichier .bashrc lorsque vous spécifiez votre CDPATH, comme indiqué ci-dessous:

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

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

Utiliser shopt avec cd

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

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

À titre d’exemple, nous tapons ce qui suit pour définir l’option cdspell et orthographions mal «Desktop» pour voir si le shell le corrige pour nous:

shopt -s cdspell
cd Desktpo

le

Le shell a détecté l’erreur, l’a corrigée et est passée au répertoire «Desktop».

Une autre option shopt que vous pouvez utiliser avec cd est autocd. Il élimine le besoin de 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 dans ce répertoire, il est imprimé dans la fenêtre du terminal et vous êtes changé dans ce répertoire.

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

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

le

Voir! Vous pouvez sauter partout dans le système de fichiers sans même utiliser de 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 tous ces éléments. 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 parfait!