Article de reference

alias (commande)

En informatique , alias est une commande dans divers interpréteurs de ligne de commande ( shells ), qui permet de remplacer un mot par une autre chaîne. Il est principalement ut...

En informatique , alias est une commande dans divers interpréteurs de ligne de commande ( shells ), qui permet de remplacer un mot par une autre chaîne. Il est principalement utilisé pour abréger une commande système ou pour ajouter des arguments par défaut à une commande régulièrement utilisée. aliasest disponible dans les shells Unix , AmigaDOS , 4DOS / 4NT , FreeDOS , KolibriOS , Windows PowerShell , ReactOS et le shell EFI . La fonctionnalité d'alias dans les systèmes d'exploitation MS-DOS et Microsoft Windows est fournie par l' utilitaire de ligne de commande DOSKey .

Un alias est conservé pendant toute la durée de la session du shell. Les alias utilisés régulièrement peuvent être définis à partir du fichier rc du shell (tel que .bashrc) afin qu'ils soient disponibles au démarrage de la session du shell correspondante. Les commandes d'alias peuvent être écrites directement dans le fichier de configuration ou provenir d'un fichier séparé.

Histoire

Sous Unix, les alias ont été introduits dans le shell C pour survivre dans les shells descendants tels que tcsh et bash . Les alias du shell C étaient strictement limités à une ligne. Cela était utile pour créer des commandes de raccourci simples, mais pas des constructions plus complexes. Les anciennes versions du shell Bourne ne proposaient pas d'alias, mais fournissaient des fonctions, qui sont plus puissantes que le concept d'alias csh. Le concept d'alias de csh a été importé dans Bourne Again Shell (bash) et le shell Korn (ksh). Avec des shells qui prennent en charge à la fois les fonctions et les alias, mais pas les scripts shell en ligne paramétrés, l'utilisation de fonctions dans la mesure du possible est recommandée. Les cas où les alias sont nécessaires incluent les situations où des alias chaînés sont requis (bash et ksh). La commande alias a également été portée sur le système d'exploitation IBM i .

Usage

Créer des alias

Shells Unix courants

Les alias non persistants peuvent être créés en fournissant des paires nom/valeur comme arguments pour la commande alias. Dans les shells Unix, la syntaxe est la suivante :

alias gc = 'git commit'

Shell C

La syntaxe correspondante dans le shell C ou le shell tcsh est :

alias gc "git commit"

Cet alias signifie que lorsque la commande gcest lue dans le shell, elle sera remplacée par git commitet cette commande sera exécutée à la place.

4DOS

Dans le shell 4DOS/4NT, la syntaxe suivante est utilisée pour définir cpun alias pour la copycommande 4DOS :

alias cp copie 

Windows PowerShell

Pour créer un nouvel alias dans Windows PowerShell, l’ new-aliasapplet de commande peut être utilisée :

nouvel-alias 
ci 
copier-élément

Cela crée un nouvel alias appelé ciqui sera remplacé par l’ copy-itemapplet de commande lors de son exécution.

Dans PowerShell, un alias ne peut pas être utilisé pour spécifier les arguments par défaut d'une commande. Pour ce faire, vous devez ajouter des éléments à la collection $PSDefaultParameterValues, l'une des variables de préférence PowerShell.

Affichage des alias actuellement définis

Pour afficher les alias définis, les commandes suivantes peuvent être utilisées :

alias # Utilisé sans arguments ; affiche une liste de tous les alias actuels alias -p # Répertorie les alias d'une manière qui permet la recréation en sourçant la sortie ; non disponible dans 4DOS/4NT et PowerShell alias myAlias ​​# Affiche la commande pour un alias défini

Remplacement des alias

Dans les shells Unix, il est possible de remplacer un alias en mettant entre guillemets n'importe quel caractère du nom de l'alias lors de l'utilisation de l'alias. Par exemple, considérons la définition d'alias suivante :

alias ls = 'ls -la'

Pour remplacer cet alias et exécuter la lscommande telle qu'elle a été définie à l'origine, la syntaxe suivante peut être utilisée :

'ls' 

ou

\ls 

Dans le shell 4DOS/4NT, il est possible de remplacer un alias en le préfixant par un astérisque. Par exemple, considérons la définition d'alias suivante :

alias dir = *dir /2/p 

