Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Mme S.ELFILALI
Réalisé par :
NAJIHI Soukaina
AJANKAR Soukaina
BOUJADI Soukaina
ABOUNASR Meryem
1
Remerciements
Nous souhaitons adresser nos
remerciements les plus sincères à notre
chère professeure Mme Sanaa ELFILALI qui
nous a encadrées avec patience durant la
réalisation de ce travail. Ses conseils nous
ont été bien utiles ; Toujours disponible et
enthousiaste elle nous a beaucoup aidé. Et
nous tenons à associer à ces
remerciements toute personne ayant
contribué, de près ou de loin, à la réalisation
de ce travail.
2
Afin d’appliquer les méthodologies et les notions
enseignées par notre professeure Mme S.El FILALI . Nous devons
réaliser ce Travail qui a pour but d’approfondir les
connaissances acquises durant notre scolarité et de favoriser le
travail en groupe.
Le projet que nous devons réaliser est un tutorial contenant
tous ce qui concerne les Travaux pratiques.
Nous avons suivis une démarche bien détaillée afin de permettre
à l’étudiant de bien maitriser cette matière.
Notre rapport se structure de la façon suivante :
Tout d'abord, nous présentons l’énoncé des exercices. Puis, nous
présentons sa syntaxe, ainsi que son objectif et ensuite ses
solutions. Et enfin des notes nous expliquons comment nous
pouvons développer nos connaissances
3
Un terminal Unix ? Quoi qu'est-ce ?
C'est toute la base d'Unix : une fenêtre dans laquelle s'exécute un shell qui affiche
un prompt :
pubuntu@pubuntu:~$ par exemple. On tape une commande (ls -l -a par exemple),
on valide avec [Entrée] : le shell lance alors le programme (ici: ls), en lui passant
des paramètres (ici -l et -a). Le programme s'exécute, affiche des résultats (qu'il vaut
mieux lire, ce n'est pas pour rien qu'il les affiche), voire un message d'erreur
(remarque encore plus vraie), et (espérons-le) se termine. Le prompt s'affiche de
nouveau pour taper la commande suivante.
Comment le lance-t-on ?
Sous Unix (que ce soit Solaris en salle 106 ou Linux en salles 109 112 ou 002 ou
n'importe où en stage où ils travaillent sous Unix), il faut trouver un bouton ou un
item dans un menu qui ressemble à un écran noir, avec parfois un pingouin ou un
coquillage (shell) en superposition, appelé Term ou XTerm, ou Rxvt, ou Terminal,
Console...
4
Exercice 1 :
Objectifs :
Comment ca marche ?
La commande « touch » :
La commande touch permet de créer des fichiers.
5
Syntaxe :
$touch [Nom du fichier]
La commande « ls » :
ls liste les répertoires et les fichiers précisés dans noms. Par défaut, la sortie est
envoyée à l'écran par ordre alphabétique. Les options déterminent les informations à
afficher et présentation de l'affichage. Sans options, ls n'envoie que le nom des
fichiers. Si noms n'est pas précisé, c'est le répertoire courant qui est listé.
Syntaxe :
$ ls [options] [noms]
-R Traitement récursif
-a Tous les fichiers (y compris ceux qui commencent par un
point)
-d Affiche le nom des répertoires sans leur contenu
-l Format long (avec beaucoup de détails)
-nom est le nom d'un fichier ou d'un répertoire (avec ou sans
méta caractères)
6
La commande « cp » :
La commande cp copie le contenu de fichier1 dans fichier2 ;ou bien elle copie
source1 et source2 (etc...) dans répertoire .
Syntaxe :
La commande « mkdir » :
Syntaxe :
mkdir [-p] nouveau_répertoire
7
La commande « rmdir » :
Syntaxe :
La commande « rm » :
Syntaxe :
rm [-f] [-i] [-r] fichier1 [fichier2...]
La solution :
- $ls annee[0-9]
- $ls *ann*
- $ls [a,A]* ou ls [aA]*
Exercice 2 :
/home/userxG
x
F1 F2
9
1) Dans votre répertoire personnel, crée en une seul commande les
répertoires. Ci-dessus en utilisant la commande mkdir avec l’option –P.
2) Créer le fichier ch1 dans le répertoire F22.
3) Copier ch1 dans F11 sous le nom ch2.
4) Lier ch2 à ch4 dans F13.
5) Modifier le fichier ch2 en utilisant la commande cat.
6) Afficher le contenue du fichier ch4 .
7) Supprimer le fichier ch2.
8) Quel est le nombre de liens pour chacun des fichiers suivants :ch1, ch4 .
9) Supprimer de deux façon les deux arborescences suivantes :F1 et F2
Objectifs :
Utiliser les commandes ln et savoir la différence
entre un lien dur et un lien symbolique.
Utiliser la commande mkdir avec l’option –p.
Utiliser la commande cat pour afficher ou modifier
le contenu d’un fichier
Comment ca marche ?
La commande « cat » :
La commande cat visualise et/ou concatène les fichiers spécifiés sur la ligne de
commande. Par défaut, cat lit sur l'entrée standard et affiche le résultat sur la sortie
standard.
Syntaxe :
$ cat [fichier...]
10
La commande « cd » :
Syntaxe :
$ cd [répertoire]
Remarque :
La commande cd, comme toutes les commandes utilisant des répertoires,
permet de spécifier deux types de chemins :
et
utilisent notamment le répertoire '..' (Répertoire père).
Exemple :
cd ../rep1
les chemins absolus : il faut spécifier toute l'arborescence depuis la
racine.
Exemple :
cd /home/rep1
11
La commande « ln » :
Dans le cas de lien physique, pour effacer le fichier, vous devez effacer tous les
liens qui pointent sur ce fichier. Par contre pour des liens symboliques, vous pouvez
effacer le fichier sans effacer les liens, mais alors ceux-ci seront invalides.
Syntaxe :
ln [-s] source destination
12
Solution :
1)
2)
3)
4)
13
Dans ce cas là les contenus sont identiques. Les noms de fichiers ch4 et ch2
renvoient au même endroit sur le disque dur. Si on refait la même question avec
l’option –s alors on aura un lien symbolique.
ln –s F1/F11/CH2 F1/F13/ch4
On ne peut pas faire de lien dur vers un répertoire. Dans ce cas, il faut donc utiliser
un lien symbolique
5)
6)
7)
8)
14
la commande ls affiche après les droits d’accès d'un fichier le nombre de « noms »
que ce fichier possède : chaque création d'un nouveau lien en dur incrémente
(augmente) donc ce nombre d'une unité.
9)
La suppression est récursive c’est-à-dire que les répertoires sont supprimés ainsi
que leurs sous répertoires, etc.
Ça fonctionne pas parce que le répertoire F2 n’est pas vide .pour ce faire on peut
soit vider le contenue du répertoire F2 soit utiliser la commande rm.
Exercice 4 :
15
ls -l [Aa]* | wc
wc (imprime le nombre de lignes, de mots et de caractères fournis à
l'entrée standard .
Objectifs :
Comment ca marche ?
Les flux de redirections:
Sous les systèmes Unix, chaque processus possède trois sortes de flux de données:
Par défaut les deux flux de sortie sont envoyés sur le terminal de l'utilisateur (écran)
et l'entrée prend ses données depuis le clavier.
16
Figure 1
Les trois flux standards peuvent être redirigés vers d'autres sources autres que le
clavier ou l'écran. Par exemple, on peut ordonner à un processus de diriger sa
sortie standard vers un fichier. Pour cela, les numéros des descripteurs (0
:l'entrée standard ,1 : sortie standard et 2 :sortie d'erreurs )de flux sont utilisés.
Concaténation
Ajouter les sorties d'un processus à la fin fichier et le crée s'il n'existe pas. en
utilisant le double signe >>.
La redirection du flux de sortie d'erreur standard utilise les même signes, (c'est-à-
dire > et >>) mais précédés de l'identifiant du flux 2 (voir figure 1).
17
Exemple:
Rediriger l'entrée standard permet d'entrer des données provenant d'un fichier au
lieu du clavier.
La commande « wc » :
La commande wc compte le nombre de lignes, mots, ou caractères d'un fichier texte
.Fichier n'est passé en paramètre, c'est l’entrée standard qui sera lue. Si aucune
option n'est précisée, alors wc compte le nombre de lignes, mots, et caractères du
fichier.
18
Syntaxe:
wc [option] [fichier...]
Solution :
19
Maintenait je redirige cette sortie standard vers le fichier ch1
8) ls –l [Aa]* > ch2 : copie la liste des fichiers et leur attributs commence par a ou
A dans le fichier ch2.
20
wc < ch2 : compte le nombre de lignes, mots, et caractères du fichier ch2
Conclusion de question 8:
Exercice 4 :
1) Ouvrer vi et tapé le texte suivant :
Comment se connecter sous UNIX ?
Le premier concept important à garder en mémoire avant de travailler
avec UNIX ou sa version PC Linux est qu’il s’agit d’un système multi-
utilisateurs. L’accès à la machine UNIX doit donc être contrôlé. Pour être
enregistré sous UNIX, il faut avoir un compte utilisateur (login, password)
crée par l’administrateur système. L’administrateur est un super
utilisateur qui a les droits de gestion du système (login root ou su).
2) Enregistrer ce fichier sous le nom de fiche1.
3) Ajouter le texte suivant :
21
Login : (Taper votre nom d’utilisateur)
Le système affiche alors le message :
password : (Vous devez alors rentrer votre mot de passe)
Trouver un bon mot de passe : Voici quelques conseils qui vous
permettront de trouver un mot de passe le plus sûr possible.
Utiliser des majuscules et des minuscules.
Utiliser des chiffres et des caractères spéciaux.
7 à 8 caractères de long
Concaténer des mots pour en créer un autre
4) Quitter vi en sauvegardant les modifications.
5) Rechercher toutes les lignes qui commence par le ou la.
6) Rechercher toutes les lignes qui contiennent des caractères écrits en
majuscule.
7) Rechercher dans tout le texte les occurrences d’utilisateur et remplacer
les par user.
8) Rechercher toutes les occurrences de * dans le texte.
Objectifs :
Comment ca marche ?
L’editeur de texte vi
22
La commande «grep » :
Syntaxe :
$ grep[-civw] "modèle de critère" [fichier …]
pas au critère
mot isolé
23
La commande «sed » :
Commande de substitution
La syntaxe :
sed [adresse]s/expr régulière/remplacement/options.
Options
Sans précision, la commande ne s'applique qu'à la 1ère occurrence de
chaque ligne.
0...9 : indique que la substitution ne s'applique qu'à la nième occurrence
g : effectue les modifications sur toutes les occurrences trouvées.
Exemple :
sed s/moi/toi/g fich.moi > fich.toi
le fichier fich.moi est parcouru, à chaque occurrence de "moi", ce mot est
remplacé par "toi" et le nouveau fichier est sauvegardé sous le nom fich.toi
Délimiteur :
Le slash / étant très utilisé au niveau du shell comme
séparateur de niveau de répertoire, il est possible d'utiliser à
la place tout autre caractère comme #
sed s#/home#/rep_perso#g /etc/passwd > /tmp/passwd.new
24
Destruction ou sélection
Cette option permet de filtrer les lignes qui satisfont une expression régulière.
Ces lignes ne sont pas détruites dans le fichier d'origine, mais ne sont pas
transmise en sortie.
Comment modifier alors le fichier à traiter ?
cp fichier copie
sed /.../d copie
Par exemple, pour détruire toutes les lignes vide d'un fichier :
sed /^$/d
Remplacement dans le VI :
L'accent circonflexe désigne le début de ligne. $ désigne la fin de ligne, [ ...] désigne un
intervalle et [^...] l'intervalle complémentaire, * désigne une répétition de caractères.
Recherche dans le VI :
Pour rechercher un mot dans un document, il vous suffit (en mode normal) de taper / suivi de
la chaîne à rechercher, puis de valider par la touche entrée. Il est alors possible d'aller
d'occurrence en occurrence grâce à la touche n.
La solution :
1) vi
2) : w fiche1
3) vi fiche1
4) :x
5) - Vi : / ^ [Ll] [ae]
25
-Terminal $grep “[Ll][ea]“ fiche1
6) – Vi :/ [A-Z]
-Terminal $grep “[A-Z]“ fiche1
7) – Vi : 0,$ S/utilisateur/User/gci
-Terminal $sed ’s/utilisateur/user/g’ fiche1
26
8) – Vi :/*
-Terminal $grep “*“ fiche1
Note
Il y a d’autre éditeur de texte les plus célèbre sont :
Nano, Im et Emacs
Entre ces trois le plus facile a utiliser c’est Nano
27
Exercice 5 :
1) Ouvrer vi et tapé le texte suivant:
Ali:13:022568779:Casablanca
Omar:55:022556378:Rabat
Adil:56:039884596:Tanger
Noureddine:80:022998766:Fes
Zakaria:89:023363398:Marrakech
Reda:79:022225262:Oujda
Mohamed:72:023055566:Eljadida
Boubker:72:022088089:Tanger
Khalid:79:022056595:Casablanca
Mustapha:89:022358856:Fes
Aziz:56:022569676:Eljadida
2) Sauvegarder ce contenu sous le nom carnet-adresse.
3) Ouvrir vi en éditant le fichier carnet-adresse et ajouter le texte suivant :
Saloua:80:022151113:Marrakech
Fatima:55:022198922:Rabat
Halima:13:022343533:Oujda
Nadia:56:022990939:Eljadida
Ilham:80:022897444:Fes
Fatiha:79:022568222:Oujda
Mina:13:023256978:Rabat
Khadija:56:055569955:Marrakech
Saadia:89:039568456:Casablanca
Imane:55:055562378:Tanger
Madiha:72:039256696:Oujda
4) Sauvegarder les modifications.
Le fichier carnet-adresse contient quatre champ : Le premier champ
représente le nom, le deuxième le code du département, le troisième le
numéro de téléphone et le dernier la ville. Attention le premier champ est
noté 0, le deuxième 1, ainsi de suite.
5) Compter le nombre ligne, mot et caractères du fichier carnet-adresse.
6) Créer le fichier carnet-adresseA qui contient les 10 lignes premières du
fichier carnet-adresse.
7) Ranger toutes les lignes par ordre alphabétique en effectuant un tri sur le
premier caractère du fichier carnet-adresse.
8) Effectuer un tri inversé sur le deuxième champ
9) Effectuer un tri sur le deuxième caractère du champ Numéro 4 (ville)
10) Créer en une seule commande le fichier carnet-adresse-tri qui contient les
10 premières lignes du tri sur le champ Numéro 4 (ville)
11) Extraire les 10 premiers caractères de chaque ligne du fichier carnet-
adresse.
12) Créer en une seule commande le fichier carnet-adresseB qui contient
28
deux champs de toutes les lignes.
13) Créer en une seule commande le fichier carnet-adresseC qui contient les
10 premiers caractères de toutes les lignes.
Objectifs :
.
Découvrir la commande “head” et ses options.
Comment ca marche ?
La commande «head» :
Syntaxe :
head [-n] [fichier...]
La commande « sort » :
La commande sort trie les lignes des fichiers en arguments et affiche le résultat à
l'écran. Le clavier est lu si fichier est omis. Par défaut sort effectue un tri par ordre
alphabétique; mais les options
29
Syntaxe :
sort [-ufnr] [-o fic] [fichier...]
La commande « cut » :
La commande cut de couper une partie d’un fichier et conserver uniquement une
partie de chaque ligne
Syntaxe :
La solution :
30
2) Premièrement on clique sur la touche Echap pour passer au mode commande
après on sauvegarde notre fichier par :w carnet-adresse
3) vi carnet-adresse
i
5)wc carnet-adresse
6)head -10 carnet-adresse > carnet-adresseA
7)sort carnet-adresse
8)sort –t: –k1 –rn carnet-adresse
9)sort –t: –k3 carnet-adresse
10)sort –t: -k3 carnet-adresse | head -10 > carnet-adresse-tri
11)cut –c 1-10 carnet-adresse
12)cut –d: -f1,3 carnet-adresse > carnet-adresseB
13)cut –c 1-10 carnet-adresse > carnet-adresseB
Exercice 6 :
13:informatique
55:comptabilité
56:commerciale
80:stock
31
89:fabrication
72:direction
79:maintenance
a) departement et carnet-adresse
b) departement-trie et carnet-adresse
c) departement et carnet-adresse-trie
d) departement-trie et carnet-adresse-trie
6) Editer le fichier departement et copier / coller tous les lignes à la fin du fichier. Et
7) Applique la commande uniq sur le tri du fichier departement-doublant pour éliminer les
lignes dupliquées.
32
10) Applique la commande comm sur les fichiers departement et departement-doublant.
Objectifs :
Comment ça marche ?
La commande join :
Syntaxe :
$ join [-j1|2]m –tx [-o list] fichier1 fichier2
- j1 m champ m du fichier 1
le plus simple est de prendre un exemple. Soit fich1 un fichier qui contient
33
maroc 1 2
egypt 3 4
maroc 1991
egupt 1992
maroc 1 1991
egypt 3 1992
La commande uniq :
Syntaxe :
$ uniq fichier1
34
Solution :
1) vi
i
2)
4)
35
5) a)
b)
c)
36
d)
Pour faire la jointure entre deux fichiers il faut que ces derniers soient triés et avoir
un champ commun donc la question d) est la seule qui est correcte
6)
6)
37
7)
38
8)
39
9)
10)
11)
Note
La commande join est un peu plus complexe : elle permet de fusionner des fichiers
à partir d'une clef commune. join va parcourir les deux fichiers ligne à ligne et
rechercher une clef présente
40
dans les deux fichiers. La sortie sera la fusion des deux fichiers lorsque la clef est
trouvée:
key3 y keyA z
=> les lignes 1 et 2 des fichiers sont fusionnées dans la sortie. Les lignes 3 n'ont pas
de correspondance et sont donc rejetées.
Exercice 7 :
fich1 : rwxrw-r--
fich2 : r—r—r--
fich3 : --x--xr--
41
nouveaux fichiers les droits d’accès ‘rw-r--r--‘.
6) Changer les modes d’accès de tous les fichiers qui ont une extension ’.c ‘
en ‘rw-r--r--‘.
Objectifs :
Comment ça marche ?
42
le groupe (group):qui n'est pas forcément le groupe du
propriétaire.
les autres (others):ceux qui ne font pas partie du groupe.
Type:
d pour un répertoire.
l un lien.
Les trois caractères d'un bloc sont les suivants, dans l'ordre :
Si l'un des droits n'est pas accordé, un tiret est affiché à sa place.
43
Modifier les droits d'accès
La commande "chmod " (abréviation de change mode)
permet de modifier les droits associés à un fichier.
Syntaxe:
mode symbolique
Option:
-c: n'affiche que les changements réalisés.
-f : supprime la plupart des messages d'erreur.
-v : liste les fichiers en cours de modification.
-R : modifie les modes des fichiers des sous-répertoires de manière récursive
mode numérique
44
Base binaire (base 2)
Exemple:
Syntaxe :
Remarque :
Solution :
3) Forme symbolique :
47
fich3 :--x --x r-- : $chmod u=--x,g=--x,o=r-- fich3
Forme octale:
$chmod 764 fich1
Commentaire :
Si je crée un nouveau fichier s'appelle fich5, comme vous
remarquer les droits d'accès sont 'rw-r--r-- ' .
6) Mode octal:
chmod 644 *c
Mode symbolique:
chmod u=rw-,g=r--,o=r-- *c
48
8) chmod u-x ,o-r fich3
Commentaire :
Comme vous remarquez, vous n'avez pas le droit de changer
l'utilisateur (même chose pour groupe) si vous êtes un simple
utilisateur .Il est nécessaire de passer en mode root (super utilisateur)
49
# : Super utilisateur
Exercice 8 :
Objectifs :
51
Comment ça marche ?
52
cat > nom_fichier cette commande nous aide
d’ajouter des infos à nos fichiers comme le fichier
« nom_fichier ».
Solution :
53
Vérifiant la création de fichier
13) ls –l
54
vi Rep/F2/fich21 i “bonjour fich21” :x
vi Rep/F2/fich22 i “bonjour fich22” :x
vi Rep/F2/fich23 i “bonjour fich23” :x
vi Rep/F3/fich31 i “bonjour fich31” :x
vi Rep/F3/fich32 i “bonjour fich32” :x
vi Rep/F3/fich33 i “bonjour fich33” :x
55
16) cd Rep /F0 entrée
ls Rep/F0 entrée
cd Rep /F1 entrée
ls Rep/F1 entrée
cd Rep /F2 entrée
ls Rep/F2 entrée
cd Rep /F3 entrée
ls Rep/F3 entrée
cd Rep /F4 entrée
ls Rep/F4 entrée
cd Rep /F5 entrée
ls Rep/F entrée
cd Rep /F6 entrée
ls Rep/F6 entrée
cd Rep /F7 entrée
ls Rep/F7 entrée
56
Les deux commandes « ls » et « cd » ne vont pas marcher parce qu’on a
changé les droits d’accès de chaque répertoire dans la question
précédente.
17) Pour cette question on n’a pas le droit d’éditer ces fichiers
F0/fich01, F1/fich11, …, F7/fich71.
18) chmod 000 Rep/F0
chmod 440 Rep/F1
chmod 220 Rep/F2
chmod 110 Rep/F3
chmod 550 Rep/F4
chmod 330 Rep/F5
chmod 660 Rep/F6
chmod 770 Rep/F7
19)
cd Rep /F0
ls Rep/F0
cd Rep /F1
ls Rep/F1
cd Rep /F2
ls Rep/F2
cd Rep /F3
ls Rep/F3
cd Rep /F4
ls Rep/F4
cd Rep /F5
ls Rep/F
cd Rep /F6
ls Rep/F6
cd Rep /F7
ls Rep/F7
57
Exercice 9:
Objectifs :
Comment ça marche ?
La commande « grep » :
La commande grep permet de rechercher expression dans fichier .Elle affiche
les noms de fichiers ainsi que les lignes contenant expression.
Syntaxe :
grep [-ilsfv] expression [fichier...]
Solution :
1)Vi
2) :w carnet-adresse
3)sous le vi :
Signifier le début
/ ^ [a-d]
Pour recherche
Sous le terminal :
4)sous le vi :
/casablanca
59
Sous le terminal
grep casablanca carnet-adresse
Exercice 10 :
60
2) Copier le fichier /etc/passwd dans votre répertoire courant. Rechercher
dans ce fichier l’ensemble des lignes qui commencent par votre nom
d’utilisateur.
En déduire les informations qui concernent votre compte utilisateur.
3) Dans ce même fichier rechercher les lignes qui identifient les utilisateurs
ne faisant pas partie du même groupe que vous.
4) Donner la liste des utilisateurs dont le UID varie entre 500 et 599
5) Le nombre d’utilisateurs qui utilisent comme programme initial dans
passwd le /bin/bash
6) Donner la liste des utilisateurs dont le nom contient la lettre à qui se
répète 2 fois
7) tous les utilisateurs dont le champ commentaire n’est pas vide
8) La ligne de commande suivante retourne le nombre de lignes du fichier
Liste qui contiennent la chaîne de caractères em :
$ grep –c "em" liste
Donner la ligne de commande qui permet d’aboutir au même résultat sans
l’option –c.
Objectifs :
Solution :
61
1)
2) a-
b-
c-
d-
3)
62
Les informations de mon compte :
1. Username :pubunto
4)
63
5)
6)
7)
64
8)
Note
65
Exercice 11 :
Objectifs :
66
Pour bien maitriser les différentes utilités de la
commande find.
Comment ça marche ?
find :
Syntaxe :
find répertoire option1 [option2...]
Exemple :
$ find $HOME - name "vil*" -print
$ find . -print| cpio -ocvB / dev/streamer
Remarque :
67
Après -exec, on peut utiliser n'importe quelle commande en la faisant suivre de
"\;". Par exemple : find source -perm 777 -type f -exec rm {}\;
Solution :
Note
Il y a une autre commande qu’on peut l’utiliser
pour effectuer une recherche rapide .cette
commande s’appelle locate (localiser)
Pour rechercher un fichier sur tout le disque, la commande locate est très
rapide mais ne trouvera pas les fichiers qui viennent d'être créés dans la
journée. On peut mettre à jour la liste des fichiers qu'elle connaît en
appelant updatedb.(précédé par sudo)
_ find est une commande plus puissante mais plus lente qui va parcourir votre
disque à la recherche de vos fichiers. Elle peut s'utiliser avec trois paramètres, dans
l'ordre :
où chercher, que chercher et que faire avec.
69
Exercice 12 :
Objectifs :
70
Comment utiliser la programmation Shell.
savoir compter avec des scripts Shell par différentes
façons : Les nombres de fichiers Les nombres de
répertoires
Comment ça marche ?
Programmation Shell:
Le shell c'est un programme qui se trouve dans le répertoire /bin. Et ce que l’on
appel un « Interpréteur de commandes ».
dans la programmation shell on travaille avec un éditeur du texte de notre choix
(script).
71
Case $variable in
Valeur1)
Commande1;;
Valeur2)
Commande2;;
….….
Commande;;
la syntaxe de while
while condition
do
commandes
done
la syntaxe de until
Until condition
do
commandes
done
Solution :
1) sous vi :
Vi exo12-1
72
: wq
Sous terminal :
Chmod +x exo12-1
Rendre le fichier exécutable pour avoir le droit d’exécution du script
. /exo12-1
2) sous vi :
vi exo12-2
: wq
Sous terminal :
chmod +x exo12-2
. /exo12-2 $HOME
3) sous vi :
vi exo12-3
73
sous terminal :
sh exo12-3
4)sous vi :
74
5)vi exo12-5
#! /bin/bash
echo tapez un chemin valide
read chemin
nb-r=0
nb-w=0
nb-x=0
6)vi exo12-6
#! /bin/bash
76
L'idée force était de familiariser le lecteur avec ce que
fait Linux quand il exécute une commande. Ce qui citer ici
ne gère pas toutes les fonctionnalités que bash prennent
en charge. La gestion des touches Tab, Page Haut/Bas,
comme on le voit dans bash peut être implémentée.
D'autres fonctionnalités comme la prise en charge de la
programmation shell, la modification des variables
d'environnement pendant la durée d'exécution, etc. sont
essentielles. Une étude attentive du code source
de bash n'est pas une tâche aisée en raison des diverses
complexités impliquées, mais elle vous aidera à
développer un interpréteur de commandes très complet.
77
78