Vous êtes sur la page 1sur 10

Introduction 2

Démarrage de l’interpréteur de commandes « BASH » 2


Le fichier /etc/profile 3
Le fichier /etc/bashrc 4

Les variables d'environnement système 5


Symbole d’accueil (prompt) 6

Limiter la taille des fichiers CORE 9

Substitution de commandes 9

Message du jour. 10

Références 10

Document écrit par Stéphane Gill


© Copyright 2004 Stéphane Gill
Ce document est soumis à la licence GNU FDL. Permission vous est donnée de distribuer et/ou modifier des copies de ce
document tant que cette note apparaît clairement.
Paramétrage de l’interpréteur de commandes

Le shell le plus connu et le plus répandu sous Linux est certainement le Bourne Again Shell (bash)
rédigé par Brian Fox et Chet Ramey. Bash est le shell standard fourni aux utilisateurs de Linux en
tant qu’interpréteur de commandes par défaut. La version actuelle de bash répond au standard
IEEE Posix Shell and Tool Specification.

Chaque lancement d’un shell s’accompagne de réglages. Cela se matérialise par ce que l’on
appelle des scripts des configuration. L’exemple le plus connu d’un tel script est certainement le
fichier /etc/profile, traité au démarrage de bash. Il contient les prescriptions et les définitions valides
pour tout utilisateur de l’ordinateur.

Lors de la création d’un compte utilisateur un interpréteur de commandes par défaut (login shell) lui
est associé. Ce login shell est défini dans le fichier /etc/passwd (le dernier champ contient le nom
du fichier exécutable) et est lancé automatiquement dès l’ouverture d’une session.

Lorsque bash est exploité en tant que login shell, alors le système cherche automatiquement un
fichier du nom de etc/profile. S’il existe et s’il contient des commandes de shell, alors elles sont
traitées. Cela se réalise sans que l’utilisateur puisse intervenir, et avec les droits de l’administrateur
(root). Après l’exécution des commandes du fichier, Linux adapte les droits en fonction l’utilisateur
déclaré lors de l’ouverture de la session.

De plus, le système passe au répertoire personnel de l’utilisateur. Ce répertoire est défini dans le
fichier etc/passwd. Le cinquième champ contient le chemin absolu de l’utilisateur. Pour plus de
clarté, le chemin est également inscrit dans la variable d’environnement HOME. Le tilde (~) est le
symbole de la variable d’environnement HOME.

Bash exécute, s’il existe le fichier /etc/profile. Ensuite, le premier des fichiers suivants rencontré est
exécuté : ~/.bash_profile , ~/.bashrc, ~/.bash_login.

À la désinscription de bash, le système cherche le fichier .bash_logout dans le répertoire personnel


de l’utilisateur. Cela permet d’effectuer quelques nettoyages et écritures de comptes rendus lors de

© Stéphane Gill 2
Paramétrage de l’interpréteur de commandes

Fichier /etc/profile