L'astérisque dans la 2e instance de dirprovoque l' dirinvocation de l'alias non aliasé, empêchant l'expansion récursive des alias. L'utilisateur peut également obtenir le comportement non aliasé de dirsur la ligne de commande en utilisant la même syntaxe :

*dir 

Changer les alias

Dans Windows PowerShell, le setverbe peut être utilisé avec l' aliasapplet de commande pour modifier un alias existant :

définir-alias 
ci 
cls

L'alias cipointera désormais vers la clscommande.

Dans le shell 4DOS/4NT, la esetcommande fournit une ligne de commande interactive pour modifier un alias existant :

eset /un cp 

Cela entraîne la modification /ade l'alias , par opposition à une variable d'environnement du même nom.cp

Suppression des alias

Dans les shells Unix et 4DOS/4NT, les alias peuvent être supprimés en exécutant la unaliascommande :

unalias copy # Supprime l'alias de copie unalias -a # Le commutateur -a supprimera tous les alias ; non disponible dans 4DOS/4NT unalias * # Équivalent 4DOS/4NT de `unalias -a` - les caractères génériques sont pris en charge

Dans Windows PowerShell, l'alias peut être supprimé du lecteur alias:\ à l'aide deremove-item :

remove-item 
alias : ci 
# Supprime l'alias ci

Caractéristiques

Enchaînement

Un alias remplace généralement uniquement le premier mot. Mais certains shells, comme bashet ksh, permettent de remplacer une séquence ou des mots. Cette fonctionnalité particulière n'est pas disponible via le mécanisme de fonction.

La syntaxe habituelle consiste à définir le premier alias avec un espace de fin. Par exemple, en utilisant les deux alias :

alias list = 'ls ' # notez l'espace de fin pour déclencher le chaînage alias long = '-Flas' # options pour ls pour une longue liste

permet :

la liste longue monfichier # devient "ls -Flas monfichier" lors de l'exécution

pour une longue liste, où « long » est également évalué comme un alias.

Arguments de commande

Dans le shell C , les arguments peuvent être intégrés à la commande à l'aide de la chaîne \!* . Par exemple, avec cet alias :

alias ls-more 'ls \!* | plus'

ls-more /etc /usrse développe pour ls /etc /usr | morelister le contenu des répertoires /etc et /usr, en faisant une pause après chaque écran. Sans \!* ,

alias ls-more 'ls | plus'

s'étendrait plutôt à ls | more /etc /usrce qui tente à tort d'ouvrir les répertoires dans plus de .

Les shells Bash et Korn utilisent plutôt des fonctions shell — voir § Alternatives ci-dessous.

Alternatives

Les alias doivent généralement être simples. Dans le cas contraire, il est généralement recommandé d'utiliser l'une des méthodes suivantes :

  • Scripts Shell , qui fournissent essentiellement la pleine capacité de créer de nouvelles commandes système.
  • Liens symboliques dans le nom de l'utilisateur PATH(tels que /bin). Cette méthode est utile pour fournir un moyen supplémentaire d'appeler la commande et, dans certains cas, peut permettre l'accès à une fonction de commande enfouie pour le petit nombre de commandes qui utilisent leur nom d'invocation pour sélectionner le mode de fonctionnement.
  • Fonctions du shell, en particulier si la commande en cours de création doit modifier l' environnement d'exécution interne du shell lui-même (comme les variables d'environnement ), doit modifier le répertoire de travail actuel du shell ou doit être implémentée de manière à garantir qu'elle apparaisse dans le chemin de recherche de commandes pour tout sauf un shell interactif (en particulier toute version « plus sûre » de rm, cp, mvetc.).

La forme la plus courante d'alias, qui ajoute simplement quelques options à une commande puis inclut le reste de la ligne de commande, peut être facilement convertie en fonctions shell en suivant ce modèle :

alias ll = 'ls -Flas' # liste longue, alias ll () { ls -Flas " $@ " ; } # liste longue, fonction

Pour empêcher une fonction de s'appeler elle-même de manière récursive , utilisez command:

ls () { commande ls --color = auto " $@ " ; }

Dans les anciens shells Bourne, utilisez /bin/lsà la place de command ls.

Lectures complémentaires

  • McElhearn, Kirk (2006). La ligne de commande de Mac OS X : Unix sous le capot . John Wiley & Sons . ISBN 978-0470113851.

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index