logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Ceci est une ancienne révision du document !


alias

Nota :

Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !

Pré en bulle

Les alias permettent de définir des raccourcis pour vos commandes saisies dans en console.
Ainsi, une commande fréquente et relativement longue sera rendue accessible en tapant un simple mot clé prédéfini par le système ou que nous aurons créé (raccourcis).

les commandes alias

Nous utiliserons les commandes :

alias

et

unalias

Afficher les alias déjà créés

Vous pouvez afficher tous les alias déjà définis, tapez la commande :

alias
Si rien n'apparaît, c'est qu'aucun alias n'est défini.

Personnellement j'obtiens :

alias ls='ls --color=auto'

alias temporaires

Vous avez la possibilité de définir assez rapidement un alias, mais il ne sera pas conservé et donc plus utilisable au relancement de la console.

Exemple :

Pour voir la liste des dépôts inscrits dans votre fichier sources.list, situé dans le répertoire /etc/apt/ vous devez écrire ceci :

cat /etc/apt/sources.list

Pour définir un alias portant par exemple le nom aptlist, entrez la commande suivante2) :

alias aptlist="cat /etc/apt/sources.list"
  • Vous pouvez constater qu'un alias à été rajouté avec :
    alias
  • Pour l'utiliser : taper :
    aptlist

Scripts existants

Vous avez 4 fichiers cachés3) dans votre home4) qui sont là pour vous aider :

  1. .profile
  2. .bashrc
  3. .bash_logout
  4. .bash_history

Ce sont des fichiers de script shell concernant la configuration de votre console à son lancement.
Mais si vous utilisez simplement la commande "ls" ainsi :

ls

Vous obtenez :

2010-02-26--10.13.22           fstab             phpmyadmin.png
caisse_060810.ods              gparted1.png      resilier-sfr
commande_sed1.txt              liste-mail        RMLL_2.m4v
commande_sed2.txt              konversation      scripts_user
debian-504-i386-netinst.iso    listecamera_site  site_agen_100806.ods
debian-facile-le-magazine.pdf  liste_site.ods    site_agen_100809.ods
default                      
.../...

Ce sont vos fichiers simples présents dans votre home.
Mais avec son option -l ainsi :

ls -a

vous verrez en plus tous les fichiers cachés :

.                              .gnome2_private       nfs-df.odt
..                             .gnupg                .openoffice.org
2010-02-26--10.13.22           gparted1.png          .openoffice.org2
.aptitude                      .gstreamer-0.10       out.ogv
.../...

Une autre commande est possible, c'est la commande vdir avec son option -a pour lister les fichiers cachés.
D'autres fichiers encore peuvent se trouver à d'autre endroits, vous pouvez les visualiser dans les “les répertoires système ainsi5) :

echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/games

Ici 4 chemins sont indiqués, vous pouvez les utiliser ainsi :

  • /usr/local/bin : Vos premiers script à mettre ici pour vous personnellement (pleins de petits scripts)
  • /usr/bin : ici pour les scripts avancés, pour d'autres utilisateurs (des scripts avec des menus)
  • /bin : ici il y en a déjà beaucoup, pour les scripts assurément finis (assez gros, avec des fonctions internes à vos scripts et aux autres)
  • /usr/games : il y en a déjà pas mal concernant les jeux…

Localisation des scripts

Ces chemins sont déclarés dans le fichier /etc/profile

  • Pour les utilisateurs vous aurez ceux-ci :
    /usr/local/bin:/usr/bin:/bin:/usr/games
  • Pour les administrateurs vous aurez ceux-là :
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

/etc/profile concerne tous les utilisateurs :

Pour afficher votre propre fichier, taper :

cat /etc/profile

Vous obtiendrez :

# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).

if [ "`id -u`" -eq 0 ]; then
  PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
else
  PATH="/usr/local/bin:/usr/bin:/bin:/usr/games"
fi

if [ "$PS1" ]; then
  if [ "$BASH" ]; then
    PS1='\u@\h:\w\$ '
  else
    if [ "`id -u`" -eq 0 ]; then
      PS1='# '
    else
      PS1='$ '
    fi
  fi
fi

export PATH

umask 022

D'autres encore sont dans un dossier ~/bin, s'il existe.
Voir à la suite le fichier ~/.profile

Scripts dans le /home/user

Ces scripts ne concernent que l'utilisateur (/home/user) où user est votre login.
Ce sont des fichiers cachés, leur nom débute avec un point.

.profile

.profile6)est le fichier qui est interprété au lancement de la console.

Pour afficher votre propre fichier, tapez :

cat ~/.profile
  # ~/.profile: executed by the command interpreter for login shells.
  # This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
  # exists.
  # see /usr/share/doc/bash/examples/startup-files for examples.
  # the files are located in the bash-doc package.
  
  # the default umask is set in /etc/profile; for setting the umask
  # for ssh logins, install and configure the libpam-umask package.
  #umask 022
  
  # if running bash
  if [ -n "$BASH_VERSION" ]; then
     # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
         . "$HOME/.bashrc"
    fi
  fi
  
  # set PATH so it includes user's private bin if it exists
  if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
  fi

Ce fichier déclare au système :

  1. un fichier (.bashrc dans votre /home/user) et
  2. un chemin (répertoire /bin dans votre /home/user).

