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 pour changer de répertoire est l’une de celles-ci. Il existe quelques astuces qui peuvent vous aider à devenir plus efficace avec cd
– ou vous pouvez l’abandonner complètement.
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 le cd
commande 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 de base, mais que vous souhaitez changer pour celui situé à /usr/lib/firefox/browser
, puis revenez au répertoire de base, nous pouvons utiliser les commandes suivantes:
cd /usr/lib/firefox/browser/
cd /home/dave
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 de fin pour que vous puissiez répéter le processus de complétion par tabulation. C’est aussi pourquoi il y a une barre oblique à la fin de 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 moyen abrégé de retourner rapidement au répertoire personnel de n’importe où dans le système de fichiers; tapez simplement ce qui suit:
cd ~
Voici 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 le tree
commande à voir l’arborescence des répertoires à l’intérieur de work
répertoire: saisissez simplement ce qui suit:
tree
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 examiner chacun de ces éléments. le -hl
(lisible par l’homme, liste longue) indique ls
pour utiliser des unités faciles à lire pour les tailles de répertoire et la liste de format long.
Si vous tapez dev
, le shell suppose que vous voulez dire 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
le cd
la commande se comporte comme ls
à cet égard. Si vous référencez le répertoire comme dev
, comme indiqué ci-dessous, cela suppose que vous voulez dire le répertoire dans le work
annuaire:
cd dev
Sans 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
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 ..
avec cd
pour accéder au répertoire parent de celui dans lequel vous vous trouvez.
Cela vous fait remonter 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 vers le haut de l’arborescence des répertoires.
Tapez ce qui suit:
cd ..
cd ../..
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 ../../.."
Vous pouvez les utiliser de la même manière que les commandes elles-mêmes.
Pour rendre les alias cohérents lors des redémarrages de votre ordinateur, vous devez les ajouter à votre .bashrc
ou .bash_aliases
fichier.
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 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 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 gagner beaucoup de frappes (et de temps) chaque jour.
Tapons ce qui suit pour faire work/dev/projects
le répertoire de base des chemins relatifs:
export CDPATH=/home/dave/work/dev/projects
Désormais, chaque fois que vous utilisez le dc
commande, l’emplacement dans le CDPATH
La variable d’environnement est vérifiée en premier pour les noms de répertoire correspondants. Si l’un d’entre eux correspond à l’objectif que vous avez indiqué dans le cd
commande, 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 (/
), ce qui en fait un chemin absolu, il ne sera pas affecté par le CDPATH
variable d’environnement.
Pour démontrer cela, nous tapons ce qui suit:
cd c
cd prolog
cd /usr
cd forth
le CDPATH
la variable d’environnement est vraiment un chemin, tout comme la 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.
Pour que le shell recherche le répertoire courant avant les autres emplacements dans le CDPATH
variable d’environnement, 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 .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 exécute 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.
Utilisation de shopt avec cd
Avec le shopt
commander, 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 passer un nom d’option.
le cdspell
option 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 le cd
l’action a lieu.
À titre d’exemple, nous tapons ce qui suit pour définir le cdspell
option et mal orthographier «Bureau» pour voir si le shell le corrige pour nous:
shopt -s cdspell
cd Desktpo
Le shell a détecté l’erreur, l’a corrigée et est passée au répertoire «Desktop».
Un autre shopt
option que vous pouvez utiliser avec cd
est autocd
. Cela 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 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
~
Voir! Vous pouvez sauter partout dans 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 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!