|
grattage gratuit
loterie gratuite
casino gratuit
quizz gratuit
pari gratuit
jeu de pronostic
tirage au sort
jeux de hasard
tombola gratuite
jeux en flash
jeu en réseau
jeu de stratégie
jeux TV
multi jeux
concours gratuit
|
- Les shells de Linux
- Il y a différents shells
sous Linux
- Choisir son shell
- Les commandes internes de bash
- Les fichiers d'initialisation utilisés
par bash
Les shells de Linux
Le shell est langage qui permet d'accéder au système
d'exploitation qui peuvent provenir soit d'un terminal (
une fenêtre xterm) , soit d'un fichier, mais il faudra
préciser qu'il s'agit d'un fichier de commandes en
mettant au début de celui-ci la ligne suivante :#!/bin/bash
Une fois connecté sur votre ordinateur, vous vous
retrouvez avec une invité le symbole # (cela dépend
du shell utilisé).
Un shell permet d'interpréter les commandes saisies
par l'utilisateur et de les transmettre au noyau Linux.
Par défaut, le shell utilisé est le ``Bash''
(Bourne Again Shell). Pour connaître le shell que
vous utilisez, tapez :
[cr@localhost etc]# echo $SHELL
Il y a différents shells sous
Linux
bash : celui qui est le plus utilisé par défaut
sous Linux. Il conserve un historique ( faire la commande
history) des commandes et permet leur édition (sauvegarde
dans un fichier).
csh : le C shell. Ne permet pas l'édition de la
ligne de commande.
ksh : le Korn shell. plus connu sur les systèmes
UNIX.
tcsh : C'est une version améliorée du C
shell. Il possède et conserve également
un historique des commandes.
sh : les année70.
zsh :le plus récent.Dans le Linux Mandrake, il y
a un documentation et des exemples .
Dans le répertoire /etc
Il y a un fichier qui comporte la liste des shells disponibles
sous Linux.
[cr@localhost cr]# cd /etc
[cr@localhost etc]# cat shell
/bin/bash
/bin/csh
/bin/sh
/bin/tcsh
[cr@localhost etc]#
Il faut savoir que chaque shells comportent sa propre syntaxe,
elles peuvent être plus ou moins compatible.
Je vous conseille d'utiliser le shell Bash, à la
fois simple,puissant et le plus utilisé sous Linux-Mandrake,
RedHat Debian ...etc.Il l'est par défaut.
Choisir son shell
Dans le répertoire /etc,
il y a un fichier shell, il contient la liste des shells
disponibles.
[cr@localhost cr]# cd /etc
[cr@localhost etc]# cat shell
/bin/bash
/bin/csh
/bin/sh
/bin/tcsh
[cr@localhost etc]#
Dans le répertoire /etc,
il y a un fichier passwd, les utilisateurs et le shell qu'ils
utilisent.
Ainsi, on trouve la ligne suivante pour l'utilisateur
cr, cr et nobody:
le cr et cr
utilisent le shell Bash.Alors
que l'invité nobody
qui n'a pas de mot de passe utilise sh.
[cr@localhost etc]# cat passwd
cr:x:0:0:cr:/cr:/bin/bash
...
nobody:x:65534:65534:Nobody:/:/bin/sh
...
cr:x:501:501:cr,teacher,0123456789,0123456789:/home/cr:/bin/bash
...
Les commandes internes de bash
bash, :, ., alias, bg, bind, break, builtin, case, cd, command,
continue, declare, dirs, disown, echo, enable, eval, exec,
exit, export, fc, fg, for, getopts, hash, help, history,
if, jobs, kill, let, local,logout, popd, pushd, pwd, read,
readonly, return, set, shift, shopt, source, suspend, test,
times, trap, type, typeset, ulimit, umask, unalias, unset,
until, wait, while.
Les fichiers d'initialisation utilisés
par bash
/etc/profile La configuration est faite par l'administrateur
du système, et exécuté par tous les
shells Bourne lors de la connection d'un utilisateur
$HOME/.bash_profile (exécuté lors d'une connection
d'un tulisateur, s'il utilise un shells bash)
$HOME/.bashrc (exécuté par tous les bash qui
ne sont pas login shell).
Exemple de fichier .bashrc :
# .bashrc
JDK=/usr/local/progs/j2sdk
LIB=/usr/local/progs/j2sdk/lib
CLASSPATH=$LIB/tools.jar:$LIB/dt.jar
PATH=./:/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin:$JDK/bin
ENV=$HOME/.bashrc
USERNAME="cr"
export USERNAME ENV PATH CLASSPATH
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
Si .bash_profile n'existe pas, .profile est utilisé
à la place.
Exemple de fichier .bash_profile :
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
unset USERNAME
Il y a la .bash_logout dans votre répertoire, exécution
lors de votre déconnection
Exemple de fichier .bash_logout :
# ~/.bash_logout
clear
Remarque
:
Pour exécuter un fichier de
commandes
[cr@localhost etc]chown u+x prog
pour le rendre exécutable
[cr@localhost etc]#./prog
Pour éviter d'ajouter ./
à chaque fois, il suffit d'ajouter ./
dans le fichier .bash
# .bashrc
.... PATH=./:/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin:$JDK/bin
....
Vous pouvez ensuite simplement taper
le nom du fichier qui contient les commandes :
[cr@localhost etc]#prog Plus
besoin de ./
|
|