Le fichier etc/profile est le fichier principal de la configuration de tous les utilisateurs de bash. On y
trouve notamment la définition de umask, du path, du prompt,… Ce fichier cherche aussi à
exécuter tous les scripts /etc/profile.d/*.sh

Exemple de fichier /etc/profile :

# /etc/profile

# Les fonction et les alias sont défini dans /etc/bashrc

PATH="$PATH:/usr/X11R6/bin"
PS1="[\u@\h \W]\\$ "

ulimit -c 1000000
if [ `id -gn` = `id -un` -a `id -u` -gt 14 ]; then
umask 002
else
umask 022
fi

USER=`id -un`
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"

HOSTNAME=`/bin/hostname`
HISTSIZE=1000
HISTFILESIZE=1000

INPUTRC=/etc/inputrc
export PATH PS1 USER LOGNAME MAIL HOSTNAME HISTSIZE HISTFILESIZE
INPUTRC

for i in /etc/profile.d/*.sh ; do
if [ -x $i ]; then
. $i
fi
done

unset i

© Stéphane Gill 3
Paramétrage de l’interpréteur de commandes

Fichier /etc/bashrc

Le fichier /etc/bashrc est le dernier script d'initialisation de bash. On y trouve notamment les alias
globaux. Il est le seul fichier d’initialisation qui est exécuté à chaque lancement de l’interpréteur de
commandes.

Exemple de fichier /etc/bashrc :

# /etc/bashrc
# Ce fichier est invoqué par ~/.bashrc
# Il n'existe pas obligatoirement

# Ici on détermine des alias et fonctions universels.


# Par exemple:

alias rm="rm -i"


alias cp="cp -i"
alias mv="mv -i"
alias which="type -path"

# Si vous avez des ennuis avec le prompt de bash, essayer


# de le définir ici - ce bug est apparemment corrigé dans
# les versions récente de bash:

#PS1="\u [\W]> "

Exemple de fichier .bashrc :

# .bashrc

if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

alias rm="rm -i"


alias cp="cp -i"
alias mv="mv -i"

# add a little color


alias l='ls'
alias lc="ls --color -F"
alias ll="ls -al"
alias llc="ls -al --color -F"

© Stéphane Gill 4
Paramétrage de l’interpréteur de commandes

alias dorado="ssh dorado.nlm.nih.gov -l janderso"

Il existe dans le système des variables prédéfinies dont on peut modifier le contenu. Le contenu de
ces variables est généralement défini dans les différents fichiers de configuration de l’interpréteur
de commande. Un exemple connu d’une telle variable est la variable PATH. Voici quelques-unes
de ces variables d’environnement :

Variable Signification

BASH Le nom de fichier du bash

HOME Le chemin de votre répertoire personnel

LOGNAME Votre nom d’utilisateur (login)

HOSTNAME Le nom de votre ordinateur

MANPATH Le chemin de tout les répertoires contenant des pages man

PATH Les répertoires de recherche lors de l’exécution d’une commande

PS1 Le format de l’invite de commande

PWD Le nom du répertoire courant

USER Votre nom d’utilisateur (login)

La liste des variables d’environnement est accessible par la commande : env. La commande echo
permet d'obtenir la valeur d'une telle variable. Pour que les variables définies dans les différents
fichiers soient accessibles par les commandes, on doit les exporter à l’aide de la commande export.

Exemple 1 :

Afficher le contenu de la variable système $PATH

© Stéphane Gill 5
Paramétrage de l’interpréteur de commandes

Exemple 2 :

Afficher la liste des variables d’environnement

Exemple 3 :

Ajouter le répertoire /home/jean/bin dans le path

Exemple 4 :

Ajouter le répertoire courant dans le path

Exemple 5 :

Exporter la variable d’environnement $PATH

Symbole d’accueil (prompt)

Lorsqu’il est exécuté de manière interactive, bash affiche le symbole d'accueil principal PS1 dès
qu'il est prêt à lire une commande, et le symbole d'accueil secondaire PS2 quand il a besoin de

© Stéphane Gill 6
Paramétrage de l’interpréteur de commandes

plus de données pour exécuter une commande. Bash permet de personnaliser ces chaînes
d'accueil, en insérant des séquences d'échappement spéciales (préfixées par un backslash) ayant
les significations suivantes :

Symbole Signification

\t l'heure actuelle au format HH:MM:SS

\d la date au format "Jour_de_la_semaine Mois Quantième" (ex : "Tue


May 26")

\n retour-chariot

\s le nom du shell, c'est-à-dire le nom de base de $0 (la portion suivant le


dernier slash)

\w le répertoire de travail en cours

\W le nom de base du répertoire de travail en cours

\u le nom de l'utilisateur

\h le nom d'hôte de la machine

\# le numéro de la commande

\! le numéro d'historique de la commande

\$ # si l'UID effectif est 0, $ sinon

\nnn le caractère de code octal nnn

\\ un backslash

\[ débute une série de caractères non-imprimables, qui permettent


d'inclure des séquences de contrôle de terminal dans une chaîne
d'accueil

\] fin d'une série de caractères non-imprimables

[a;xxm\ affiche un prompt de couleur xx (si a = 1 caractère gras)

Code des couleurs : 30 =Noir

31 =Rouge

32 =Vert

33 =Jaune

© Stéphane Gill 7
Paramétrage de l’interpréteur de commandes

34 =Bleu

35 =Magenta

36 =Blue clair

37 =Blanc

Bash offre aussi la variable PROMPT_COMMAND qui contient une commande à exécuter avant
d'afficher l'invite.

Exemple 1 :

Obtenir le symbole d’accueil suivant : [Linux inside] $

Exemple 2 :

Obtenir le symbole d’accueil suivant : [login : hostname] rep_courant > (Le login et le
hostname sont en gras et de couleur rouge).

Exemple 3 :

Exécuter la commande ls avant d’afficher le symbole d’accueil

© Stéphane Gill 8
Paramétrage de l’interpréteur de commandes

!"#$

Les fichiers CORE sont créés lors du plantage d'une application. Ils contiennent une image de la
mémoire (DUMP). À moins d'être développeur, ces fichiers souvent volumineux ne servent à rien,
sauf à prendre de la place.

Pour en limiter la taille, il suffit d’utiliser utiliser la commande: ulimit -c 0 (-c pour fichier CORE, et 0
pour la taille).

Pour afficher toutes les limites fixées: ulimit -a

Un alias est une abréviation matérialisant une commande ou un groupe de mots dans une ligne de
saisie. La substitution d’un alias est effectuée avant toutes les autres substitutions dans la ligne de
commande.

Un alias est défini par la commande :

alias Nom=texte

Le nom de l’alias ne doit pas commencer par un caractère spécial, mais il peut être composé de
lettres et de chiffres. Voici quelques exemples d’utilisation des alias.

$ alias ll=’ls –l’


$ alias llm=’ls –l ¦ more’

Par la commande unalias, il est possible de supprimer des alias. Il est aussi possible de faire
apparaître la liste des alias déjà définis en utilisant la commande alias sans paramètre

© Stéphane Gill 9
Paramétrage de l’interpréteur de commandes

Exemple 1 :

Créer un alias de ls vers ls de façon à avoir un ls en couleur

Exemple 2 :

Supprimer maintenant l’alias sur ls

& ' (

/etc/motd est un fichier de texte ASCII dont le contenu est affiché lors du login d’un utilisateur.
Motd signifie message of the day, et il contient généralement des messages destinés aux
utilisateurs concernant l'administration du système (ajout de périphériques, arrêts prévus du
système, nouvelles versions de logiciels, etc...). Il nécessite nettement moins d'espace disque
qu'un courrier électronique envoyé à tous les utilisateurs.

Linux 2.0 Penguin, © Larry Ewing, www.isc.tamu.edu/~lewing/linux

© Stéphane Gill 10

Vous aimerez peut-être aussi