C'est dans ce fichier ~/.bashrc ou dans les fichiers du répertoire ~/bin que seront interprétées les commandes saisies dans la console.
Les principales commandes étant elles contenues dans le répertoire /bin de la racine et sont réservées à root.

.bashrc

Pour afficher votre prore fichier .bashrc, tapez :

cat ~/.bashrc

Voici le début du script :

  # ~/.bashrc: executed by bash(1) for non-login shells.
  # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
  # for examples

Je n'ai pas mis tout le début du script (assez long, peu utile ici).
La suite du fichier nous intéresse…
Cette partie traite des alias (raccourcis) pour vous simplifier la vie, rechercher plus bas dans le fichiers les lignes suivantes :

# 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

Vous pouvez créer et utiliser le fichier (caché) .bash_aliases placé dans votre /home/user.
Ou indiquer7) que vous allez créer et utiliser un fichier situé dans le répertoire /usr/local/bin/, fichier qu i ne nécessitera pas de point devant pour le cacher, puisqu'il n'est pas dans votre /home/user..

La modification de ce fichier /home/user/.bashrc (noté aussi ~/.bashrc) ne nécessite pas de droits administrateur.
Cependant, vous devez savoir que :
  • La création du fichier dans le répertoire /usr/local/bin/ Nécessite des droits ! Il faut être logué en root avec la commande SU.
  • La création /home/user/.bash_aliases n'en nécessite pas mais je vous conseille de faire votre modification afin de créer et utiliser le fichier /usr/local/bin/raccourcis

La suite du fichier nous donne quelques renseignements supplémentaires :
Les couleurs dans la console :

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
  eval "`dircolors -b`"
  alias ls='ls --color=auto'
  #alias dir='dir --color=auto'
  alias vdir='vdir --color=auto'

  alias grep='grep --color=auto'
  #alias fgrep='fgrep --color=auto'
  #alias egrep='egrep --color=auto'
fi

D'autres alias :

# some more ls aliases
#alias ll='ls -l'
#alias la='ls -A'
#alias l='ls -CF'

La complétion :

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ]; then
   . /etc/bash_completion
fi

.bash_logout

# ~/.bash_logout: executed by bash(1) when login shell exits.

# when leaving the console clear the screen to increase privacy

if [ "$SHLVL" = 1 ]; then
  [ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q
fi

Pas besoins d'y retoucher…On ferme la boutique la console…:-D

.bash_history

Contient tout l'historique de vos commandes que vous avez saisies.

Vos scripts

Il est fortement conseillé de ne pas toucher aux scripts dans votre /home/user, c'est la raison pour laquelle les fichiers / les chemins qui y sont déclarés vous permettent d'y placer vos scripts et ainsi d'utiliser vos propres alias/commandes/scripts.

Exemples :

Scripts Chemin Fichier
Exemple 1 /usr/local/bin raccourcis
Exemple 2 /home/user .bash_aliases

Scripts utilisateurs

Les scripts concernant tous les utilisateurs se trouvent ici :

  • /etc/profile
  • /etc/bash.bashrc

Scripts administrateur

Vous pouvez réaliser le même fichier ou un autre pour l'administrateur (root).
Pour ce faire, les modifications seront portées dans le fichier /root/.bashrc

alias création

Créer un alias pour stopper le réseau

Stopper le réseau est du domaine de l'administration.

Il faut donc être en root pour pouvoir utiiser cet alias.

Prenons l'exemple de stopper la connexion réseau (Internet) de votre ordinateur.
La commande est celle-ci :

invoke-rc.d networking stop

On va créer un mot clé assez court pour stopper le réseau, par exemple l'alias nommé stopnet.
Tapez dans la console la commande suivante :

alias stopnet="invoke-rc.d networking stop"

Pour vérifier que votre alias est bien créé, tapez :

alias

Votre alias apparaît ? Alors tapez-le en commande :

stopnet

Vérifiez que la connexion réseau a bien été stoppée en ouvrant votre navigateur internet habituel, ou bien en tapant8) :

ping debian-facile.org

Créer un alias pour démarrer le réseau

Pour reconnecter votre ordinateur au réseau, vous devriez taper :

invoke-rc.d networking start

Ajoutons un alias que nous appelerons par exemple : startnet.
Tapez la commande suivante :

alias startnet="invoke-rc.d networking start"

Et refaites la même procédure que précédemment.

Supprimer les alias créés

Pour supprimer les alias créés utilisez la commande unalias ainsi :

unalias stopnet
unalias startnet
De toute façon, à la session suivante, vos alias ainsi créés auront été effacés !

Créer un alias permanent

Pour ne pas être contraint de ressaisir tous vos alias entre 2 sessions ouvertes, vous pouvez les définir dans un fichier script (de type : shell bash).
Voir pour exemple le TP suivant :

1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
2)
Plus de précisions sur : la commande cat ici.
3)
cachés, car il y a un point “.” avant le nom du fichier
4)
/home/user noté aussi simplement ~/
6)
avec un point devant !
7)
comme dans le TP des alias permanent plus bas
doc/programmation/bash/alias.1392120042.txt.gz · Dernière modification: 02/03/2014 15:26 (modification externe)

Pied de page des forums

Propulsé par FluxBB