GNU/Linux >> Tutoriels Linux >  >> Linux

Alias ​​de ligne de commande dans le shell Linux

Jusqu'à présent, dans cette série de didacticiels, nous avons discuté de l'utilisation de base ainsi que des détails connexes du cd - et pushd /popd commandes, ainsi que le CDPATH variables d'environnement. Dans ce quatrième et dernier volet, nous discuterons du concept d'alias ainsi que de la manière dont vous pouvez les utiliser pour rendre votre navigation en ligne de commande plus facile et plus fluide.

As always, before jumping on to the heart of the tutorial, it's worth sharing that all the instructions as well examples presented in this article have been tested on Ubuntu 14.04LTS. The command line shell we've used is bash (version  4.3.11).

Alias ​​de ligne de commande sous Linux

En termes simples, les alias peuvent être considérés comme des noms courts ou des abréviations d'une commande complexe ou d'un groupe de commandes, y compris leurs arguments ou options. Donc, en gros, avec les alias, vous créez des noms faciles à mémoriser pour des commandes pas si faciles à taper/mémoriser.

Par exemple, la commande suivante crée un alias 'home' pour la commande 'cd ~' :

alias home="cd ~"

Cela signifie que vous pouvez désormais taper rapidement "home" et appuyer sur Entrée chaque fois que vous souhaitez revenir à votre répertoire personnel depuis n'importe où sur votre système.

Voici ce que dit la page de manuel de la commande alias à propos de cet utilitaire :

The alias utility shall create or redefine alias definitions or write the values of existing alias definitions to standard output. An alias definition provides a string value that shall replace a command name when it is encountered

An alias definition shall affect the current shell execution environment and the execution environments of the subshells of the current shell. When used as specified by this volume of IEEE Std 1003.1-2001, the alias definition shall not affect the parent process of the current shell nor any utility environment invoked by the shell.

Alors, comment les alias aident-ils exactement dans la navigation en ligne de commande ? Eh bien, voici un exemple simple :

Supposons que vous travailliez dans /home/himanshu/projects/howtoforge répertoire, qui contient en outre de nombreux sous-répertoires, et des sous-sous-répertoires. Par exemple, voici une branche de répertoire complète :

/home/himanshu/projects/howtoforge/command-line/navigation/tips-tricks/part4/final

Imaginez maintenant que vous êtes dans le répertoire 'final', puis que vous voulez revenir au répertoire 'trucs-trucs', et à partir de là, vous devez revenir au répertoire 'howtoforge'. Que feriez-vous ?

Eh bien, normalement, vous exécuteriez l'ensemble de commandes suivant :

cd ../..
cd ../../..

Bien que cette approche ne soit pas mauvaise en soi, elle n'est certainement pas pratique, surtout lorsque vous devez revenir en arrière, disons 5 répertoires dans un très long chemin. Alors, quelle est la solution ? La réponse est :les alias.

Ce que vous pouvez faire, c'est créer des alias faciles à retenir (et à saisir) pour chacun des cd .. commandes. Par exemple :

alias bk1="cd .."
alias bk2="cd ../.."
alias bk3="cd ../../.."
alias bk4="cd ../../../.."
alias bk5="cd ../../../../.."

Alors maintenant, chaque fois que vous voulez revenir en arrière, disons 5 endroits, à partir de votre répertoire de travail actuel, vous pouvez simplement exécuter la commande suivante :

bk5

N'est-ce pas facile maintenant ?

Bien que la technique que nous avons utilisée pour définir les alias jusqu'à présent (à l'aide de la commande alias) à l'invite du shell fasse l'affaire, les alias n'existent que pour la session de terminal en cours. Il y a de bonnes chances que vous souhaitiez que les alias que vous avez définis persistent afin qu'ils puissent être utilisés dans toute nouvelle fenêtre/onglet de terminal de ligne de commande que vous lancerez par la suite.

