« Alias » : différence entre les versions

De Le Wiki du Forum-Debian.fr
Aller à la navigation Aller à la recherche
(désolé, le wiki n'aime pas les alinéas...)
Aucun résumé des modifications
 
(15 versions intermédiaires par 4 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
Il y a des commandes que l'on emploie très souvent. <br />
Il y a des commandes que l'on emploie très souvent. <br />
Quand ces commandes sont courtes, ça ne pose pas de problèmes mais il arrive qu'elles aient une certaine longueur et là, en dehors du côté fastidieux, il y a toujours un risque d'erreurs, dus à des fautes de frappe. <br />
Quand ces commandes sont courtes, ça ne pose pas de problèmes mais il arrive qu'elles aient une certaine longueur et là, en dehors du côté fastidieux, il y a toujours un risque d'erreurs, dus à des fautes de frappe. <br />
Pour pallier ces deux problèmes, nous avons à notre disposition un outil très pratique, simple de mise en œuvre et facile à utiliser : l'ALIAS. <br />
Pour pallier ces deux problèmes, nous avons à notre disposition un outil très pratique, simple de mise en œuvre et facile à utiliser : l''''alias'''.
Le principe est on ne peut plus simple. Il s'agit d'ajouter, à la fin du fichier <br />
/home/votre_user/.bashrc <br />
des lignes commençant par "alias", suivies, après un espacement du nom de votre choix . Ce nom doit être court et "causant". Il est suivi, sans espacement du signe '=' ainsi que d'une apostrophe ('), puis de 'sudo'.  Vient ensuite, après un espacement, la commande proprement dite. <br />
La ligne se terminant toujours par une ('). <br />
Bien que ce ne soit pas une obligation, je trouve plus pratique de se servir de 'sudo'. Cela évite de devoir se 'loguer' en tant que 'root'. <br />
Les quelques exemples ci-dessous seront encore plus explicites que tout un discours :<br /><br />


alias photo='sudo mount -t ext2 /dev/sdb5 /mnt/photo' <br />
Un alias s'écrit de cette forme :
alias ddext='sudo mount -t ext3 /dev/sdb10 /mnt/autre' <br />
alias <nom>='<cmd>'
alias ntfs='sudo mount -t ntfs-3g /dev/sda7 /mnt/ntfs' <br />
alias clone='sudo mount -t ext3 /dev/sda4 /mnt/clone' <br />
alias video='sudo mount -o umask=000 /dev/sdb6 /mnt/video'  (umask=000 car Fat32 devant avoir les droits d'écriture) <br />
alias demonte='sudo umount /mnt/autre;sudo umount /mnt/photo;sudo umount /mnt/video;sudo umount /mnt/travail;sudo umount /mnt/ntfs;sudo umount /mnt/clone' <br /><br />


Les commandes ci-dessus ne concernent que des 'montages' et 'démontages' de partitions, que je ne veux pas porter dans le 'fstab' <br />
* <nom> est le nom que vous voulez utiliser pour votre alias. Celui-ci est souhaité court et explicite.
Vous comprendrez aisément qu'au lieu de taper <br />
* <cmd> la commande que vous souhaitez voir exécutée lors lors de l'appel à cet alias (ne pas oublier le (') en début et en fin de commande).
$ sudo mount -t ext2 /dev/sdb5 /mnt/photo <br />
dans une console, il est beaucoup plus court de n'entrer que <br />
$ photo <br />
Pour le démontage, le même alias (demonte) opère pour tout ce qui est monté. Chaque commande doit alors être séparée de la suivante par un ';' sans oublier, là aussi, les (') au début et à la fin. <br /><br />


--[[Utilisateur:Ricardo|Ricardo]] 30 janvier 2010 à 16:24 (UTC)
Dans la pratique si un alias est défini ainsi :
<br />
alias d='ls'
NOTA : <br />
on l'utilise ainsi
Cette page est brute de décoffrage, les liens de mise en page n'étant pas facilement repérables.
$ d
et la « commande » d auras le même comportement que ls.


[[Catégorie:Raccourcis/alias]]
Pour que les alias soient toujours accessibles, il suffit de les écrire à la fin du fichier ~/.bashrc (si vous utilisez bash).
 
Les quelques exemples ci-dessous seront encore plus explicites que tout un discours :
 
== Alias généraux ==
Ces alias permettent de simplifier l'utilisation de ls pour aller plus vite sur cette commande très utilisées :
alias ll='ls -l --color=auto'
alias la='ls -a --color=auto'
alias l='ls -la --color=auto'
alias ..='cd ..'
Les alias précédents sont souvent présents d'origine dans le fichier ~/.bashrc mais il y sont commentés. Pour les rendre opérationnels, il suffit d'enlever le '#' en tête de ligne.
 
== Alias très spécifiques ==
Ces alias permettent de donner une idée de ce que l'on peut faire avec un alias :
alias photo='sudo mount -t ext2 /dev/sdb5 /mnt/photo'
alias video='sudo mount -o umask=000 /dev/sdb6 /mnt/video' (umask=000 car Fat32 devant avoir les droits d'écriture)
alias demonte='sudo umount /mnt/autre;sudo umount /mnt/photo;sudo umount /mnt/video;sudo umount /mnt/travail;sudo umount /mnt/ntfs;sudo umount /mnt/clone'
 
Les commandes ci-dessus qui concernent les 'montages' et 'démontages' de partitions, que je ne veux pas porter dans le 'fstab'.
 
Vous comprendrez aisément qu'au lieu de taper
$ sudo mount -t ext2 /dev/sdb5 /mnt/photo
dans une console, il est beaucoup plus court de n'entrer que
$ photo
Pour le démontage, le même alias (demonte) opère pour tout ce qui est monté. Chaque commande doit alors être séparée de la suivante par un ';' sans oublier, là aussi, les (') au début et à la fin.
 
== Particularités ==
=== zsh ===
Le shell zsh est capable de supporter un type particulier d'alias. En effet il est possible de définir des alias sur les suffixes. Ces alias se définissent ainsi :
alias -s pdf='xpdf'
alias -s html='x-www-browser'
puis ils s'utillisent ainsi
$ ./fichier.pdf
le fichier « fichier.pdf » seras ouvert avec xpdf. Cette utilisation des alias peut s'avérer très pratique.
 
=== tcsh ===
Tcsh possède un comportement particulier avec les alias qui lui permettent de définir des alias complexes.
En effet il est possible grâce à la substitution des historiques de réorganiser les arguments de l'alias comme on le souhaite. Il est en outre possible de faire certains traitements sur ces arguments.
 
Un exemple pour les programmeurs :
alias compile gcc \!$ -o \!$:r
S'utilisera ainsi
$ compile programme.c
et produiras un fichier exécutable programme.
 
Avec les autres shell (comme bash ou zsh), il est recommandé d'utiliser les fonction shell pour ce genre d'usage.
 
 
--[[Utilisateur:Ricardo|Ricardo]] 30 janvier 2010 à 16:24 (UTC)

Dernière version du 13 novembre 2016 à 09:30

Il y a des commandes que l'on emploie très souvent.
Quand ces commandes sont courtes, ça ne pose pas de problèmes mais il arrive qu'elles aient une certaine longueur et là, en dehors du côté fastidieux, il y a toujours un risque d'erreurs, dus à des fautes de frappe.
Pour pallier ces deux problèmes, nous avons à notre disposition un outil très pratique, simple de mise en œuvre et facile à utiliser : l'alias.

Un alias s'écrit de cette forme :

alias <nom>='<cmd>'
  • <nom> est le nom que vous voulez utiliser pour votre alias. Celui-ci est souhaité court et explicite.
  • <cmd> la commande que vous souhaitez voir exécutée lors lors de l'appel à cet alias (ne pas oublier le (') en début et en fin de commande).

Dans la pratique si un alias est défini ainsi :

alias d='ls'

on l'utilise ainsi

$ d

et la « commande » d auras le même comportement que ls.

Pour que les alias soient toujours accessibles, il suffit de les écrire à la fin du fichier ~/.bashrc (si vous utilisez bash).

Les quelques exemples ci-dessous seront encore plus explicites que tout un discours :

Alias généraux

Ces alias permettent de simplifier l'utilisation de ls pour aller plus vite sur cette commande très utilisées :

alias ll='ls -l --color=auto'
alias la='ls -a --color=auto'
alias l='ls -la --color=auto'
alias ..='cd ..'

Les alias précédents sont souvent présents d'origine dans le fichier ~/.bashrc mais il y sont commentés. Pour les rendre opérationnels, il suffit d'enlever le '#' en tête de ligne.

Alias très spécifiques

Ces alias permettent de donner une idée de ce que l'on peut faire avec un alias :

alias photo='sudo mount -t ext2 /dev/sdb5 /mnt/photo'
alias video='sudo mount -o umask=000 /dev/sdb6 /mnt/video' (umask=000 car Fat32 devant avoir les droits d'écriture)
alias demonte='sudo umount /mnt/autre;sudo umount /mnt/photo;sudo umount /mnt/video;sudo umount /mnt/travail;sudo umount /mnt/ntfs;sudo umount /mnt/clone'

Les commandes ci-dessus qui concernent les 'montages' et 'démontages' de partitions, que je ne veux pas porter dans le 'fstab'.

Vous comprendrez aisément qu'au lieu de taper

$ sudo mount -t ext2 /dev/sdb5 /mnt/photo

dans une console, il est beaucoup plus court de n'entrer que

$ photo

Pour le démontage, le même alias (demonte) opère pour tout ce qui est monté. Chaque commande doit alors être séparée de la suivante par un ';' sans oublier, là aussi, les (') au début et à la fin.

Particularités

zsh

Le shell zsh est capable de supporter un type particulier d'alias. En effet il est possible de définir des alias sur les suffixes. Ces alias se définissent ainsi :

alias -s pdf='xpdf'
alias -s html='x-www-browser'

puis ils s'utillisent ainsi

$ ./fichier.pdf

le fichier « fichier.pdf » seras ouvert avec xpdf. Cette utilisation des alias peut s'avérer très pratique.

tcsh

Tcsh possède un comportement particulier avec les alias qui lui permettent de définir des alias complexes. En effet il est possible grâce à la substitution des historiques de réorganiser les arguments de l'alias comme on le souhaite. Il est en outre possible de faire certains traitements sur ces arguments.

Un exemple pour les programmeurs :

alias compile gcc \!$ -o \!$:r

S'utilisera ainsi

$ compile programme.c

et produiras un fichier exécutable programme.

Avec les autres shell (comme bash ou zsh), il est recommandé d'utiliser les fonction shell pour ce genre d'usage.


--Ricardo 30 janvier 2010 à 16:24 (UTC)