TIP alias

Un article de Gentoo Linux Wiki.

Cet article fait partie des Trucs et Astuces.

Terminaux / Shells CD Live X Portage Système Systèmes de fichier Autres

Sommaire

[modifier] Mettre en place des alias

Les alias vous permettent de faire vos propres raccourcis pour les commandes que vous avez l'habitude d'utiliser. L'usage basique est:

alias newcommand='yourcommand -arguments'

Prenons un exemple: si vous voulez lancer aterm avec vos préférences en tapant seulement term, tapez ceci (bien évidemment vous pouvez customizer vos préférences):

alias term='aterm -ls -fg gray -bg black'

Si appuyer sur 2 touches pour lister un répertoire est trop dur pour vous et que vous souhaitez par conséquent pouvoir taper ll en lieu et place de ls, et puis, soyons fous, faire une liste plus précise:

alias ll='ls -al --color=auto'

Taper alias sans option listera les alias existants:

Code : alias
$ alias
alias ls='ll'
alias ls -al --color=auto
alias term='aterm -ls -fg gray -bg black'

Pour supprimer un alias, utilisez unalias. Pour notre premier exemple:

unalias term

Vous pouvez aussi créer des alias pour des commandes existantes. Si vous voulez que ce que ls retourne soit coloré:

alias ls='ls --color=auto'

Ces alias peuvent être dans votre script de login (~/.bash_profile ou ~/.profile selon le shell que vous utilisez).

Quelques commandes en mode verbeux:

alias cp="cp -v"
alias rm="rm -v"
alias mv="mv -v"

Vous pouvez aussi ajouter un indicateur de progression pour cp et mv:

alias cp="cp -g"
alias mv="mv -g"

Note: L'indicateur de progression ne sera activé que si le temps de copie est souffisament long (approximativement 4s).

Attention: ceci est particulièrement dangereux:

  • copier de gros fichiers avec cp -g pour voir les poucentages
  • certaines touches du clavier peuvent interrompre la copie d'un fichier

Cela peut se révéler problématique si la personne qui utilise ces alias n'en a pas conscience.


Pour le mode verbeux et l'indicateur de progression simultanément:

alias cp="cp -vg"
alias mv="mv -vg"


Alias avec switches:

alias 'rm -rf'="rm -rfv"


Ne pas utiliser un alias exceptionellement:

alias rm="rm -i" # création de l'alias
\rm              # pour ne pas utiliser l'alias on le précède d'un \


Effacer l'écran lors au logout

alias logout="clear && logout"


Grep en couleurs !

export GREP_COLOR=31
alias grep='grep --color=auto' # ou sinon: export GREP_OPTIONS='--color=auto'


less et more en couleurs:

alias less="less -r"
alias more="less -r"  # less is more :)

Décommenter les fichiers;

alias nocomment='sed -e '\s/#.*//;/^\s*$/d'\ '
nocomment /etc/ntp.conf|less

[modifier] Les alias de Gentoo Linux

Emerger avec distcc:

alias demerge='FEATURES="distcc" PATH="/usr/lib/distcc/bin:${PATH}" emerge'

Afficher le $PATH acutel:

alias path='echo $PATH'

Autres idées pour aller plus vite:

alias em='LINGUAS="fr" emerge'
alias es='em -s'
alias eS='em -S'
alias emo='em --oneshot'
alias ep='em -pv'
alias epw='em -pUDv world'
alias esy='emerge --sync'
alias eu='emerge unmerge'
alias euw='em -UDv world'
alias neuw='LINGUAS="en ru de fr ja zh_CN" nice -n 15 emerge -UDv world'

Ainsi pour mettre à jour votre Gentoo tapez:

esy && euw -a

[modifier] Alias et variables

Vous ne pouvez pas créer d'alias à variables. Cependant, vous pouvez faire des fonctions. Les fonctions dans votre ~/.bashrc se comporteront comme des alias. Pour définir des fonctions pour la globalité du système et non pas l'utilisateur seul, éditez /etc/bash/bashrc.

Suivent quelques fonctions pratiques:

[modifier] scp

Pour copier des fichiers sur un serveur distant, éditez votre ~/.bashrc

Fichier : ~/.bashrc
[...]
send () { scp "@" pseudo@ip:/www/misc/Pictures/; }

N'oubliez pas de "sourcer"

source ~/.bashrc

[modifier] Gestion de services

Il est fastidieux de devoir taper /etc/init.d/service start. C'est là que les fonctions peuvent s'avérer très utiles. Nous allons mettre en place une fonction qui permet de remplacer /etc/init.d/service par srv service.

Editez votre /etc/bash/bashrc pour y ajouter ce qui suit:

Fichier : /etc/bash/bashrc
srv () {
    local s=$1;
    shift;
    /etc/init.d/"$s" "$@"
}

Comme d'habitude, sourcez : source /etc/bash/bashrc

Maintenant, si vous voulez lancer un service (ici apache2), vous n'aurez qu'à taper

# srv apache2 start

[modifier] Alias et bashrc

[modifier] bashrc

Vous pouvez avoir des alias permanents. Si vous utilisez bash, éditez ~/.bashrc et ajoutez un alias par ligne. Une fois que vous avez enregistré, n'oubliez pas de sourcer comme pour les fonctions:

source ~/.bashrc

Si vous ne sourcez pas, vos alias prendront effet lors de votre prochain reboot.

Si vous voulez créer des alias applicables à tout votre système et donc à tous les utilisateurs, ajoutez ces alias dans /etc/bashrc. L'utilisateur qui veut utiliser ces aliases doit ajouter ces lignes à son ~/.bashrc

Fichier : ~/.bashrc
source /etc/bashrc

ou encore

. /etc/bashrc


[modifier] aliasrc

Voici une autre solution. Créez /etc/aliasrc. Les premières lignes doivent être:

Fichier : /etc/aliasrc
# supprimer tous les autres alias
unalias -a
# recharger les alias
alias realias='source /etc/aliasrc'  
# editer les alias
alias vialias='$EDITOR /etc/aliasrc && realias'

Ajoutez ceci en première ligne de votre ~/.bashrc:

Fichier : ~/.bashrc
source /etc/aliasrc