Pour cela, vous devez définir vos alias dans le ~/.bash_aliases fichier, qui est chargé par votre ~/.bashrc fichier par défaut (veuillez vérifier cela si vous utilisez une ancienne version d'Ubuntu).

Voici l'extrait de mon fichier .bashrc qui parle du fichier .bash_aliases :

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi

Une fois que vous avez ajouté une définition d'alias à votre fichier .bash_aliases, cet alias sera disponible sur tous les nouveaux terminaux. Cependant, vous ne pourrez pas l'utiliser dans un autre terminal qui était déjà ouvert lorsque vous avez défini cet alias - la solution consiste à sourcer .bashrc à partir de ces terminaux. Voici la commande exacte que vous devrez exécuter :

source ~/.bashrc

Si cela semble un peu trop de travail (oui, je vous regarde LES PARESSEUX), alors voici un raccourci pour faire tout cela :

"alias [the-alias]" >> ~/.bash_aliases && source ~/.bash_aliases

Inutile de dire que vous devrez remplacer [the-alias] par la commande réelle. Par exemple :

"alias bk5='cd ../../../../..'" >> ~/.bash_aliases && source ~/.bash_aliases

Poursuivons, supposons maintenant que vous avez créé des alias et que vous les utilisez par intermittence depuis quelques mois. Soudain, un jour, vous doutez que l'un d'eux ne fonctionne pas comme prévu. Vous ressentez donc le besoin d'examiner la commande exacte qui a été attribuée à cet alias. Que feriez-vous ?

Bien sûr, vous pouvez ouvrir votre fichier .bash_aliases et y jeter un coup d'œil, mais ce processus peut prendre un peu de temps, surtout lorsque le fichier contient beaucoup d'alias. Donc, si vous cherchez une solution de facilité, en voici une :tout ce que vous avez à faire est d'exécuter l'alias commande avec le nom d'alias comme argument.

Voici un exemple :

$ alias bk6
alias bk6='cd ../../../../../..'

Comme vous pouvez le voir, la commande susmentionnée affichait la commande réelle affectée à l'alias bk6. Il existe un autre moyen :utiliser le type commande. Voici un exemple :

$ type bk6
bk6 is aliased to `cd ../../../../../..'

Ainsi, la commande type produit une sortie plus compréhensible par l'homme.

Une autre chose qui mérite d'être partagée ici est que vous pouvez utiliser des alias pour les fautes de frappe courantes que vous faites. Par exemple :

alias mroe='more'

Enfin, il convient également de mentionner que tout le monde n'est pas favorable à l'utilisation d'alias. La plupart d'entre eux affirment qu'une fois que vous vous êtes habitué aux alias que vous définissez pour votre confort, il devient vraiment difficile pour vous de travailler sur un autre système où ces alias n'existent pas (et vous n'êtes pas autorisé à en créer également) . Pour plus (ainsi que des raisons précises) pourquoi certains experts ne recommandent pas d'utiliser des alias, vous pouvez vous diriger ici.

Conclusion

Comme la variable d'environnement CDPATH dont nous avons parlé dans la partie précédente, alias est également une épée à double tranchant qu'il faut utiliser avec beaucoup de prudence. Ne vous découragez pas, car tout a ses avantages et ses inconvénients. Cette pratique et ces connaissances complètes sont la clé lorsque vous traitez avec des concepts tels que les alias.

Ceci marque donc la fin de cette série de tutoriels. J'espère que vous l'avez également apprécié et que vous en avez appris de nouvelles choses / concepts. Si vous avez des doutes ou des questions, veuillez les partager avec nous (et le reste du monde) dans les commentaires ci-dessous.


Linux
  1. Générer des mots de passe sur la ligne de commande Linux

  2. Maîtrisez la commande Linux ls

  3. Utilisation de la force sur la ligne de commande Linux

  4. Avoir une vache à la ligne de commande Linux

  5. Enfermez-vous sur la ligne de commande Linux

Qu'est-ce que le Shell sous Linux ?

Maîtrisez la ligne de commande Linux

Commande alias sous Linux

Critique de livre :La ligne de commande Linux

Afficher le contenu d'un fichier dans la ligne de commande Linux

Commande d'alias Linux