Vous êtes sur la page 1sur 231

Introduction linformatique

Cours complet

G. Santini, J.-C. Dubacq


IUT de Villetaneuse

S1 2015

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

1 / 239

Organisation du module
Remerciements

Les cours et exercices de ce module sont directement inspirs des documents de M. Bosc, J.-C.
Dubacq et G. Santini.

Dautres intervenants ont particip llaboration des supports.

Les enseignements

12 sessions de 4h et du travail personnel . . .

6 sessions pour la prsentation gnrale du systme dexploitation Linux,

6 sessions pour la thorie de base du codage informatique

Votre prsence est obligatoire

Contrle des prsences.

Rapport des absences.

Lvaluation

Une composition aprs la sixime session (sur papier ou sur ordinateur).

Une composition la fin du module (sur papier ou sur ordinateur).


G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

3 / 239

Gnralits

Plan
1 Gnralits

Quest-ce quun ordinateur ?


Les composants principaux et les principes de fonctionnement dun ordinateur
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus
7 Complments sur larborescence
8 Flux de donnes
9 Les scripts Bash

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

4 / 239

Gnralits

Quest-ce quun ordinateur ?

Plan
1 Gnralits

Quest-ce quun ordinateur ?


Les composants principaux et les principes de fonctionnement dun ordinateur
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus
7 Complments sur larborescence
8 Flux de donnes
9 Les scripts Bash

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

6 / 239

Gnralits

Quest-ce quun ordinateur ?

Dfinition
Dfinition (Ordinateur)
Machine lectronique programmable capable de raliser des calculs logiques sur des nombres binaires.

Hardware

Cest une machine

Le fonctionnement dun ordinateur est bas sur une architecture matrielle (processeur, support de
stockage, interfaces utilisateurs, connexion, . . .) dont le fonctionnement est soumis aux lois de la physique.

Software

Cest une machine programmable

Cette machine est capable de remplir des tches diffrentes selon les instructions qui lui sont adresses.
Ces instructions, rdiges sous forme de programmes par les informaticiens, sont traites en fin de course
par le matriel de lordinateur.

Interaction Hardware/Software
La plupart du temps, linformaticien na pas a interagir directement avec le matriel. Pour traiter avec les
composants, tous les ordinateurs disposent dune couche logicielle appele systme dexploitation. Cette
couche est en charge de faire la passerelle entre linformaticien, ses outils, les programmes quil
dveloppe et, les composants et leur fonctionnement.
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

7 / 239

Gnralits

Composants et principes

Plan
1 Gnralits

Quest-ce quun ordinateur ?


Les composants principaux et les principes de fonctionnement dun ordinateur
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus
7 Complments sur larborescence
8 Flux de donnes
9 Les scripts Bash

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

8 / 239

Gnralits

Composants et principes

Les interfaces
La forme classique

Un ordinateur est classiquement compos


dune unit centrale et de priphriques
matriels (cran, clavier, souris, disques durs,
imprimantes/scaner, . . .).

Les interfaces permettent linteraction avec


lenvironnement (utilisateurs ou autres).

Des formes trs varies

Les ordinateurs modernes sont multiformes,

Ils remplissent des tches trs varies.

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

9 / 239

Gnralits

Composants et principes

Points communs et diffrences

Matriel commun

Des capacits de calcul : CPU et/ou GPU

De la mmoire : RAM, Disque dur, . . .

Logiciels similaires

Pour dialoguer avec le matriel : Systme dexploitation, Firmware

Pour accomplir ses tches : logiciels, programmes, . . .

Priphriques diffrents

Interfaces : Connexions rseau, crans, claviers, . . .

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

10 / 239

Gnralits

Composants et principes

La mmoire : une bibliothque plus ou moins grande


Le guichet et les fiches numrotes

Permet de stocker des informations comme nombre entiers


Toute information dun ordinateur peut tre vue comme des nombres entiers

Fiches numrotes par des adresses entires. Exemple : la fiche numro 221 contient la valeur 18.
Linterprtation de linformation nest pas incluse notion de codage

Les performances

Guichet unique daccs : une requte la fois.

On peut crire une valeur dans une fiche ou lire une fiche, rien dautre
On peut aussi demander un paquet de fiches contigus plus rapide !

Notion de mmoire cache hirarchique : copie de Grande Bibliothque dans une bibliothque plus
rapide et plus petite

Performance : de lordre de 20 Go/s

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

11 / 239

Gnralits

Composants et principes

Le processeur : un moteur quatre temps


Un assemblage htroclite

Une unit de calcul qui sait faire... des calculs (simples)

Des registres qui retiennent chacun une valeur

Des circuits de transmission contrlables lectriquement, qui relient les composants entre eux et
aussi le processeur la mmoire.

Une unit de contrle qui dcoupe une instruction en morceaux et contrle les transmissions des
circuits en fonction des rsultats.

Un cycle vital immuable


Le processeur effectue des oprations trs rapidement, en suivant toujours la mme procdure gnrale :
1. Rcupration de linstruction : on demande la mmoire le contenu dune adresse, dont la valeur
est trouve dans le registre PC.
2. Dcodage de linstruction : la valeur est analyse, les circuits de transmission sont mis en route
3. Excution de linstruction : lunit de calcul est mobilise
4. criture des rsultats : un registre sauvegarde le rsultat, le PC est augment de 1
Des instructions spcifiques, au lieu de calculs, permettent daccder la mmoire en lecture (tape 2) ou
criture (tape 4) au lieu des registres.
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

12 / 239

Gnralits

Composants et principes

Ltonnante efficacit
Les instructions donnes doivent tre simples (oprations arithmtiques entre deux valeurs, tests
lmentaires uniquement).

Les registres sont trs rapides ; la dure dun cycle est de lordre de la nanoseconde.

Toute opration complexe est divise par un humain en oprations lmentaires programmation.

Les instructions forment un code compact appel code machine.


Analogie : pour faire une multiplication, on peut faire plein dadditions et tester si on arrive 0.

Les grands dfauts


Aucune intelligence
Aucune comprhension relle des valeurs manipules
On ne peut pas tout surveiller bugs

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

13 / 239

Gnralits

Composants et principes

Lhorizon matriel
Interaction avec le matriel

Heureusement le programmeur ou lutilisateur ninteragit pas directement avec le matriel (sauf pour
remplacer une pice dfectueuse ou connecter un nouveau matriel . . .). Le dialogue avec
larchitecture matriel est laffaire de programmes ddis.

Plusieurs couches logicielles existent entre le matriel et lutilisateur : les firmwares, le noyau du
systme et les outils et programmes du systme dexploitation.

La plupart des logiciels que vous serez amen dvelopper ninteragiront quindirectement avec le
matriel par le filtre des librairies systme.

Haut Niveau

Logiciel,langages de programmation, . . .
Cest le domaine de linformatique et des informaticiens
Une interface : Le systme dexploitation

Bas niveau

Firmwares, excution des instructions machine, . . .

Cest le domaine de la physique et des lectroniciens.


G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

14 / 239

Le systme dexploitation

Plan
1 Gnralits
2 Le systme dexploitation

La fonction du systme dexploitation


La multiplicit des systmes existants
Comparatif
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus
7 Complments sur larborescence
8 Flux de donnes
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

15 / 239

Le systme dexploitation

La fonction du systme dexploitation

Plan
1 Gnralits
2 Le systme dexploitation

La fonction du systme dexploitation


La multiplicit des systmes existants
Comparatif
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus
7 Complments sur larborescence
8 Flux de donnes
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

17 / 239

Le systme dexploitation

La fonction du systme dexploitation

Le systme dexploitation
Le systme dexploitation permet de dvelopper des programmes sans tenir compte de la complexit
physique de la machine. Les programmes utilisent des fonctionnalits standardises daccs aux
ressources matrielles.

Ct Systme, lO.S.

coordonne lutilisation des ressources (par


exemple quel programme utilise le
processeur un moment donn,
allocation de la mmoire, . . .),

assure la maintenance et la fiabilit du


systme (par exemple gestion des
fichiers, de la scurit informatique, . . .)

fournit des services commun tous les


programmes

Ct utilisateur, lO.S.

facilite laccs et lutilisation des


ressources matrielles,

propose une interface de programmation


permettant dutiliser ces matriels
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

18 / 239

Le systme dexploitation

La multiplicit des systmes existants

Plan
1 Gnralits
2 Le systme dexploitation

La fonction du systme dexploitation


La multiplicit des systmes existants
Comparatif
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus
7 Complments sur larborescence
8 Flux de donnes
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

19 / 239

Le systme dexploitation

La multiplicit des systmes existants

Les diffrents systmes dexploitation


Beaucoup dOS diffrents existent :

Trois OS se distinguent :

Chaque architecture matrielle demande un


systme dexploitation adapt. Certain
systmes dexploitation sont plus souples et
prennent en charge des architectures
matrielles multiples.

Windows est le systme dexploitation le plus


utilis, OS X est rput le plus simple et Linux
est le systme dexploitation le plus souple.
Statistiques au 5 janvier 2011 :
http://gs.statcounter.com/

G. Santini, J.-C. Dubacq (IUTV)

90% des ordinateurs utilisent Windows,

il existe plus de 600 distributions Linux. . .

Introduction linformatique

S1 2015

20 / 239

Le systme dexploitation

Comparatif

Plan
1 Gnralits
2 Le systme dexploitation

La fonction du systme dexploitation


La multiplicit des systmes existants
Comparatif
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus
7 Complments sur larborescence
8 Flux de donnes
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

21 / 239

Le systme dexploitation

Comparatif

Les diffrents systmes dexploitation

Windows

Linux

Non propritaire : Gratuit le plus souvent

Propritaire : Payant

Ouvert : sources disponibles

Sources non disponibles

Flexible : sources modifiables

Sources non modifiables

Puissant : Programmable

Communaut active : entraide des


utilisateurs

Communaut active : nombreux utilisateurs,


services payants

Plus complexe : plutt pour les informaticiens


(interfaces de programmation optimises)

Plus ergonomique : pour les utilisateurs


(interfaces dutilisation optimises)

Les systmes, en constante volution


Depuis une dizaine danne, Linux et Windows ont beaucoup volu. La plupart des distributions Linux
proposent des systmes dinstallation automatiss, des outils de bureautique ressemblant aux suites
commerciales. Il bnficie en outre dune scurit accrue lheure des virus et autres failles de scurit.
Windows propose de plus en plus de fonctionnalits empruntes Linux.
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

22 / 239

Le systme Linux

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux

Un peu dhistoire
Debian : La distribution utilise lIUT
Un systme multi-utilisateurs
Une interface graphique
Les logiciels disponibles
Distribution et accs aux logiciels
La ligne de commande
De laide sur Linux et les commandes Shell
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

23 / 239

Le systme Linux

Un peu dhistoire

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux

Un peu dhistoire
Debian : La distribution utilise lIUT
Un systme multi-utilisateurs
Une interface graphique
Les logiciels disponibles
Distribution et accs aux logiciels
La ligne de commande
De laide sur Linux et les commandes Shell
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

25 / 239

Le systme Linux

Un peu dhistoire

Un peu dhistoire
GNU-Linux

Le systme GNU-Linux est la rencontre dune technologie, le noyau Linux et dune philosophie de
dveloppement et de diffusion. Cest un systme au dveloppement collaboratif (par une
communaut) qui est distribu librement et permet lutilisation de tous les logiciels libres dvelopps
pour son architecture.

Le noyau Linux est historiquement une version libre du systme UNIX dvelopp initialement par le
Finlandais Linus Torvalds partir du dbut des annes 1990.

Le projet GNU est celui du dveloppement collaboratif et libre dun systme dexploitation libre initi
par Richard Stallman en 1983.

Aujourdhui

Cest un systme trs largement diffus et utilis sur lequel ont t dveloppes plusieurs
distributions (qui sont des suites logicielles qui accompagnent le noyau).

Initialement confidentiel et rserv des spcialistes avec des interfaces rudimentaires, il est
aujourdhui toujours plus ergonomique et automatis pour les non spcialistes, mais laisse les outils
et interfaces de bas niveau disponibles au plus grand nombre.

On notera par exemple lexistence de nombreuses interfaces graphiques Bureaux (GNOME, KDE,
. . .) de nombreux paquetages pr-compiles, de nombreux outils dadministration et de services
(protocoles, . . .)
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

26 / 239

Le systme Linux

Debian : La distribution utilise lIUT

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux

Un peu dhistoire
Debian : La distribution utilise lIUT
Un systme multi-utilisateurs
Une interface graphique
Les logiciels disponibles
Distribution et accs aux logiciels
La ligne de commande
De laide sur Linux et les commandes Shell
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

27 / 239

Le systme Linux

Debian : La distribution utilise lIUT

lIUT : Debian
Une distribution tlchargeable
http://www.debian.org/

Pour ce cours

Les concepts abords dans ce module sont gnraux.

Il pourront tre tests sur tous les systmes Linux (avec de trs faibles variantes).

Il vous est possible dinstaller une version de Linux sur votre ordinateur personnel (installation ou
version Live) pour votre pratique personnelle et la prparation de lexamen.

Une pratique rgulire devrait vous assurer une bonne note peu de frais. . .

Pour vous prparer lexamen


Il vous est possible :

dutiliser Linux dans les salles machines,

dinstaller une version de Linux sur votre ordinateur personnel (installation ou version Live).
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

28 / 239

Le systme Linux

Un systme multi-utilisateurs

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux

Un peu dhistoire
Debian : La distribution utilise lIUT
Un systme multi-utilisateurs
Une interface graphique
Les logiciels disponibles
Distribution et accs aux logiciels
La ligne de commande
De laide sur Linux et les commandes Shell
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

29 / 239

Le systme Linux

Un systme multi-utilisateurs

Un systme avec plusieurs utilisateurs


Des utilisateurs et des droits

Chaque personne accdant au systme est identifie par un nom dutilisateur (dit login) et un mot
de passe (dit password).

Chaque utilisateur bnficie de permissions : excution de certains programmes, lecture de


certaines donnes, criture de fichiers seulement dans certains rpertoires.

Chaque utilisateur bnficie dun espace de travail rserv sur le disque. Cest un rpertoire de
larborescence dans lequel lutilisateur a tous les droits : il peut y crer des sous-rpertoires, y crire
des fichiers, y installer des programmes et applications. Toutes ses donnes et prfrences
personnelles y sont regroupes.

Ce rpertoire est appel "Rpertoire Personnel" ou "Home Directory". Il est en gnral plac dans
un rpertoire qui sappelle /home/ et porte le nom de lutilisateur.

Superutilisateur - Root

certains utilisateurs ont des permissions tendues pour administrer le systme et effectuer des
oprations interdites lutilisateur normal.
lutilisateur root a tous les droits dans le systme (par exemple il peut changer les permissions de
nimporte quel fichier, il fixe les noms dutilisateur et les mots de passe, il peut installer des
programmes et librairies dans les rpertoires systme, . . .)
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

30 / 239

Le systme Linux

Un systme multi-utilisateurs

Identification en 2 tapes

tape #1
Sidentifier en donnant au systme son nom dutilisateur
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

31 / 239

Le systme Linux

Un systme multi-utilisateurs

Identification en 2 tapes

tape #2
Valider son identit avec le mot de passe
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

32 / 239

Le systme Linux

Un systme multi-utilisateurs

Exercices
Ce TP est un premier contact avec le systme dexploitation Linux. Il vous permettra dapprhender les
diffrences entre cet OS et ceux que vous pouvez avoir lhabitude dutiliser (Windows, MacOS-X). Nous
prsenterons au cours du TP les grandes lignes de lenvironnement de travail GNOME, la faon dont on
peut interagir avec le systme dexploitation au moyen de loutil "Terminal" ainsi que les outils de base pour
envoyer des mails (configuration de votre compte mail lIUT) et pour obtenir de linformation sur internet
(notamment sur Linux). Il existe de nombreuses versions gratuites ou payantes de Linux. La distribution
installe lIUT se nomme Debian et est tlchargeable depuis http://www.debian.org/.

Connexion initiale
Q1 Lorsquon allume lordinateur un laps de temps est ncessaire pour charger le systme dexploitation.
Au terme de ce chargement, une interface graphique propose lutilisateur de sidentifier. Linux est un
systme dexploitation multi-utilisateur. Chaque utilisateur doit systmatiquement sidentifier ("login")
auprs du systme pour avoir le droit de lutiliser. Une fois identifi, lutilisateur accs a ses fichiers
et son espace de travail personnel. Une fois quil a fini dutliser le systme, lutilisateur se dconnecte
("logout"). La priode entre lidentification et la connexion est appelle "session dutilisation".
Dmarrez votre ordinateur.
Q2 Connectez-vous ! Votre identifiant est votre numro dtudiant, votre mot de passe est votre numro
INE. Attention : les identifiants et les mots de passe sont sensibles la casse. Cela veut dire que les
caractres majuscules et minuscules sont distingus.
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

33 / 239

Le systme Linux

Une interface graphique

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux

Un peu dhistoire
Debian : La distribution utilise lIUT
Un systme multi-utilisateurs
Une interface graphique
Les logiciels disponibles
Distribution et accs aux logiciels
La ligne de commande
De laide sur Linux et les commandes Shell
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

34 / 239

Le systme Linux

Une interface graphique

Accs au systme

Le bureau GNOME
Parmi les diffrents environnements graphiques existants, vous utiliserez lenvironnement GNOME
(http://www.gnomefr.org/).
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

35 / 239

Le systme Linux

Une interface graphique

Exercices

Mtaphore du bureau
Contrairement aux systmes dexploitation propritaires, lenvironnement de travail (bureau) nest pas
directement li au systme dexploitation. Les deux environnements de travail les plus utiliss sous Linux
sont GNOME (http://www.gnomefr.org/) et KDE (http://fr.kde.org/)
Lenvironnement choisi lIUT est GNOME . Une fois la session lance et lenvironnement charg, vous
arrivez dans un espace de travail appel bureau. Cet environnement de travail est assez proche de celui
qui peut tre propos par les systmes dexploitation propritaires. Au moyen de la souris, vous pouvez
intragir avec le systme. En cliquant sur les lments graphiques, vous pouvez ouvrir des menus, lancer
des programmes, quitter le systme...
Q3 Identifier la barre de menu, la barre de tches et le bureau.
Q4 Dans cet environnement, identifiez deux faons de lancer le navigateur internet (Firefox
lapplication terminal ( ).

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

), et

S1 2015

36 / 239

Le systme Linux

Une interface graphique

Exercices
Lancement dapplications
Comme la plupart des systmes dexploitation modernes, la distribution de Linux mise votre disposition
est un systme multi-tches. Cela signifie, que vous pouvez excuter en parallle plusieurs applications. Il
nest pas rare que lors dune session vous lanciez plusieurs programmes o chaque programme est
associ une fentre. la suite des exercices prcdents, vous devez avoir au moins 4 fentres ouvertes
(mme si elles ne sont pas toutes visibles lcran). Les fentres ouvertes apparaissent dans la barre des
tches situe dans la partie basse de lcran qui doit alors ressembler a :
Q5 Donnez diffrentes faons de passer dun programme lautre, dune fentre lautre, (au moyen de
la souris ou du clavier) ? Quobservez-vous au niveau de la barre des tches lorsque vous passez
dune application lautre ?
Q6 Identifiez loutil permettant de passer dun bureau lautre. Dcrivez dans quelles situations ces
bureaux peuvent-tre utiles. Trouvez comment on dplace une fentre depuis un bureau vers un autre.
Q7 Placez sur les bureaux 1 et 2, une fentre de terminal chacun et sur les 3 et 4, une fentre de navigateur.
Rsultat attendu :
Q8 Expliquez la fonction de chacun des boutons placs dans le coin suprieur droit des fentres. Fermez
les fentres des programmes suivants : un terminal (bureau 1) et un navigateur (bureau 3).
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

37 / 239

Le systme Linux

Les logiciels disponibles

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux

Un peu dhistoire
Debian : La distribution utilise lIUT
Un systme multi-utilisateurs
Une interface graphique
Les logiciels disponibles
Distribution et accs aux logiciels
La ligne de commande
De laide sur Linux et les commandes Shell
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

38 / 239

Le systme Linux

Les logiciels disponibles

Les logiciels disponibles


Les suites bureautiques

Les suites bureautiques proposent les fonctionnalits grand public de traitement de texte, de tableur,
de prsentation, de dessin.
Plusieurs suites gratuites existent en libre accs sous linux

CalligraSuite (http://www.calligra-suite.org/)
OpenOffice (http://fr.openoffice.org/)
...

Les programes ddis

Navigateur Web, Client de messagerie, comme sous dautres OS, de nombreuses solutions existent.

Firefox, Opera, Konqueror, . . .


Thunderbird, KMail, . . .

Des logiciels parmi les plus puissants :

Manipulation et cration dimages : GIMP, ImageMagick, . . .


Modlisation 3D : Blender, . . .

De nombreuses micro-application ou programmes

De nombreux programmes de conversion de format, de communication et de tlchargement


existent en ligne de commande . . .
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

39 / 239

Le systme Linux

Les logiciels disponibles

Exercices

diteur de texte
Nous allons crer un nouveau fichier. Pour cela nous allons utiliser un outil fondamental pour tout
programmeur : un diteur de texte. Plusieurs diteurs de texte sont votre disposition (vous pouvez
explorer le menu Applications Accessoires ou Applications Dveloppement dans la barre de menu
de GNOME). la diffrence de logiciels tels que Word, un diteur de texte ne permet que de saisir du
texte brut, sans mise en forme. Les programmes sont en gnral crits dans un diteur de texte. Pour
lancer un diteur de texte trois moyens sont votre disposition :

Lancer lapplication depuis le menu application,

Lancer lapplication depuis une icne du bureau,

Lancer lapplication depuis la ligne de comande, par exemple en tapant :


login@host:$ gedit

Ceci aura pour effet douvrir une fentre de lditeur.

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

40 / 239

Le systme Linux

Les logiciels disponibles

Exercices
diteur de texte (suite)
Q9 Tapez du texte dans la fentre et enregistrez le fichier dans votre rpertoire personnel, avec le nom
fichier_test_1.txt.
Q10 Dfinissez ce quest un raccourci clavier et quoi il sert (aidez-vous dInternet si ncessaire). Donnez
une liste dau moins 8 raccourcis clavier standards les plus utiliss des diteurs de texte.
Q11 Modifiez le fichier texte fichier_test_1.txt pour que le texte suivant y figure :
Ondoyons un poupon, dit Orgon, fils dUbu. Choux, bijoux, poux, puis du mou, du conflit,
buvons non point un grog : un punch. Il but du vin itou, du rhum, du whisky, du coco, puis il
dormit sur un roc.
Q12 En utilisant les raccourcis clavier ou les menus et aprs les avoir tests, donnez les combinaisons ou
procdures permettant de :

Rechercher dans ce texte toutes les occurrences de la chane de caractres oux.


Remplacer toutes les occurrences de la chane de caractres oux, par la chane de caractres ou.
Supprimer toutes les occurrences de la chane de caractres du.

Q13 Enregistrez les modifications dans un nouveau fichier appel fichier_test_2.txt.

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

41 / 239

Le systme Linux

Distribution et accs aux logiciels

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux

Un peu dhistoire
Debian : La distribution utilise lIUT
Un systme multi-utilisateurs
Une interface graphique
Les logiciels disponibles
Distribution et accs aux logiciels
La ligne de commande
De laide sur Linux et les commandes Shell
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

42 / 239

Le systme Linux

Distribution et accs aux logiciels

Distribution et accs aux logiciels


Licences Propritaires
Licences libres (open source)
Elles permettent de :

Elles restreignent un ou plusieurs des droits


lists supra.

dutiliser le logiciel,

dtudier et de modifier les sources,

Gratuit ne signifie pas libre

de redistribuer les sources, modifies ou non.

Certains logiciels gratuits sont des logiciels


propritaires).

Copyright contre Copyleft


Le Copyleftutilise le cadre lgal du copyright pour inverser les rapports de force : le code distribu peut
tre modifi et redistribu, mais uniquement avec les mmes droits Les logiciels qui drivent des
sources Copyleft ne peuvent tre distribus hors Copyleft.

Tout logiciel a un cot de dveloppement


En gnral :

Propritaire est payant : On paie un cot de dveloppement, un service de support, un service de


mise jour, ... Les sources sont protges et seuls les propritaires y ont accs.

Libre est gratuit : Le cot est support par une communaut (utilisateurs, subventions publiques,
subventions
ou (IUTV)
socits prives, . . .). Introduction linformatique
G. Santini, J.-C. Dubacq
S1 2015
43 / 239

Le systme Linux

La ligne de commande

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux

Un peu dhistoire
Debian : La distribution utilise lIUT
Un systme multi-utilisateurs
Une interface graphique
Les logiciels disponibles
Distribution et accs aux logiciels
La ligne de commande
De laide sur Linux et les commandes Shell
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

44 / 239

Le systme Linux

La ligne de commande

La ligne de commande
Interface de communication avec le systme (IHM)

Interface historique en mode texte,

Interface privilgie sous Linux : de nombreux programmes ne peuvent tre appels qu partir de la
ligne de commande,

Interface puissante et programmable.

Principes de fonctionnement
1. Lutilisateur tape des commandes sous forme de texte
2. Le texte est valu par un interprteur,
3. Linterprteur lance lexcution des commandes.

Utilit

Permet de lancer des programmes ou des applications,

Permet dinterroger le systme et dinteragir avec lui.

Bas sur un interprteur, un langage de programmation permet de construire des scripts pour
effectuer des tches complexes de gestion ou dadministration.
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

45 / 239

Le systme Linux

La ligne de commande

La ligne de commande
login@host:$

La fentre de terminal ou Shell


La ligne de commande est un programme fentr simple qui permet de taper du texte.

La ligne de commande comporte une partie non interprte [ user@localhost ]


appele le prompt. Ici le prompt est configur pour afficher le nom de lutilisateur, le nom de la
machine, et le nom du rpertoire courant.

Le caractre marque la position du curseur. Cest l quest insr le texte frapp par lutilisateur.

Le texte tap par lutilisateur sera valu comme une (ou plusieurs) commande(s) par un interprteur.

Linterprteur

Linterprteur parcourt le texte tap par lutilisateur, identifie les commandes et les paramtres, et si
la syntaxe est correcte, lance un processus.

Plusieurs interprteurs existent : csh, tcsh, bash. Dans ce cours nous utiliserons le bash.

Bash est linterprteur du projet GNU. Il est le plus utilis sous linux.
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

46 / 239

Le systme Linux

La ligne de commande

La ligne de commande
login@host:$ ls
public_html/
login@host:$

Excution dune commande

La commande (ici ls) est value (lance, interprte) ds que lutilisateur presse la touche (Entre). Lensemble du texte partant du prompt jusqu la fin de la ligne est interprt comme une
commande.

Si la commande est valide, un programme est lanc.

Durant lexcution du programme, la ligne de commande est indisponible. Lutilisateur doit attendre
la fin de lexcution du programme avant de pouvoir taper une nouvelle commande.

Si le programme produit un affichage (ici ls affiche le nom des fichiers et rpertoires), celui-ci est
affich par dfaut dans la fentre du Shell.
Une fois la commande excute, le Shell propose une nouvelle ligne de commande o lutilisateur
peut taper une nouvelle instruction.

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

47 / 239

Le systme Linux

La ligne de commande

La ligne de commande

login@host:$ nom_commande options


paramtres affichage
...
login@host:$

Interpretation de la commande
nom_commande Le premier mot doit correspondre au nom dune commande connue du systme,
options Comme le nom lindique les options ne sont pas obligatoires. Si il ny en a pas la
commande sexcute selon un mode par dfaut . Lajout dune option pourra
modifier ce comportement par dfaut. Attention la diffrence entre - et -paramtres Certaines commandes peuvent fonctionner sans paramtre.

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

48 / 239

Le systme Linux

De laide sur Linux et les commandes Shell

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux

Un peu dhistoire
Debian : La distribution utilise lIUT
Un systme multi-utilisateurs
Une interface graphique
Les logiciels disponibles
Distribution et accs aux logiciels
La ligne de commande
De laide sur Linux et les commandes Shell
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

49 / 239

Le systme Linux

De laide sur Linux et les commandes Shell

Se documenter sur le fonctionnement de Linux


Ressource sur le Web

Les forums dutilisateurs :

https://wiki.debian.org/fr/FrenchLists
http://www.lea-linux.org/
http://www.linux-france.org/

Les pages Wikipedia pour les commandes, les concepts.

De nombreux sites de description du systme Linux

http://fr.wikipedia.org/
http://www.linux-france.org/article/man-fr/

Les pages de man

La ligne de commande intgre une aide pour les commandes les plus courantes. La consultation
des pages de man est essentielle pour avancer dans la matrise des commandes bash. Cela doit
devenir un reflexe.
Les pages de man dtaillent les syntaxes, options et arguments des commandes. Ces options
peuvent tre trs nombreuses.
Les pages de man sont rdiges en anglais (une version franaise en ligne est disponible pour
certaines commandes). Mais langlais est omniprsent en informatique, alors il faut vous faire une
raison . . .
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

50 / 239

Le systme Linux

De laide sur Linux et les commandes Shell

Syntaxe pour man


man

nom_de_la_commande

Description

permet daccder la documentation dutilisation dune commande (les pages de man).

Les pages de man dcrivent les syntaxes, les options, les arguments des commandes.

Elles dcrivent les rsultats des valuations et le format de ces rsultats.

Exemple dutilisation:
login@host:$ man ls

affiche :
LS(1) BSD General Commands Manual LS(1)
NAME
ls - list directory contents
SYNOPSIS
ls [-ABCFGHLOPRSTUW@abcdefghiklmnopqrstuwx1] [file ...]

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

51 / 239

Le systme Linux

De laide sur Linux et les commandes Shell

Exercices

Usage du terminal
Une fentre de terminal est un outil de base fondamental toute personne travaillant sous Linux. Cette
fentre propose ce que lon appelle une ligne de commande. Cest un moyen dadresser directement des
commandes au systme, sans avoir passer par une interface graphique. Cest un outil trs puissant qui
est de plus programmable. De ce fait, la ligne de commande permet de faire des choses quaucun
programme graphique nest capable de faire facilement. Cependant pour lutiliser efficacement un
apprentissage est ncessaire. Ce module est l pour vous en donner un aperu.
Q14 Rappelez la structure de la ligne de commande telle quelle saffiche dans le terminal (dcrivez les
diffrents lments et leur rle).
Q15 valuez la commande suivante et commentez laffichage produit : man ls
Q16 Quelle est la fonction de la commande ls ?
Q17 Testez la commande ls avec plusieurs options parmi celles que vous avez identifi. Vrifiez que le
comportement de la commande est modifi par lutilisation doptions diffrentes.

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

52 / 239

Le systme Linux

De laide sur Linux et les commandes Shell

Exercices
Usage du navigateur internet
Un navigateur internet tel que le logiciel Firefox (lanc plus tt), est un outil de base dans tout travail
informatique. Ces logiciels permettent de naviguer sur les pages internet. Les pages internet sont
regroupes en sites internet, qui sont identifis par une adresse. Certains proposent de linformation, des
applications, le contenu dautres est plus incertain. Le principe de base pour naviguer dune page lautre
sont les liens hypertextes. Prciss par le langage HTML, un lien hypertexte est une mise en forme qui
associe un texte ou un lment graphique de la page ladresse dune page internet. En cliquant sur le
lien hypertexte, la page correspondant ladresse saffiche dans le navigateur.
Dans la plupart des cas, il est simple didentifier le texte supportant un lien hypertexte. Celui-ci est color
ou soulign de faon le distinguer des autres lments de la page. La fentre dun navigateur se
structure en plusieurs parties que vous devez apprendre identifier et utiliser :
Q18 Identifiez et nommez les diffrents lments qui composent la fentre dun navigateur internet.
Q19 Donnez au moins 2 adresses correspondant des moteurs de recherche
Q20 Avec un moteur de recherche, trouvez lorigine du nom de la distribution linux Debian ?

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

53 / 239

Le systme Linux

De laide sur Linux et les commandes Shell

Exercices
Usage du client de messagerie lectronique (e-mail)
Si votre inscription lIUT est finalise, un compte mail personnel t cr votre nom. Son adresse est
de la forme : Prenom.Nom@edu.univ-paris13.fr
Grce un logiciel appel client mail, vous pouvez envoyer et recevoir du courrier lectronique.
Consultez-le trs rgulirement (au moins une fois par jour) !
Un moyen daccder vos mails est dutiliser le client web-mail de luniversit : une application accessible
depuis nimporte quel navigateur internet (connect). Ladresse du web-mail de lIUT est :
http://ent.univ-paris13.fr
Pour accder votre courrier vous devez fournir votre identifiant et votre mot de passe.
Q21 Aprs votre connexion au web-mail et aprs avoir identifi et cliqu sur le service de messagerie
lectronique, identifiez les diffrents boutons et champs de linterface.
Q22 Aprs avoir slectionn le service de rdaction dun message, identifiez les diffrents champs de la
fentre de rdaction. Dcrivez quoi servent les champs "", "Cc", "Cci", "Sujet" et "Texte".
Q23 Renseignez les champs ncessaires et envoyez un mail votre voisin de table.
Q24 Ouvrez le mail que votre voisin vous a envoy et rpondez-lui dans le corps du message reu.
Q25 Donnez la procdure pour ajouter ladresse du web-mail de luniversit dans les racourcis (onglets et
favoris) de votre navigateur internet.
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

54 / 239

Lordinateur de bas en haut

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut

Le matriel
5 Organiser ses donnes
6 Fichiers excutables et Processus
7 Complments sur larborescence
8 Flux de donnes
9 Les scripts Bash
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

55 / 239

Lordinateur de bas en haut

Le matriel

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut

Le matriel
5 Organiser ses donnes
6 Fichiers excutables et Processus
7 Complments sur larborescence
8 Flux de donnes
9 Les scripts Bash
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

57 / 239

Lordinateur de bas en haut

Le matriel

La carte mre

La carte mre est llment central de lordinateur sur lequel sont assembls et mis en relation tous les
composants matriels. Elle permet tous ses composants de fonctionner ensemble efficacement.
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

58 / 239

Lordinateur de bas en haut

Le matriel

La carte mre

La carte mre est llment central de lordinateur sur lequel sont assembls et mis en relation tous les
composants matriels. Elle permet tous ses composants de fonctionner ensemble efficacement.
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

58 / 239

Lordinateur de bas en haut

Le matriel

Les units de calcul

CPU - Central Processing Unit

Cest une puce qui traite des instructions lmentaires en ralisant des calculs binaires,

Frquence de lordre de 3 GHz.

GPU - Graphics Processing Unit


Cest une puce place sur les cartes graphiques

Elle prend en charge les nombreux calculs de rafraichissement des images 3D

Une carte graphique moderne peut compter une grande quantit de ces puces.
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

59 / 239

Lordinateur de bas en haut

Le matriel

Des mmoires diffrentes pour des usages diffrents


ROM : Read Only Memory

Mmoire non-volatile maintenue par une conception physique,

Taille limite car trs chre, trs rapide,

Contient instructions damorage, routines. . .

RAM : Random Access Memory

Mmoire volatile : maintenue par une tension lectrique,

Accs rapide,

Taille limite car assez chre.

Disque Dur, clef-usb, . . .

Mmoire non-volatile (enregistrement magntique le plus


souvent),

Accs lent,

Taille trs grande (support de stockage de masse), beaucoup


moins chre.
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

60 / 239

Lordinateur de bas en haut

Le matriel

Des mmoires diffrentes pour des usages diffrents


Organisation de la mmoire
Les ordinateurs ralisent des calculs logiques sur des donnes
binaires

Les donnes et les instructions sont stockes sous forme de


blocs reprs par une adresse,

Les blocs contiennent une information binaire organise en


octet. Chaque octet contient 8 bits dinformation qui sont lus
comme une suite ordonne de 0 ou de 1 ou de Vrai et de Faux.

Un octet peut prendre 28 = 256 valeurs diffrentes.

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

60 / 239

Lordinateur de bas en haut

Le matriel

Les priphriques
Des composants externes
En fonction de leur tche, de nombreux composants ad hoc peuvent tre greffs sur la structure de base
prcdemment dcrite. Par exemple :

Ordinateur de Maison : cran, souris, imprimante, scanner, joystick, modem, . . .

Ordinateurs de bord : Sondes, actioneurs, . . .

Tlephone : Antenne, rcepteurs, . . .

Robot mdical : Interface haptique, bras mcaniques, . . .

Des composants internes


En fonction des possibilits des cartes mres plusieurs types de composants peuvent tre ajouts :

Cartes vido, Cartes son, disques durs internes, lecteurs, . . .

Cartes dacquisition ou de pilotage de priphriques, . . .

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

61 / 239

Lordinateur de bas en haut

Le matriel

Les bus

La carte mre intgre les bus.

Les bus sont des units physiques qui assurent le transport efficace de linformation entre les
diffrents composants connects la carte mre,
La largeur (8, 16, 32 64 bits), srie ou parallle et la frquence (102 103 MHz) des bus rglent
le dbit dinformation entre les composants. Cela conditionne donc fortement lefficacit dune
configuration matrielle.
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

62 / 239

Organiser ses donnes

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes

Les fichiers : noms et contenu


Organisation des donnes enregistres
Lorganisation arborescente
La notion de chemin
Rpertoire courant et chemins relatifs
Notation spciales
Quelques mini-manuels
Mtacaractres
Arborescence et montage
6 Fichiers
excutables
G. Santini,
J.-C. Dubacq (IUTV)et Processus

Introduction linformatique

S1 2015

63 / 239

Organiser ses donnes

Les fichiers : noms et contenu

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes

Les fichiers : noms et contenu


Organisation des donnes enregistres
Lorganisation arborescente
La notion de chemin
Rpertoire courant et chemins relatifs
Notation spciales
Quelques mini-manuels
Mtacaractres
Arborescence et montage
6 Fichiers
excutables
G. Santini,
J.-C. Dubacq (IUTV)et Processus

Introduction linformatique

S1 2015

65 / 239

Organiser ses donnes

Les fichiers : noms et contenu

Un fichier

De linformation au stockage
Les informations utilises dans un ordinateur sont stockes dans la mmoire de masse, qui se distingue
de la mmoire vive par sa rsistance lextinction et de la mmoire morte (et plus tard, du firmware) par
sa mutabilit.
Les performances des systmes de stockage de masse sont meilleures chaques annes, mais lordre de
grandeur reste la ms ou 100 s.

De linformation au fichier
Linformation est dcoupe en petites units qui sappellent des fichiers, smantiquement cohrentes
ce sont des informations qui vont ensemble . Ces lments de base du stockage informatique peuvent
ne contenir que trs peu dinformation ou reprsenter plusieurs Go de donnes par fichier.
Un fichier est li la faon dont on y accde (son nom et son chemin), mais nous verrons que ce nest pas
un identifiant : il peut y avoir plusieurs accs diffrents un mme fichier (liens).

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

66 / 239

Organiser ses donnes

Les fichiers : noms et contenu

Noms et contenu des fichiers


La dcomposition traditionnelle dun nom de fichier
Deux parties spares par un point :

La 1re partie informe sur la nature du contenu du fichier,

La 2me partie informe sur le format ou la finalit des donnes.

nom.extension
prefix.suffix
description.format

Selon les systmes, certains caractres sont interdits. Par exemple * sous Windows, / sous Linux.

Exemples de noms de fichiers


Extension
.c
.html
.pdf
.txt
Enigmatique
e3.c
New.pdf
toto.sh

Choix des noms

Contenu
Sources C
Document Web
Document Mis en page
Texte brut
Informatif
teste_boucle_for.c
2011_IntroSys_cours_1.pdf
test_boucle_for.sh

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

Ils doivent tre choisis minutieusement


pour tre informatifs.
Choisir un nom : rflchir pour un gain de
temps pour retrouver le fichier ou le
rpertoire concern.
Importance de la casse (Linux), tolrance
ailleurs (OS X, Windows).
S1 2015

67 / 239

Organiser ses donnes

Organisation des donnes enregistres

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes

Les fichiers : noms et contenu


Organisation des donnes enregistres
Lorganisation arborescente
La notion de chemin
Rpertoire courant et chemins relatifs
Notation spciales
Quelques mini-manuels
Mtacaractres
Arborescence et montage
6 Fichiers
excutables
G. Santini,
J.-C. Dubacq (IUTV)et Processus

Introduction linformatique

S1 2015

68 / 239

Organiser ses donnes

Organisation des donnes enregistres

Des fichiers et des rpertoires


Les fichiers... en vrac ?
Les fichiers sont regroups dans des rpertoires (en anglais directory ou folders). Les rpertoires peuvent
contenir des fichiers ou dautres rpertoires. Lorganisation des fichiers est rgle par le systme de
fichiers (ang. filesystem).

Cette organisation arborescente permet de faciliter la recherche dun fichier,

Les fichiers sont regroups par application, par thme, par format, par fonction, . . .

Organisation hirarchique qui permet dorganiser les donnes et de faciliter leur accs.

De trs nombreux fichiers et rpertoires

Remarque

Le nombre de fichiers enregistrs sur un disque dur peut aisment


dpasser 100.000 fichiers,

Dans un mme rpertoire le nom est un identifiant.

Les rpertoires et les fichiers partagent les mmes noms.


Sous Windows, pas dextension pour les rpertoires.
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

Avec tous les


fichiers au mme
endroit, il est trs
difficile de les lister
(trop lire).

S1 2015

69 / 239

Organiser ses donnes

Lorganisation arborescente

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes

Les fichiers : noms et contenu


Organisation des donnes enregistres
Lorganisation arborescente
La notion de chemin
Rpertoire courant et chemins relatifs
Notation spciales
Quelques mini-manuels
Mtacaractres
Arborescence et montage
6 Fichiers
excutables
G. Santini,
J.-C. Dubacq (IUTV)et Processus

Introduction linformatique

S1 2015

70 / 239

Organiser ses donnes

Lorganisation arborescente

Exemple darborescence Linux


/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire racine (Root Directory)
bin/
(. . .)
home/
moi/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire personnel (User directory)
Mes Documents/
ListeDesCourses.txt
Exercice_1.sh
(. . .)
anonymous/
LisezMoi.txt
Telechargements/
(. . .)
(. . .)

Les rpertoires importants

La racine (Root directory) contient tous les rpertoires et fichiers accessibles depuis le systme.

Le rpertoire personnel (User Directory ou Home Directory) est le rpertoire dans lequel
lutilisateur peut faire ce quil veut (crire, modifier, supprimer, installer . . .).
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

71 / 239

Organiser ses donnes

La notion de chemin

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes

Les fichiers : noms et contenu


Organisation des donnes enregistres
Lorganisation arborescente
La notion de chemin
Rpertoire courant et chemins relatifs
Notation spciales
Quelques mini-manuels
Mtacaractres
Arborescence et montage
6 Fichiers
excutables
G. Santini,
J.-C. Dubacq (IUTV)et Processus

Introduction linformatique

S1 2015

72 / 239

Organiser ses donnes

La notion de chemin

La notion de chemin
Le chemin dfinit un accs unique partir de la racine

Deux fichiers ou rpertoires ne peuvent pas porter le mme nom si ils sont dans un mme rpertoire.

Sous Linux, les noms des fichiers et rpertoires diffrencient les caractres Majuscules et
minuscule. Les fichiers Essai.txt et essai.txt peuvent donc tre dans le mme rpertoire.

Exemples de chemins absolus


/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Un chemin absolu part de la racine /
home/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . /home/
moi/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . /home/moi/
Etoiles/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . /home/moi/Etoiles/
SOLEIL.jpg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . /home/moi/Etoiles/SOLEIL.jpg
Soleil.jpg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . /home/moi/Etoiles/Soleil.jpg
Systeme_Solaire/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . /home/moi/Systeme_Solaire/
SOLEIL.jpg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . /home/moi/Systeme_Solaire/SOLEIL.jpg

Syntaxe dun chemin absolu


Le chemin absolu dun lment du systme de fichier est unique (sauf avec un lien). Il donne la liste des
rpertoires et sous-rpertoires en partant de la racine / (la rfrence de larborescence) jusqu la cible.
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

73 / 239

Organiser ses donnes

Rpertoire courant et chemins relatifs

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes

Les fichiers : noms et contenu


Organisation des donnes enregistres
Lorganisation arborescente
La notion de chemin
Rpertoire courant et chemins relatifs
Notation spciales
Quelques mini-manuels
Mtacaractres
Arborescence et montage
6 Fichiers
excutables
G. Santini,
J.-C. Dubacq (IUTV)et Processus

Introduction linformatique

S1 2015

74 / 239

Organiser ses donnes

Rpertoire courant et chemins relatifs

Rpertoire courant et chemins relatifs


Le rpertoire courant

Le rpertoire courant est un rpertoire de rfrence do sont lances les commandes du shell.

Par dfaut, le rpertoire courant est le rpertoire personnel de lutilisateur,

Naviguer dans larborescence quivaut modifier le rpertoire courant.

Exemples de chemins relatifs


home/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ../..
moi/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ../
Etoiles/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire Courant ./
SOLEIL.jpg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SOLEIL.jpg ou ./SOLEIL.jpg
Antares.jpg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Antares.jpg ou ./Antares.jpg
Systeme_Solaire/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ../Systeme_Solaire/
terre.gif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ../Systeme_Solaire/terre.gif

Syntaxe dun chemin relatif

Le chemin relatif dun fichier ou dun rpertoire donne la liste des rpertoires et sous-rpertoires en
partant du rpertoire courant (la rfrence relative dans larborescence) jusqu la cible.

Il est relatif, car lorsque le rpertoire courant change, le chemin relatif change.
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

75 / 239

Organiser ses donnes

Notation spciales

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes

Les fichiers : noms et contenu


Organisation des donnes enregistres
Lorganisation arborescente
La notion de chemin
Rpertoire courant et chemins relatifs
Notation spciales
Quelques mini-manuels
Mtacaractres
Arborescence et montage
6 Fichiers
excutables
G. Santini,
J.-C. Dubacq (IUTV)et Processus

Introduction linformatique

S1 2015

76 / 239

Organiser ses donnes

Notation spciales

Notation spciales
Les chemins des rpertoires de rfrence
Rpertoire
Rpertoire racine
Rpertoire personnel

Notation
/

Rpertoire
Rpertoire courant
Rpertoire parent

Notation
.
..

La notation est un chemin absolu, remplace par le vrai chemin avant lexcution des
commandes. Cest un raccourci au niveau du shell, pas au niveau du systme dexploitation.

Exemple de chemins valides pointant le fichier cible

/ . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire Racine
home/
moi/ . . . . . . . . . . . Rpertoire Personnel
Etoiles/ . . . . . . Rpertoire Courant
Soleil.jpg . . . . . . . Fichier cible

G. Santini, J.-C. Dubacq (IUTV)

Chemins Absolus
/home/moi/Etoiles/Soleil.jpg
/Etoiles/Soleil.jpg
/home/moi/../moi/Etoiles/Soleil.jpg
/home/moi/../../home/moi/Etoiles/Soleil.jpg
Chemins Relatifs
Soleil.jpg
./Soleil.jpg
../Etoiles/Soleil.jpg
../../moi/Etoiles/./Soleil.jpg

Introduction linformatique

S1 2015

77 / 239

Organiser ses donnes

Notation spciales

Larchivage
Dune arborescence un fichier
Une technique souvent utilise consiste transformer une partie de larborescence en un fichier qui nest
pas utilisable directement. Ce fichier peut ensuite tre retransform en une arborescence.

Le format tar

Le format zip

Utilis depuis les annes 80, le format tar est un


pilier du monde Unix. Il est parfaitement libre. Il
servait initialement aux sauvegardes sur bande
magntique (tape archive).
Le format tar ne permet pas la compression,
mais la commande tar donne accs des
programmes de compression qui permettent de
rduire la taille de larchive. Une archive au
format tar est appele un(e) tarball.
Le compresseur le plus connu est gzip dont
les fichiers compresss ont un suffixe .gz.
Souvent on combine les deux suffixes : une
archive compresse peut ainsi sappeler
textes2015.tar.gz ou
textes2015.tgz.
G. Santini, J.-C. Dubacq (IUTV)

Principalement utilis pour son universalit


depuis 1986, le format zip est plus ou moins
libre (il y a des doutes sur la possibilit de
brevet sur les techniques employes). Le format
zip nest pas uniquement caractris par son
extension : plusieurs autres formats de fichier
sont en fait une archive ZIP qui contient divers
documents (par exemple, un fichier docx pour
Microsoft Word est en fait un ZIP qui contient
divers fichiers XML et images).
Le format zip, en plus de larchivage permet
aussi la compression. La commande
zip/unzip doit donc permettre la
dcompression.

Introduction linformatique

S1 2015

78 / 239

Organiser ses donnes

Quelques mini-manuels

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes

Les fichiers : noms et contenu


Organisation des donnes enregistres
Lorganisation arborescente
La notion de chemin
Rpertoire courant et chemins relatifs
Notation spciales
Quelques mini-manuels
Mtacaractres
Arborescence et montage
6 Fichiers
excutables
G. Santini,
J.-C. Dubacq (IUTV)et Processus

Introduction linformatique

S1 2015

79 / 239

Organiser ses donnes

Quelques mini-manuels

Conventions
Noms et chemins

Un chemin peut tre absolu ou relatif. Il peut utiliser les notations spciales.

Par convention la notion de fichier sera comprise dans son sens large. Par exemple, le chemin dun
fichier devra tre interprt sans distinction comme le chemin vers un fichier ordinaire ou comme le
chemin vers un rpertoire (sauf mention contraire explicite).

Commandes, options, paramtres


Commande cest le nom dun programme qui excute une action.
Options ce sont des paramtres optionnels. Ils peuvent tre omis. Lajout doptions modifie le
comportement de la commande (le rsultat). Les options sont montres encadres par
les caractres [ ... ] (quil ne faut pas mettre).
Paramtres ce sont des arguments que la commande value.

Sources et destination
Les commandes de dplacement acceptent une ou des sources qui sont des fichiers ou rpertoires
dorigine, et une destination qui est un fichier ou un rpertoire.
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

80 / 239

Organiser ses donnes

Quelques mini-manuels

Manipulation de larborescence en ligne de commande


Alternatives pour naviguer
dans larborescence et
manipuler les fichiers
Interface Graphique

Ligne de Commande

G. Santini, J.-C. Dubacq (IUTV)

Bote outils : manipuler larborescence


Commande
pwd
cd
ls
cat
touch
mkdir
rm
cp
mv

Fonction principale
Afficher le nom du rpertoire courant
Changer de rpertoire courant
Afficher le contenu dun rpertoire
Afficher le contenu dun fichier
Crer un fichier
Crer un rpertoire
Supprimer fichier(s) ou rpertoire(s)
Copier fichier(s) ou rpertoire(s)
Dplacer/Renommer fichier(s) ou rpertoire(s)

Introduction linformatique

S1 2015

81 / 239

Organiser ses donnes

Quelques mini-manuels

Syntaxe pour pwd


pwd

Description

Affiche le nom du rpertoire courant.

Exemple dutilisation:
/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire racine
home/
moi/ . . . . . . . . . . . . . . . . . Rpertoire courant
Etoiles/
login@host:$ pwd
/home/moi

G. Santini, J.-C. Dubacq (IUTV)

/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire racine
home/
moi/ . . . . . . . . . . . . . . . Rpertoire personnel
Etoiles/ . . . . . . . . . . . Rpertoire courant
login@host:/Etoiles$ pwd
/home/moi/Etoiles

Introduction linformatique

S1 2015

82 / 239

Organiser ses donnes

Quelques mini-manuels

Syntaxe pour cd
cd

<cible>

Description

Change le rpertoire courant (permet de naviguer dans larborescence).

Si le chemin du rpertoire cible est omis, le rpertoire courant redevient par dfaut le rpertoire
personnel.
Ce nest pas une commande, mais une fonctionnalit du shell.

Exemple dutilisation:
/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire Racine
home/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire courant initial
moi/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire courant cas #1
Etoiles/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire courant cas #2
Commande cas #1 :
login@host:/home$ cd
login@host:$

G. Santini, J.-C. Dubacq (IUTV)

Commande cas #2 :
login@host:/home$ cd moi/Etoiles
login@host:/Etoile$

Introduction linformatique

S1 2015

83 / 239

Organiser ses donnes

Quelques mini-manuels

Syntaxe pour ls
ls

<source>

Description

Affiche le contenu dun rpertoire.

Par dfaut si aucune source nest indique, la commande affiche le contenu du rpertoire courant.

Exemple dutilisation:
/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire racine
home/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire courant
moi/
astronomie.txt
Etoiles/
login@host:/home/$ ls
moi/
login@host:/home/$ ls moi/
Etoiles/ astronomie.txt

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

84 / 239

Organiser ses donnes

Quelques mini-manuels

Syntaxe pour ls(bis)


ls -a <source>

Description

Affiche le contenu dun rpertoire y compris les fichiers et rpertoires cachs.

Les fichiers et rpertoires cachs ont un nom dont le premier caractre est un point.

Les fichiers et rpertoires cachs sont utiliss par le systme ou certaines applications.

Exemple dutilisation:
moi/ . . . . . . . . . . . . . . . . . Rpertoire courant
./ssh/
id_rsa
id_rsa.pub
known_hosts
.bashrc
astronomie.txt
Etoiles/
soleil.jpg
G. Santini, J.-C. Dubacq (IUTV)

Sans option -a
login@host:$ ls
astronomie.txt Etoiles/
Avec option -a
login@host:$ ls -a
.
..
.bashrc .ssh/
astronomie.txt Etoiles/

Introduction linformatique

S1 2015

85 / 239

Organiser ses donnes

Quelques mini-manuels

Syntaxe pour cat


cat

fichier [fichier_2 ...]

Description

Affiche le contenu des fichiers les uns la suite des autres.

Les fichiers sont concatns dans lordre des paramtres.

Exemple dutilisation:
Cette commande est en gnrale utilise pour concatner des fichiers textes. On lutilise avec une commande de redirection (cf. Partie
Redirections) pour enregistrer le rsultat de la concatnation dans un nouveau fichier.
Soient les deux fichiers suivants :

tellur.txt
Mercure, Venus
Terre, Mars
jov.txt
Jupiter, Saturne
Uranus, Neptune

G. Santini, J.-C. Dubacq (IUTV)

La commande :
login@host:$ cat tellur.txt jov.txt
Mercure, Venus
Terre, Mars
Jupiter, Saturne
Uranus, Neptune
login@host:$

Introduction linformatique

S1 2015

86 / 239

Organiser ses donnes

Quelques mini-manuels

Syntaxe pour touch


touch

chemin [chemin_2 ...]

Description

Si le chemin est occup par un fichier ou un rpertoire, mise jour de la date de dernire
modification.

Sinon, cration dun ou de plusieurs fichiers vides lendroit spcifi par le chemin.

Exemple dutilisation:
moi/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire Courant
astronomie.txt
lisezmoi.txt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cration Commande #1
Stars/
TCeti.txt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cration Commande #2
ACentauri.txt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cration Commande #2
login@host:$ touch lisezmoi.txt
login@host:$ touch Stars/TCeti.txt Stars/ACentauri.txt

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

87 / 239

Organiser ses donnes

Quelques mini-manuels

Syntaxe pour mkdir


mkdir

chemin [chemin_2 ...]

Description

Cration dun ou de plusieurs rpertoires aux endroits spcifis par les chemins.

Si le chemin est occup par un fichier ou un rpertoire, il y a un message derreur.

Si le chemin nest pas dj cr part le dernier lment, il y a un message derreur.

Exemple dutilisation:
moi/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire courant
Systeme_Solaire/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cration commande #1
Etoiles/
Rouges/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cration commande #2
Bleues/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cration commande #2
login@host:$ mkdir Systeme_Solaire
login@host:$ mkdir Etoiles/Rouges Etoiles/Bleues
login@host:$ mkdir Galaxies/M91
mkdir: impossible de crer le rpertoire
Galaxies/M91 : Aucun fichier ou dossier de ce type

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

88 / 239

Organiser ses donnes

Quelques mini-manuels

Syntaxe pour mkdir(bis)


mkdir -p chemin <chemin_2 ...>

Description

Cration dun ou de plusieurs rpertoires aux endroits spcifis par les chemins.

Si depuis la racine en suivant un chemin, on rencontre un fichier, il y a un message derreur.

Si depuis la racine en suivant un chemin, il ny pas de rpertoire, il est cr.

Exemple dutilisation:
chez_moi/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire Courant
astronomie.txt
Etoiles/
Galaxies/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cration Commande #1
M91/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cration Commande #1
highres/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cration Commande #1
login@host:$ mkdir -p Galaxies/M91/highres

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

89 / 239

Organiser ses donnes

Quelques mini-manuels

Syntaxe pour rm
rm

chemin [chemin_2 ...]

Description

La commande supprime le fichier point par le(s) chemin(s).

Si le chemin pointe sur un rpertoire, la commande affiche un message derreur.

Exemple dutilisation:
moi/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire Courant
astronomie.txt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Supprim par la commande #1
Etoiles/
soleil.jpg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Supprim par la commande #2
aldebaran.gif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Supprim par la commande #2
login@host:$ rm astronomie.txt
login@host:$ rm aldebaran.gif Etoiles/soleil.jpg

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

90 / 239

Organiser ses donnes

Quelques mini-manuels

Syntaxe pour rm(bis)


rm -r chemin <chemin_2 ...>

Description

Loption -r (comme rcursif) permet de supprimer un rpertoire et tout son contenu.


Loption -f (comme force) permet dignorer certaines questions.

Exemple dutilisation:
chez_moi/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire Courant
astronomie.txt
Etoiles/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Supprim par la commande #1
soleil.jpg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Supprim par la commande #1
Galaxie/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Supprim par la commande #1
Andromede.pdf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Supprim par la commande #1
aldebaran.gif
login@host:$ rm -r Etoiles

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

91 / 239

Organiser ses donnes

Quelques mini-manuels

Syntaxe pour cp
cp

source cible

Description

Copie le fichier source vers la cible.

La source doit tre un fichier ordinaire (pas un rpertoire),

Si la source est un rpertoire la commande produit un message derreur.


Si la cible :

est le chemin dun rpertoire existant, le fichier sera copi dans ce rpertoire et conservera son nom,
ne correspond pas un rpertoire existant, le fichier sera copi avec le nom (chemin) cible.

Exemple dutilisation:
moi/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire courant
astronomie.txt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fichier source commandes #1 et #2
Etoiles/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire cible commande #1
astronomie.txt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copi/Cr par la commande #1
info.txt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . copi/cr par la commande #2
cv.pdf
login@host:$ cp astronomie.txt Etoiles
login@host:$ cp astronomie.txt Etoiles/info.txt
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

92 / 239

Organiser ses donnes

Quelques mini-manuels

Syntaxe pour cp(bis)


cp

source <source_2 ...> cible

Description

Copie plusieurs fichiers sources vers la cible.

Les sources doivent tre des fichiers ordinaires, et la cible un rpertoire.

Exemple dutilisation:
moi/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire courant
cv.pdf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fichier source
motivations.pdf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fichier source
Candidature/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire cible
cv.pdf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copi/cr par la commande
motivations.pdf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copi/cr par la commande
login@host:$ cp cv.pdf motivations.pdf Candidature
login@host:$ cp cv.pdf motivations.pdf Candidature/ #
Moins ambigu

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

93 / 239

Organiser ses donnes

Quelques mini-manuels

Syntaxe pour cp(ter)


cp -r source <source_2 ...> cible

Description

Loption -r (Rcursif) permet de copier un rpertoire et son contenu si il apparait dans le(s)
source(s).
Attention : si le rpertoire nexiste pas et quon copie un rpertoire, il y a renommage

Exemple dutilisation:
moi/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire Courant
Galaxie/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Source commandes
Andromede.pdf
Etoiles/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire cible #1
Galaxie/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copi/cr par la commande #1
Andromede.pdf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copi/cr par la commande #1
Top10/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copi/cr par la commande #2 (renommage)
Andromede.pdf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copi/cr par la commande #2
login@host:$ cp -r Galaxie Etoiles
login@host:$ cp -r Galaxie Top10
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

94 / 239

Organiser ses donnes

Quelques mini-manuels

Syntaxe pour mv
mv

source cible

Description
Dplace/renomme un fichier ou rpertoire.

modifie le chemin daccs la source qui devient le chemin cible.

Le chemin source disparait et le chemin cible est cr.

Le fichier ou rpertoire point reste le mme.

La cible doit tre un chemin non occup ou un rpertoire.

Exemple dutilisation: Renommer un fichier


tat Initial de larborescence :

tat Final de larborescence :

moi/ . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire courant


AstroNomIe.TXT . . . . . . . . . . . . . . Fichier Source

moi/ . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire courant


astronomie.txt . . . . . . . . . . . . . Fichier Renomm

login@host:$ mv AstroNomIe.TXT astronomie.txt

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

95 / 239

Organiser ses donnes

Quelques mini-manuels

Exemple dutilisation: Dplacer un Rpertoire


tat Initial de larborescence :

tat Final de larborescence :

moi/ . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire courant


astronomie.txt . . . . . . . . . . . . . . . . Fichier source
Etoiles/ . . . . . . . . . . . . . . . . . . . . Rpertoire cible

moi/ . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire courant


Etoiles/ . . . . . . . . . . . . . . . . . . . . Rpertoire cible
astronomie.txt . . . . . . . . . . . . Fichier dplac

login@host:$ mv astronomie.txt Etoiles

Exemple dutilisation: Renommer un rpertoire


tat Initial de larborescence :

tat final de larborescence :

moi/ . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire courant


Etoiles/ . . . . . . . . . . . . . . . . . . Rpertoire Source
astronomie.txt

moi/ . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire courant


Relativite/ . . . . . . . . . . . . . . Rpertoire Renomm
astronomie.txt

login@host:$ mv Etoiles Relativite

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

96 / 239

Organiser ses donnes

Quelques mini-manuels

Exemple dutilisation:
tat Initial de larborescence :

tat Final de larborescence :

moi/ . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire courant


astronomie.txt . . . . . . . . . . . . . . . . Fichier Source
relativite.pdf . . . . . . . . . . . . . . . . . . Fichier Source
Etoiles/ . . . . . . . . . . . . . . . . . . . . Rpertoire Cible

moi/ . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire courant


Etoiles/ . . . . . . . . . . . . . . . . . . . . Rpertoire Cible
astronomie.txt . . . . . . . . . . . Fichier Dplac
relativite.pdf . . . . . . . . . . . . . Fichier Dplac

login@host:$ mv astronomie.txt relativit.pdf Etoiles

Exemple dutilisation:
tat Initial de larborescence :

tat Final de larborescence :

moi/ . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire courant


relativite.pdf . . . . . . . . . . . . . . . . . . Fichier Source
Etoiles/ . . . . . . . . . . . . . . . . . . Rpertoire Source
astronomie.txt
Espace/ . . . . . . . . . . . . . . . . . . . Rpertoire Cible

moi/ . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire courant


Espace/ . . . . . . . . . . . . . . . . . . . Rpertoire Cible
relativite.pdf . . . . . . . . . . . . . Fichier Dplac
Etoiles/ . . . . . . . . . . . . . . Rpertoire Dplac
astronomie.txt . . . . . . . . Fichier Dplac

login@host:$ mv relativit.pdf Etoiles Espace

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

97 / 239

Organiser ses donnes

Quelques mini-manuels

Syntaxe pour tar


tar cvf nom_archive fichier_ou_repertoire [autres_sources]

Description

Cre un fichier archive dont le nom (chemin) est donn en premier argument et porte classiquement
lextension .tar.

Les fichiers sources qui servent a crer larchive sont prservs par la commande tar.

Loption c (comme create), indique que la commande tar doit utiliser un algorithme darchivage.

Loption v (verbose), permet dafficher le droulement de larchivage.

Loption f (file), permet de prciser juste derrire un fichier darchivage.

Exemple dutilisation:
moi/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire courant
astronomie.txt
Images/
soleil2.jpg
Terre1.jpg
espace.tar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cr par la commande #1
Regroupe dans la mme archive espace.tar le fichier astronomie.txt et le rpertoire Images/ et son contenu :
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

98 / 239

Organiser ses donnes

Quelques mini-manuels

Syntaxe pour tar(bis)


tar tvf nom_archive
tar xvf nom_archive [chemin(s) dans larchive]

Description

Examine une archive ou cre des fichiers partir de larchive.

Le fichier archive est prserv par la commande tar.

Loption x (extract), permet de dsarchiver.

Loption t (list), permet de lister le contenu dune archive

Exemple dutilisation:
moi/ . . . . . . . . . . . . . . . . . . . . . Rpertoire courant
espace.tar
astronomie.txt . . . cr par la commande #2
Images . . . . . . . . cr par la commande #3
soleil2.jpg . . cr par la commande #3
Terre1.jpg . . cr par la commande #3

G. Santini, J.-C. Dubacq (IUTV)

login@host:$ tar tvf espace.tar


astronomie.txt
Images/
Images/soleil2.jpg
Images/Terre1.jpg
login@host:$ tar xvf espace.tar
astronomie.txt
astronomie.txt
login@host:$ tar xf espace.tar
login@host:$

Introduction linformatique

S1 2015

99 / 239

Organiser ses donnes

Quelques mini-manuels

Exercices
Prparation
Q26 Ouvrez un terminal. Vrifiez que le rpertoire dans lequel vous tes est bien
/home/usager/123456789/. Quelle est la commande qui permet de le faire ? (123456789 =
votre identifiant)
Q27 Vrifiez le contenu du rpertoire Documents qui est dans votre rpertoire personnel. Quelle est la
commande qui permet de le faire ? Est-ce quil y a quelque chose ?
Q28 Faites la vrification de trois faons diffrentes : chemin absolu, utilisation du raccourci , utilisation
dun chemin relatif.
Q29 Changez le rpertoire courant pour aller dans Documents. Quelle est la commande pour le faire ?
Q30 Crez en ligne de commande un rpertoire m1101 dans
/Documents. partir de maintenant,
assurez-vous que le rpertoire courant est ce rpertoire m1101.
Q31 Tlchargez larchive contenant les donnes pour ce TP : Allez sur la page
http://lipn.fr/~dubacq/m1101.html. Tlchargez le fichier photos.tar.
Recherchez o le fichier a t crit dans larborescence de votre rpertoire personnel.
Q32 Donnez la (suite de) commande(s) permettant de dplacer le fichier darchive dans le rpertoire
m1101 que vous venez de crer. la fin des commandes, le rpertoire m1101 sera toujours votre
rpertoire courant et ne contiendra que le fichiers photos.tar.
Q33 Quelle commande permet de vrifier que larchive est bien dans le rpertoire
G. Santini, J.-C. Dubacq (IUTV)
Introduction linformatique
~/Documents/m1101
?

S1 2015

100 / 239

Organiser ses donnes

Quelques mini-manuels

Exercices

Examen de fichiers
Q34 Quelles sont les informations donnes par le nom du fichier ?
Q35 Les commandes less, cat et hexdump permettent dafficher le contenu dun fichier. Analysez la
diffrence de comportement entre ces deux commandes sur le fichier photos.tar. Quen
concluez-vous ? Quel est le programme le plus adapt pour voir le contenu de ce fichier ?
Q36 Relisez le manuel de la commande tar. Vrifiez la liste des fichiers contenus dans larchive.
Combien y en a-t-il ?
Q37 Sortez les fichiers de larchive.
Q38 Avec les commandes de la question 35, regardez le fichier contenu dans un rpertoire. Analysez la
diffrence de comportement entre ces commandes. Quen concluez-vous ?
Remarques : si un affichage prend trop de temps, utilisez le raccourci clavier adquat pour suspendre
lexcution de la commande courante. Si laffichage de votre terminal est durablement perturb, dans le
menu Terminal Rinitialiser le terminal.

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

101 / 239

Organiser ses donnes

Mtacaractres

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes

Les fichiers : noms et contenu


Organisation des donnes enregistres
Lorganisation arborescente
La notion de chemin
Rpertoire courant et chemins relatifs
Notation spciales
Quelques mini-manuels
Mtacaractres
Arborescence et montage
6 Fichiers
excutables
G. Santini,
J.-C. Dubacq (IUTV)et Processus

Introduction linformatique

S1 2015

102 / 239

Organiser ses donnes

Mtacaractres

Le mtacaractre *
Le caractre *
Le shell traduit la ligne de commande en commande argument1 argument2 ....
Avant lexcution, il traduit certains caractres selon des rgles prcises ici.

Le cataractre * est utilis comme un joker pour remplacer une chane de caractres,

Il est utilis dans un chemin pour pointer plusieurs fichiers ou rpertoires existants dont le chemin
partage un motif commun.

Le caractre * peut tre nimporte o dans le chemin, plusieurs fois si ncessaire.

Exemple de manipulation avec la commande mv


Ici, le chemin *.jpg pointe tous les fichiers du rpertoire courant dont le
nom se fini par lextension .jpg. Il pointe donc les fichiers
etacentauri.jpg et aldebaran.jpg et exclue les autres fichiers
(ici le fichier alphacentauri.gif).

login@host:$ mv *.jpg Images/

moi/ . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire Courant


aldebaran.jpg . . . . . . . . . . . . . . . . . . Fichier cibl
alphacentauri.gif
etacentauri.jpg . . . . . . . . . . . . . . . . . Fichier cibl
Images/ . . . . . . . . . . . . . . . . . . . . Rpertoire final
G. Santini, J.-C. Dubacq (IUTV)

moi/ . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire Courant


alphacentauri.gif
Images/ . . . . . . . . . . . . . . . . . . . . Rpertoire final
aldebaran.jpg . . . . . . . . . . . Fichier dplac
etacentauri.jpg . . . . . . . . . . . Fichier dplac

Introduction linformatique

S1 2015

103 / 239

Organiser ses donnes

Mtacaractres

Exemples dutilisation de ltoile


Utilisation simple avec la commande mv
Ici, le chemin al* pointe tous les fichiers du rpertoire courant dont le nom
commence par les caractres al. Il pointe donc les fichiers
aldebaran.jpg et alphacentauri.gif et exclue les autres
fichiers (ici le fichier etacentauri.jpg).

login@host:$ mv al* Images/

moi/ . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire Courant


aldebaran.jpg . . . . . . . . . . . . . . . . . . Fichier cibl
alphacentauri.gif . . . . . . . . . . . . . . . Fichier cibl
etacentauri.jpg
Images/ . . . . . . . . . . . . . . . . . . . . Rpertoire final

moi/ . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire Courant


etacentauri.jpg
Images/ . . . . . . . . . . . . . . . . . . . . Rpertoire final
aldebaran.jpg . . . . . . . . . . . Fichier dplac
alphacentauri.gif . . . . . . . . . Fichier dplac

Utilisation double avec la commande mv


Ici, le chemin *centauri* pointe tous les fichiers du rpertoire courant
dont le nom contient la chane de caractres centauri. Il pointe donc les
fichiers alphacentauri.gif et etacentauri.jpg et exclue les
autres fichiers (ici le fichier aldebaran.jpg).

login@host:$ mv *centauri* JPG/

moi/ . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire Courant


aldebaran.jpg
alphacentauri.gif . . . . . . . . . . . . . . . Fichier cibl
etacentauri.jpg . . . . . . . . . . . . . . . . . Fichier cibl
Images/ . . . . . . . . . . . . . . . . . . . . Rpertoire Final
G. Santini, J.-C. Dubacq (IUTV)

moi/ . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire Courant


aldebaran.jpg
Images/ . . . . . . . . . . . . . . . . . . . . Rpertoire final
alphacentauri.gif . . . . . . . . . Fichier dplac
etcentauri.jpg . . . . . . . . . . . . Fichier dplac

Introduction linformatique

S1 2015

104 / 239

Organiser ses donnes

Mtacaractres

Mtacaractre et chemins cibls


Exemple plus complexe et dtails de linterprtation

Le cararctre * est dvelopp lors de linterprtation.

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

105 / 239

Organiser ses donnes

Mtacaractres

Autres mtacaractres
Du shell aux programmes
Il faut bien se souvenir que les mtacaractres sont interprts par le shell. Cela a deux consquences :

Le programme appel ne sait pas si les noms ont t taps en entier ou si des mtacaractres ont
t utiliss. Il na que le rsultat final.

Dans un programme, on ne peut pas utiliser les mtacaractres.

Les jokers
Ce sont des motifs simples. Lorsquils ne peuvent pas tre instancis, ils ne sont pas supprims, mais
passs tels quels. Exemple : mkdir -p toto/* selon que toto est un rpertoire non-vide ou
autre chose.
On y trouve ? qui remplace une lettre, [a-c][0-2] qui remplace a0 b0 c0 a1 b1 c1 a2 b2 c2,

Les raccourcis
Le motif {fourch,brou}ette est remplac par fourchette et brouette indpendamment
de lexistence ou nom de chemins correspondants.
Le motif a dj t vu et est remplac par le chemin absolu du rpertoire personnel de lutilisateur
courant. user est remplac de la mme faon mais pour lutilisateur user.
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

106 / 239

Organiser ses donnes

Mtacaractres

Exercices

Copie et dplacement
Q39 Quelle commande permet la cration "simultane" de quatre rpertoires GIF et
Photos/Portugal, Photos/Marseille et Photos/Montagne ?
Q40 Quelle commande permet de dplacer depuis le rpertoire images tous les fichiers prsentant
lextension gif dans le rpertoire GIF nouvellement cr ?
Q41 Quelle commande permet de copier depuis le rpertoire images tous les fichiers prsentant
lextension jpg dans le rpertoire Photos nouvellement crs ?
Q42 Dfinissez le rpertoire Photos/Montagne comme votre rpertoire courant. Quelle commande
permet de dplacer la photo de chalet dans ce rpertoire ?
Q43 En vous mettant dans Photos, dplacez les photos restantes dans le bon rpertoire (Marseille est
suprieure 2000). Si possible, faites usages de jokers.

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

107 / 239

Organiser ses donnes

Mtacaractres

Exercices

Suppressions
Q44 Quel est le rsultat de la squence de commandes suivante :
cd ..
rm images
Q45 Comment modifier la dernire commande pour supprimer le rpertoire images/ ? Comment
modifier la commande pour viter les invites de confirmation ?
Q46 Quelle commande permet de copier le rpertoire GIF et son contenu dans un rpertoire nomm
images_GIF ?
Q47 Quelle est la diffrence entre les deux commandes suivantes :
cd ~
cd /home/usager/votre_identifiant/
Q48 Fabriquez une archive qui contient le rpertoire Photos (et uniquement celui-ci). Vrifiez son contenu.

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

108 / 239

Organiser ses donnes

Arborescence et montage

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes

Les fichiers : noms et contenu


Organisation des donnes enregistres
Lorganisation arborescente
La notion de chemin
Rpertoire courant et chemins relatifs
Notation spciales
Quelques mini-manuels
Mtacaractres
Arborescence et montage
6 Fichiers
excutables
G. Santini,
J.-C. Dubacq (IUTV)et Processus

Introduction linformatique

S1 2015

109 / 239

Organiser ses donnes

Arborescence et montage

Le partitionnement
Du disque aux partitions

Un disque est souvent divis en plusieurs zones dusage distinct (par exemple, systme et donnes
utilisateurs).

Chacun de ces zones est appele une partition. Elle est un systme de fichiers indpendant des
autres, et peut tre combine avec dautres.

Sous Windows, chaque partition est dsigne par une lettre en fonction de son ordre de dcouverte
par le systme. Cette lettre fait partie du chemin.
Lordre des partitions peut changer et donc la lettre ; a pose problme pour les mises jour.

Montage et dmontage

Un systme dexploitation peut rendre accessible une partition : cest le montage de la partition.

Inversement : cest le dmontage de la partition.


Une partition monte peut tre utilise normalement par les programmes.
Une partition dmonte doit utiliser une interface spciale plus complique qui contourne le systme
de fichiers et permet daccder directement au disque.
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

110 / 239

Organiser ses donnes

Arborescence et montage

Les partitions sous Linux


Larbre unique

Sous Linux, les partitions sont toutes regroups dans une seule arborescence.
Les partitions qui ne sont pas la racine sont accroches dans la partition racine (ou une autre dj
accroche) au niveau dun rpertoire qui sert de point de montage.
Le contenu du point de montage est alors inaccessible et remplac par le contenu du systme de
fichier qui a t mont

Le chemin absolu dun lment du systme mont est le chemin du point de montage suivi du
chemin dans le systme de fichiers mont.
Exemple : fichier moi/toto.txt dans un systme mont sur /home, le chemin absolu est
/home/moi/toto.txt.

Le pseudo-systme /dev
Sous Linux, les priphriques sont accessibles par une interface de type fichier. Leur chemin est
/dev/codeperipherique.
Le sous-arbre partir de /dev est un systme de fichiers indpendant dun priphrique physique. On
parle de systme de fichiers virtuel.
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

111 / 239

Organiser ses donnes

Arborescence et montage

Syntaxe pour mount


mount

[[priphrique] point_de_montage]

Description

priphrique correspond priphrique (/dev/xxx). Il y a plusieurs syntaxes possibles.


point_de_montage correspond un nom de rpertoire valide dans larborescence principale
donnant accs au contenu de larborescence du priphrique.

Sans argument, la commande liste tous les montages en cours

Exemple dutilisation:
login@host:/home$ mount /dev/sde1 /mnt/usb

/ . . . Rpertoire racine du priphrique /dev/sde1


photo/
. . . . . . . . . . . . . . . . . . . . . . . . . . . . Contenu...
CV.pdf
/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire Racine
mnt/
usb/ . . . . . . . . . . . . . . . . . Rpertoire normal
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

/ . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire racine
mnt/
usb/ . . . . . . . . . . . . . . Point de montage
photo/ . . . Contenu du priphrique
. . . . . Contenu du priphrique
CV.pdf . . Contenu du priphrique
S1 2015

112 / 239

Organiser ses donnes

Arborescence et montage

Exercices

Analyse de priphriques
Q49 Le priphrique zero est un priphrique virtuel. La commande dd if=/dev/zero
count=1 | hexdump -v permet de voir les 512 premiers octets de ce priphrique virtuel
(en hexadcimal). Regardez-le. Quest-ce quil a de particulier ?
Q50 Le priphrique urandom est un priphrique virtuel. La commande dd if=/dev/urandom
count=1 | hexdump -v permet de voir les 512 premiers octets de ce priphrique virtuel
(en hexadcimal). Regardez-le. Recommencez. Quest-ce quil a de particulier ?
Q51 Le priphrique sda1 est une des partitions du disque dur. La commande dd if=/dev/sda1
count=1 | hexdump -v permet de voir les 512 premiers octets de ce priphrique virtuel
(en hexadcimal). Regardez-le. Que se passe-t-il ? Un programme normal comme dd peut-il
examiner le disque dur en outrepassant le systme de fichiers ?
Q52 En utilisant la commande mount, analysez les diffrentes partitions prsentes dans votre systme.
Identifiez celles qui correspondent un vrai priphrique et les systmes de fichier virtuel.

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

113 / 239

Organiser ses donnes

Arborescence et montage

Espace libre
Une partition occupe une taille fixe. La plupart des systmes de fichiers sont de taille fixe. Elles peuvent
accueillir uniquement une certaine quantit de donnes.

Lespace de travail
Comme dans un parking, la quantit de donnes que lon peut mettre dans un disque ne doit pas tre
gale la quantit de donnes quil peut accueillir, sinon, on ne peut pas faire un certain nombre
doprations. En plus de lespace rserv la signalisation (index et tables divers), on rserve aussi un
peu despace pour les programmes importants du systme.

La fragmentation
Les fichiers sont poss par petits blocs dans la partition (qui est elle-mme un gros bloc dans lensemble
du disque). Parce quun fichier est plus rapide lire si les blocs sont les uns ct des autres, les
systmes de fichiers essayent de maintenir cet tat. Sous Windows, on peut aider le systme en
procdant une opration de rangement : la dfragmentation.
Les systmes de fichiers utiliss sous Linux nont quasiment pas de fragmentation si on utilise moins de
95% de leur espace.

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

114 / 239

Organiser ses donnes

Arborescence et montage

Syntaxe pour df
df [-h] [emplacement]

Description

Affiche les disques monts et leur capacit de mmoire (celui de la partition qui correspond
lemplacement, tous sil ny en a pas).
Loption -h (human readable) convertie laffichage des tailles mmoires en units conventionnelles
binaires (en nombre de blocs par dfaut). Avec -H cest en units dcimales.

Exemple dutilisation:
login@host:$ df -h
Sys. de fichiers
/dev/sda1
myserver:/home/moi
...
login@host:$

G. Santini, J.-C. Dubacq (IUTV)

Taille
56G
1,8T
...

Uti.
16G
1,6T
...

Disp.
37G
192G
...

Introduction linformatique

Uti%
31%
90%
...

Mont sur
/
/users/moi
...

S1 2015

115 / 239

Organiser ses donnes

Arborescence et montage

Exercices

Partitions et espace disque


Q53 Analysez lespace disque disponible et utilis sur toutes les partitions de votre ordinateur. Comparez
les units dcimales et binaires.
Q54 En utilisant df / et df /etc, vrifiez que ces deux rpertoires sont bien sur la mme partition.
Comparez avec df ~ et df /boot.
Q55 Si un utilisateur remplit compltement la partition qui abritent ses donnes, quest-ce qui cesse de
fonctionner ? Quest-ce qui peut continuer fonctionner ?
Q56 Ladministrateur root a pour rpertoire personnel /root. En regardant sur quelle partition cest,
expliquez pourquoi ce nest pas dans /home.

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

116 / 239

Organiser ses donnes

Arborescence et montage

Les nuds dindex


Les nuds dindex ou inodes

Les donnes des fichiers sont stockes dans des blocs numrots.
Lorganisation des fichiers et rpertoires est elle stocke dans des blocs spciaux appels nuds
dindex (ou inodes). Un chemin est associ un inode unique qui va contenir la liste des numros de
blocs de donnes quil utilise.

Un rpertoire est un inode qui pointe vers un bloc de donnes qui contient un tableau de type nom
inode

Un fichier est un inode qui pointe vers un ou plusieurs blocs de donnes qui contiennent... les
donnes.
Linode, cest le reprsentant du fichier. Il contient aussi les mtadonnes associes.

Lire la structure des inodes


Les inodes sont simplement dsigns par un numro. La commande ls -i ou stat permet daccder
cette information.

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

117 / 239

Organiser ses donnes

Arborescence et montage

Syntaxe pour stat


stat

chemin [chemin_2 ...]

Description

Si le chemin est occup par un fichier ou un rpertoire, affiche les mtadonnes relatives au chemin.

Exemple dutilisation:
login@host:$ stat /etc/fstab
Fichier : /etc/fstab Taille : 672 Blocs : 8
Blocs dE/S : 4096 fichier Priphrique : 801h/2049d
Inud : 5244539 Liens : 1 Accs : (0644/-rw-r-r-)
UID : ( 0/ root) GID : ( 0/ root) Accs : 2015-09-22
22:04:47.768711256 +0200 Modif. : 2013-11-13
09:12:51.763972183 +0100 Changt : 2015-08-09
10:57:36.553313285 +0200 Cr : login@host:$

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

118 / 239

Organiser ses donnes

Arborescence et montage

Exercices
Dcouvrir les mtadonnes
Q57 En utilisant la commande stat , trouvez le numro dinode de votre rpertoire personnel.
Q58 Quelles autres sortes de mtadonnes arrivez-vous comprendre ?
Q59 Avec la commande ls -ia1 , regardez les numros dinodes de vos rpertoires. Sont-ils
diffrents ? Comment lexpliquez-vous ?
Q60 Maintenant, regardez le numro dinode avec stat du rpertoire /home/usager. Est-ce que
vous le reconnaissez ?
Q61 Regardez avec ces commandes les valeurs des numros dinode de /, /. et /... Expliquez.
Q62 Recommencez avec stat /home et stat /. Que remarquez-vous propos de ces numros
dinodes ? Est-ce que ces rpertoires sont identiques ? Comme lexpliquer ?
Documents/m1101/textes, il y a un fichier texte. Regardez ses
Q63 Dans le rpertoire /
mtadonnes. Dans une autre fentre, lisez-le. Puis regardez encore. Est-ce que quelque chose a
chang ?
Q64 Faites une copie de ce fichier. Modifiez la copie avec gedit copie.txt. Vrifiez que les
mtadonnes changent encore. Lesquelles ? Est-ce quil y a une commande qui permet de faire ce
changement de mtadonnes sans vraiment changer le fichier ? (aprs, supprimez la copie).
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

119 / 239

Organiser ses donnes

Arborescence et montage

Les liens durs


Un fichier, deux chemins (et plus si affinits)
Vu la structure utilise, il est possible de mettre le mme numro dinode dans deux rpertoires diffrents
(mme nom ou pas) ou sous deux noms dans le mme rpertoire. On obtient ainsi deux chemins qui
pointent vers le mme fichier. Cest ce quon appelle un lien ou lien dur (hardlink).
Lorsquon dite le premier fichier , le deuxime est aussitt modifi (normal, cest le mme).
Lorsquon supprime lun des deux fichiers, lautre reste. Pour savoir quand effacer vraiment le fichier, il
utiliser le compteur de liens (lorsquil est zro, on peut effacer).
On ne peut pas faire de liens durs entre partitions diffrentes.q

Bote outils : les partitions


Commande
mount
df
ls
stat
ln

G. Santini, J.-C. Dubacq (IUTV)

Fonction principale
Manipuler les partitions
Afficher lespace restant
Afficher le contenu dun rpertoire
Afficher les mtadonnes dun chemin
Crer un lien (dur ou symbolique)

Introduction linformatique

S1 2015

120 / 239

Organiser ses donnes

Arborescence et montage

Syntaxe pour ln
ln

source [cible]

Description

Cre un lien dur entre la rfrence source et le chemin cible.

Exemple dutilisation:
login@host:$ ln astronomie.txt Etoiles/lisezmoi.txt

Le lien sur un fichier cre une deuxime entre pointant vers le mme inode.

moi/ . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire courant


astronomie.txt . . . . . . . . . . . . . Rfrence source
Etoiles/
soleil.jpg
aldebaran.gif

G. Santini, J.-C. Dubacq (IUTV)

moi/ . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire courant


astronomie.txt
Etoiles/
soleil.jpg
lisezmoi.txt . . . . . . . . . . . . . Nouveau chemin
aldebaran.gif

Introduction linformatique

S1 2015

121 / 239

Organiser ses donnes

Arborescence et montage

Exercices
Liens durs
Q65 Dans votre rpertoire
/Documents/m1101/textes, crez un petit fichier source.txt.
Insrez quelques lignes de texte dedans (avec gedit source.txt), puis quittez lditeur de
texte.
Q66 Vrifiez dans la console son numro dinode, et son contenu. Quelles sont les commandes pour cela ?
Q67 Faites une copie de source.txt vers copie.txt, et un lien de source.txt vers
lien.txt. Vrifiez le contenu de la copie et du lien. Vrifiez que les numros dinode et les
compteurs de liens sont comme ce quoi vous vous attendiez.
Q68 Avec lditeur de texte, comme plus haut, modifiez le fichier source. Regardez les trois fichiers dans le
terminal. Est-ce conforme vos attentes ? Essayez ensuite en changeant la copie.
Q69 Faites un lien de lien.txt vers lienlien.txt. Vrifiez le compteur de liens. Effacez ensuite
lien.txt, et vrifiez encore.
Q70 Modifiez lienlien.txt, puis regardez tous les contenus. Effacez le fichier source.txt. Le
fichier lienlien.txt est-il toujours l ?
Q71 Essayez de faire un lien entre copie.txt et /tmp/copie.txt. Que se passe-t-il ?
Pourquoi ? Expliquez.
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

122 / 239

Organiser ses donnes

Arborescence et montage

Les liens symboliques

Une redirection
Sous Windows ou sous Unix, on peut crer des raccourcis qui lient un chemin spcifique un
autre endroit dans larborescence.

Unix les appelle des liens symboliques.

Windows les appelle des raccourcis.

Un lien symbolique est un chemin (relatif ou absolu) qui indique un autre point de larbre. Il
fonctionne au niveau chemin et pas au niveau inode.

Un lien symbolique peut traverser les partitions.


Un lien symbolique peut pointer sur un chemin qui ne correspond pas un fichier ou un rpertoire.
On dit quil est bris.

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

123 / 239

Organiser ses donnes

Arborescence et montage

Exercices
Liens symboliques
Q72 Dans votre rpertoire
/Documents/m1101/textes, recrez un petit fichier source.txt,
effacez lienlien.txt et copie.txt.
Q73 Faites un lien symbolique de source.txt vers lien.txt. Vrifiez le contenu du lien.
Regardez les mtadonnes associes.
Q74 Avec lditeur de texte, comme plus haut, modifiez le fichier source. Regardez les deux fichiers dans
le terminal. Est-ce conforme vos attentes ?
Q75 Faites un lien de lien.txt vers lienlien.txt. Vrifiez le contenu des trois fichiers (en
modifiant).
Q76 Modifiez lienlien.txt, puis regardez tous les contenus. Effacez le fichier source.txt. Le
fichier lienlien.txt est-il toujours l ?
Q77 Essayez de faire un lien entre commande.txt et /tmp/story.txt. Que se passe-t-il ?
Pourquoi ? Expliquez.
Q78 Faites un lien symbolique vers un rpertoire. Que se passe-t-il ? Quel est le danger ?

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

124 / 239

Organiser ses donnes

Arborescence et montage

Larchivage et les liens


Les formats zip et tar

Le format tar permet darchiver autant les liens durs que les liens symboliques

Le format zip ne permet que darchiver les liens symboliques

Le programme zip remplace, par dfaut, les liens symboliques par des copies.

Loption -symlinks permet de conserver les liens symboliques dans les archives zip.

Le programme tar a une option -dereference qui transforme les liens symboliques en
copies. Les liens durs ne sont archivs quune seule fois par dfaut.
Un lien symbolique archiv en tant que tel pointant en dehors de larchive peut tre bris !

Exemple (Cration darchives)


login@host:$ zip --symlinks -r sel.zip sel/
adding: selection/ (stored 0%)
adding: selection/best.jpg (stored 0%)
adding: selection/img_1363.jpg (deflated 2%)
adding: selection/img_1221.jpg (deflated 1%)
login@host:$ unzip sel.zip
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

125 / 239

Organiser ses donnes

Arborescence et montage

Exercices
Liens et archives
Q79 Dans votre rpertoire /Documents/m1101, crez un rpertoire selection.
Q80 Faites un lien symbolique dans selection dune image de images, un lien dur et une copie de
fichier. Rajoutez un lien dur dans selection vers la copie de fichier sous un autre nom (par
exemple lameilleure.jpg.
Q81 Archivez le rpertoire selection au format tar. Vrifiez avec tar tvvf
selection.tar que les fichiers sont tous prsents, sauf le lien symbolique.
Q82 Archivez avec zip le mme rpertoire. Vrifiez (avec stat sel.zip) que la taille de larchive
est cohrente avec la prsence de quatre images (et non pas trois).
Q83 Archivez dans un autre fichier zip le mme rpertoire avec la conservation des liens symboliques.
Comparez les tailles et expliquez.
Q84 Crez trois rpertoires d1, d2, d3. Dans chacun de ces rpertoires, dcompressez les archives
cres prcdemment. Regardez ce qui arrive aux liens symboliques et aux liens durs dans chacun
des cas.

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

126 / 239

Fichiers excutables et Processus

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus

Fichier binaire et fichier texte


Processus dans un systme multitches et mutli-utilisateurs
Gestion de la mmoire vive
Gestion de laccs au CPU
Processus en ligne de commande
7 Complments sur larborescence
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

127 / 239

Fichiers excutables et Processus

Fichier binaire et fichier texte

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus

Fichier binaire et fichier texte


Processus dans un systme multitches et mutli-utilisateurs
Gestion de la mmoire vive
Gestion de laccs au CPU
Processus en ligne de commande
7 Complments sur larborescence
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

129 / 239

Fichiers excutables et Processus

Fichier binaire et fichier texte

Fichier binaire et fichier texte


Les donnes numriques
Tout fichier enregistr sur un support
numrique est une suite doctets.

Accs aux donnes


Lors de son utilisation un fichier est lu par un programme. Pour cela il doit dcoder les informations
binaires et les traiter.
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

130 / 239

Fichiers excutables et Processus

Fichier binaire et fichier texte

Fichier binaire et fichier texte


Deux grands types de fichiers : Binaire Vs Numrique
De faon gnrale un fichier binaire ne peut tre "lu" que par un programme informatique, alors quun
fichier texte peut tre "lu" par tre humain.

Les fichiers binaires

Les fichiers textes


Cest un fichier qui peut tre "lu" par un diteur de
texte brut. Les donnes sont encodes comme une
suite de caractres.

G. Santini, J.-C. Dubacq (IUTV)

Ce nest pas un fichier texte . . .Il peut contenir des


instructions machines, des donnes compresses,
des donnes binaires brutes ncessitant un
programme pour tre lues.

Introduction linformatique

S1 2015

131 / 239

Fichiers excutables et Processus

Fichier binaire et fichier texte

Fichiers sources Excutable Processus


Les sources : Une "recette de
cuisine"

Exprime un ensemble de
tches raliser pour
accomplir le programme (le
plat cuisin).
Utilise un langage de
programmation.
Cest un fichier texte.

dessine.c
(...)
float r, x, y;
r=3.0;
x=0.0;
y=7.1;
cercle(0,0r)
segment(0,0,x,y)

G. Santini, J.-C. Dubacq (IUTV)

Les processus
Lexcutable

Exprime les mmes tches


dans un langage machine.

Ce fichier ne fonctionne
que sur des ordinateurs qui
ont la mme architecture.

Cest un fichier binaire.

dessine
10100101
10001001
00101010
01111011
01000010
00101101
(...)

Lvaluation des
instructions machines
engendre des processus.

Ces processus sont


excuts par le matriel.

Les instructions machine


doivent donc tre adaptes
au matriel.

11101001
00100101
00100010
10110101
00110011
11010100

Introduction linformatique

S1 2015

132 / 239

Fichiers excutables et Processus

Fichier binaire et fichier texte

Exercices
Prparation
Q85 Vrifiez que votre rpertoire courant est bien ~/Documents/m1101. Refaites une extraction de
photos.tar (vous pouvez effacer tous les autres rpertoires crs prcdemment). Analysez laffichage
produit par la commande ls suivie des options -lh. Vous pourrez comparer les affichages obtenus
par les commandes ls -l et ls -lh pour comprendre leffet de loption -h. Vous pourrez aussi
rechercher cette information dans les pages de man.
Q86 Aprs vous tre plac dans le rpertoire cr lors de lextraction de larchive (donnees), quelle
commande permet didentifier le plus gros fichier (taille mmoire). Identifiez-le.
Q87 Quelles commandes vous permettent dafficher le contenu du fichier texte
command_line.txt ? Quels est le contenu ?
Q88 Analysez le rsulat de lvaluation des commandes suivantes :
file
file
file
file

textes
textes/commande_line.txt
images/img_2250.jpg
images/WolframC.gif

Q89 Quelle est la fonction de la commande file ? Parcourez les pages de manuel de cette commande.
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

133 / 239

Fichiers excutables et Processus

Processus dans un systme multitches et mutli-utilisateurs

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus

Fichier binaire et fichier texte


Processus dans un systme multitches et mutli-utilisateurs
Gestion de la mmoire vive
Gestion de laccs au CPU
Processus en ligne de commande
7 Complments sur larborescence
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

134 / 239

Fichiers excutables et Processus

Processus dans un systme multitches et mutli-utilisateurs

Identification des processus par le systme dexploitation


Systme multi-utilisateur

Plusieurs utilisateurs partagent les mmes ressources matriel (RAM, CPU, disques, . . .),

Chaque utilisateur lance des processus lis ses activits sur la machine et il utilise les rsultats de
ces processus.

Systme multi-tches

Plusieurs programmes en cours dexcution partagent les mmes ressources matriel (mmoire
vive, CPU, disques, . . .). Ils peuvent provenir dun seul ou de plusieurs utilisateurs,

Chaque programmes lance des processus et il utilise les rsultats de ces processus.

Il faut partager les ressources ! ! !

Chaque programme doit tre excut ventuellement "en mme temps". Il faut donc grer le partage
des ressources de calcul (accs la mmoire vive, au CPU),

Chaque programme ou utilisateur doit pouvoir retrouver les rsultats de ses calculs. Il faut donc
pouvoir identifier qui a lanc les processus et qui doit rcuprer les rsultats.

La gestion des processus est ralise par le systme dexploitation. Cest une de ses tches principales.
Pour cela il a besoin de pouvoir identifier chaque processus.
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

135 / 239

Fichiers excutables et Processus

Processus dans un systme multitches et mutli-utilisateurs

PID et PPID
PID - Process IDentifier

Cest un numro unique attribu chaque processus lors de son lancement.

Il permet didentifier de faon unique chaque processus.

La liste des processus en cours dexcution est accessible en ligne de commande par les
commandes ps et top.

PPID - Parent Process IDentifier

Le premier processus lanc porte le numro de PID 1. Les processus suivants sont des processus
issus de ce processus parent.

Chaque processus est lanc par un processus parent via lappel systme fork.

Le PPID est le PID du processus Parent.

Utilits

Lutilisateur peut suivre un processus, le suspendre temporairement, le relancer ou le tuer


(interruption dfinitive).

Le systme sen sert pour lui affecter des ressources matriel.


G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

136 / 239

Fichiers excutables et Processus

Processus dans un systme multitches et mutli-utilisateurs

Exercices

Racourcis clavier et astuces en ligne de commande


(Tab). Que se passe-t-il ?
90. Tapez les 2 caractres sl puis pressez la touche
. Que se passe-t-il ?
91. Tapez les 3 caractres sle puis pressez la touche

92. la suite de laffichage prcdent tapez la combinaison de touches

Ctrl

. Que se passe-t-il ?

93. Que fait la commande man sleep ? Que pouvez-vous dire de la commande sleep ?
94. Excutez la commande sleep 32000000. Que se passe-t-il si vous tapez la combinaison de
touches Ctrl C ?
95. Quelle action produit la pression de la flche

sur votre clavier ?

96. Quelle est laction produite par la pression de la combinaison de touches


quelques lettres ? Par la combinaison de touche Ctrl L ?
97. Quelle est laction produite en tapant ls
dun espace) ?

G. Santini, J.-C. Dubacq (IUTV)

(le caractre

Introduction linformatique

Ctrl

aprs avoir tap

signifie la prsence

S1 2015

137 / 239

Fichiers excutables et Processus

Gestion de la mmoire vive

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus

Fichier binaire et fichier texte


Processus dans un systme multitches et mutli-utilisateurs
Gestion de la mmoire vive
Gestion de laccs au CPU
Processus en ligne de commande
7 Complments sur larborescence
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

138 / 239

Fichiers excutables et Processus

Gestion de la mmoire vive

Gestion de la mmoire vive

Chaque processus a besoin de mmoire

Allocation de zone mmoire

Pour stocker et travailler sur :

Lallocation permet :

les donnes,

les instructions,

les rsultats.

Il faut assurer lintgrit des donnes !


G. Santini, J.-C. Dubacq (IUTV)

dattribuer chaque processus un espace de


travail en mmoire,

le systme contraint le programme crire


dans sa zone mmoire et ainsi,

vite quun programme modifie les donnes


dun autre programme.

Introduction linformatique

S1 2015

139 / 239

Fichiers excutables et Processus

Gestion de la mmoire vive

Gestion de la mmoire vive

Principes gnraux de lallocation

LOS maintient une table des zones mmoires alloues chaque processus. Ces zones sont
rserves et ne peuvent tre utilises que par le processus parent.

Lorsquil a besoin de mmoire, un processus demande lOS quelle zone il peut utiliser,

LOS lui attribue, en fonction de lespace libre, un certain nombre de blocs mmoire.

Les blocs mmoire attribus sont alors rservs.


G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

140 / 239

Fichiers excutables et Processus

Gestion de laccs au CPU

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus

Fichier binaire et fichier texte


Processus dans un systme multitches et mutli-utilisateurs
Gestion de la mmoire vive
Gestion de laccs au CPU
Processus en ligne de commande
7 Complments sur larborescence
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

141 / 239

Fichiers excutables et Processus

Gestion de laccs au CPU

Gestion de laccs au CPU

Le planificateur gre le temps CPU attribu chaque processus

Le CPU ne traite quun seul processus la fois,

Le planificateur permet lalternance daccs au CPU en attribuant une priorit chaque processus.

Lillusion dexcution simultane de plusieurs processus est donne par une alternance rapide
dattribution de temps de calcul chaque processus.
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

142 / 239

Fichiers excutables et Processus

Gestion de laccs au CPU

Syntaxe pour ps
ps <-eu>

Description

Affiche les processus en cours dexcution.

Loption <-e> indique que tous les processus doivent tre affichs,

Loption <-u> restreint laffichage aux processus de lutilisateur.

Exemple dutilisation:
login@host:$ ps -eu
Warning: bad ps syntax, perhaps a bogus -? See http://procps.sf.net
USER PID %CPU %MEM VSZ RSS
TTY STAT START TIME COMMAND
santini 5905 0.0 0.2 4824 1656 pts/1
Ss 09:27 0:00 -bash LC_ALL=fr_FR.UTF
santini 5962 0.0 0.1 3884 896 pts/1
R+ 09:48 0:00 ps -eu MANPATH=/etc/jav
login@host:$

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

143 / 239

Fichiers excutables et Processus

Gestion de laccs au CPU

Syntaxe pour top


top

Description

Permet de suivre dynamiquement (temps rel) les ressources matriel utilises par chaque
processus.

Ouvre un interface dans la ligne de commande qui peut tre quitte en pressant la touche

Donne pour chaque processus en autres choses, le PID, le nom du propritaire, la date de
lancement du processus, les %CPU et %MEM utiliss.

Exemple dutilisation:
Tasks: 85 total, 1 running, 84 sleeping, 0 stopped, 0 zombie
Cpu(s): 5.7%us, 0.0%sy, 0.0%ni, 93.6%id, 0.0%wa, 0.7%hi, 0.0%si, 0.0%st
Mem: 772068k total, 231864k used, 540204k free, 2412k buffers
Swap: 995992k total, 0k used, 995992k free, 161316k cached
PID
USER PR NI VIRT RES SHR S %CPU %MEM
TIME+
5116
root 20 0 33832 22m 6576 S 5.7 3.0 0:19.49
5879 santini 20 0 16060 7344 6116 S 0.3 1.0 0:01.06
1
root 20 0 1664 568 496 S 0.0 0.1 0:02.95
2
root 20 0
0
0
0 S 0.0 0.0 0:00.00
3
root RT 0
0
0
0 S 0.0 0.0 0:00.00

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

COMMAND
X
xfce4-netload-p
init
kthreadd
migration/0

S1 2015

144 / 239

Fichiers excutables et Processus

Processus en ligne de commande

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus

Fichier binaire et fichier texte


Processus dans un systme multitches et mutli-utilisateurs
Gestion de la mmoire vive
Gestion de laccs au CPU
Processus en ligne de commande
7 Complments sur larborescence
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

145 / 239

Fichiers excutables et Processus

Processus en ligne de commande

Processus en ligne de commande


Occupation de la ligne de commande

Lorsque lon tape une commande, la ligne de commande est bloque (plus de prompt) jusqu la fin
de lexcution.

La ligne de commande est nouveau disponible ensuite.


login@host:$ sleep 20
(il faut attendre 20 secondes avant
lapparition du nouveau prompt)
...
...
login@host:$
login@host:$ gedit
(Il faut quitter lapplication ou tuer
le processus gedit pour avoir un nouveau
prompt)
...
...

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

146 / 239

Fichiers excutables et Processus

Processus en ligne de commande

Libration de la ligne de commande


Deux faons possibles de lancer une instruction en tche de fond :

Relgation en tche de fond

Lancement en tche de fond

Les commandes qui prennent beaucoup de


temps peuvent tre lances en tche de fond
pour librer la ligne de commande du shell.

Pour lancer directement la commande en


tche de fond il suffit de faire suivre la
commande du caractre &. On retrouve
immdiatement un nouveau prompt.

login@host:$ gedit &


login@host:$

G. Santini, J.-C. Dubacq (IUTV)

Si une tche dj lance occupe la ligne de


commande, il est possible de suspendre son
excution en pressant la combinaison de
touches Ctrl Z . La tche est alors
interrompue et on retrouve un nouveau
prompt.

Il est possible de relancer le processus en


tche de fond au moyen de la commande bg.

login@host:$
Z
[1]$+ Stopped
login@host:$
[1]$+ gedit &
login@host:$

Introduction linformatique

gedit
gedit
bg

S1 2015

147 / 239

Fichiers excutables et Processus

Processus en ligne de commande

Bote outils
Commande
pwd
cd
ls
cat/less
touch
mkdir
rm/rmdir
cp
mv
mount
df
ls
stat
ln
ps
kill
sleep
fg
bg
jobs
G. Santini, J.-C. Dubacq (IUTV)

Fonction principale
Afficher le nom du rpertoire courant
Changer de rpertoire courant
Afficher le contenu dun rpertoire
Afficher le contenu dun fichier
Crer un fichier et modifier ses dates
Crer un rpertoire
Supprimer fichier(s) ou rpertoire(s)
Copier fichier(s) ou rpertoire(s)
Dplacer/Renommer fichier(s) ou rpertoire(s)
Manipuler les partitions
Afficher lespace restant
Afficher le contenu dun rpertoire
Afficher les mtadonnes dun chemin
Crer un lien (dur ou symbolique)
Afficher des informations sur les processus
Envoyer un signal un processus
Ne rien faire pendant un temps donn
Mettre un processus en avant du shell
Mettre un processus en tche de fond
Lister les processus du shell
Introduction linformatique

S1 2015

148 / 239

Fichiers excutables et Processus

Processus en ligne de commande

Exercices

Gestion des processus


Afin dillustrer la gestion des processus nous allons utiliser la commande sleep pour simuler lexcution
de programmes dont lexcution nest pas immdiate. Pour se rappeler de son fonctionnement vous
pouvez utiliser la commande man.
90. valuez linstruction sleep 1000 puis tapez

Ctrl

. Que se passe-t-il ?

91. valuez linstruction sleep 1000 & (noubliez pas le caractre &). Que se passe-t-il ?
92. La commande ps permet dafficher la liste de processus qui sexcutent sur votre ordinateur. Un
processus sexcutant sous Linux est identifi par un numro de processus, et par un propritaire
(celui qui a lanc le processus). Identifiez ces deux donnes lors de lappel des commandes
suivantes, donnez un explication la diffrence des affichages (utilisez le man si ncessaire) :
ps
ps -ef
93. Quel est le numro de processus associ la commande sleep 1000 & ?

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

149 / 239

Fichiers excutables et Processus

Processus en ligne de commande

Exercices

Gestion des processus (suite)


94. La commande kill permet denvoyer un signal un processus. Sa syntaxe dutilisation est la
suivante : kill PID o PID (Process ID) doit tre remplac par le numro du processus
supprimer.
95. Quelle commande permet de dtruire le processus associ la commande sleep 1000 & ?
96. Tapez la commande gedit dans le terminal. Quel est leffet sur la ligne de commande ?
Pouvez-vous saisir de nouvelle commandes ?
97. Aprs avoir lanc gedit (celui-ci tant en cours dexcution), que se passe-t-il si on tape Ctrl
dans le terminal qui a lanc gedit ? Quel est leffet sur le programme gedit (utilisez ps pour
suivre ltat des processus) ? Que se passe-t-il si vous tapez bg ?

98. Que fait la commande top ?


99. Excutez la command ps -ef f. Examinez comment est construite la fort de processus.
Reprez comment sont agencs les processus qui grent vos terminaux entre eux.

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

150 / 239

Complments sur larborescence

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus
7 Complments sur larborescence

Droits sur les fichiers


Arborescence du systme Linux
Interprtation ou Compilation
Excution des commandes
Chemins par dfaut et variable denvironnement
Configuration des variables denvironnement
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

151 / 239

Complments sur larborescence

Droits sur les fichiers

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus
7 Complments sur larborescence

Droits sur les fichiers


Arborescence du systme Linux
Interprtation ou Compilation
Excution des commandes
Chemins par dfaut et variable denvironnement
Configuration des variables denvironnement
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

153 / 239

Complments sur larborescence

Droits sur les fichiers

Proprit des fichiers


Identifications des utilisateurs dans un environnement multi-utilisateurs
UID (User IDentifier) numro unique associ chaque utilisateur lors de la cration de son compte.
GID (Group IDentifier) numro unique dun groupe dutilisateurs. Chaque utilisateur peut tre associ
un ou plusieurs groupes.

Utilit

Chaque fichier (ou rpertoire) et chaque processus du systme est associ un utilisateur : cet
utilisateur est le propritaire du fichier (ou rpertoire) ou celui qui a lanc le processus.

tre propritaire dun fichier ou dun processus confre des droits sur ceux-ci.

Connaitre lidentit du propritaire dun processus ou dun fichier

Les commandes top et ps affichent le nom du propritaire des processus.


La commande ls avec loption -l affiche le nom et le groupe du propritaire dun fichier ou dun
rpertoire.
Les UID et GID sont enregistrs dans le fichier dadministration /etc/passwd ou dautres
mcanismes
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

154 / 239

Complments sur larborescence

Droits sur les fichiers

Syntaxe pour ls(ter)


ls -l <source>

Description

Affiche le contenu dun rpertoire en format long.

Le format long donne le nom du propritaire et son groupe, ainsi que les droits des diffrentes
classes dutilisateurs sur les fichiers et rpertoires.

Exemple dutilisation:
chez_moi/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire Courant
public_html/
index.html
astronomie.txt
login@host:$ ls -l
total 32
drwxr-xr-x 2 santini ensinfo 4096 20 jui 15:50 public_html
-rw-r--r-- 1 santini ensinfo
25 20 jui 15:49 astronomie.txt
Ici, le nom de lutilisateur est santini, nom du groupe est ensinfo et les droits sont colors en vert.
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

155 / 239

Complments sur larborescence

Droits sur les fichiers

Les droits sur les fichiers et rpertoires


3 catgories dutilisateurs

Type de
Fichier

Types de fichiers
d
l

r w x r w x r w x
Doits du
propritaire
(User)

Doits du
groupe
(Group)

Doits des
autres
(Other)

Droits/Permissions

Types
Fichier ordinaire
Rpertoire
lien symbolique

r
w
x

(Read)
(Write)
(eXecute)

Fichier
lire
crire et modifier
excution

Rpertoire
lister le contenu
modifier le contenu
traverser

Types dutilisateurs
u
g
o
a

(U)ser
(G)roup
(O)ther
(A)ll

G. Santini, J.-C. Dubacq (IUTV)

Cible
Propritaire du fichier/rpertoire
Membre du mme groupe que le propritaire
Tous les autres
Tous les utilisateurs (runion de u, g et o).
Introduction linformatique

S1 2015

156 / 239

Complments sur larborescence

Droits sur les fichiers

Syntaxe pour chmod


chmod

droit fichier

Description

Modifie les droits et permissions accords par le propritaire aux diffrents utilisateurs du systme.

Exemple dutilisation:
Retire au propritaire le droit dcriture sur le fichier
cv_2011.pdf.
login@host:$ chmod u-w cv_2011.pdf
Ajoute au propritaire et aux membres de son groupe le droit
dexcution sur le fichier listing.bash.
login@host:$ chmod ug+x
listing.bash

G. Santini, J.-C. Dubacq (IUTV)

Retire aux utilisateurs qui ne sont ni le propritaire ni membre de


son groupe les droits de lecture, dcriture et dexcution.
login@host:$ chmod o-rwx
listing.bash
Ajoute tous les utilisateurs, tous les droits.
login@host:$ chmod a+rwx
listing.bash

Introduction linformatique

S1 2015

157 / 239

Complments sur larborescence

Droits sur les fichiers

Description
Il existe plusieurs notations des droits.

La notation alphanumrique :(ugoa) (+/-) (rwx)


La notation octale

Calcul des droits pour un utilisateur (u, g ou o) :


Droit
----x
-w-wx
r-r-x
rwBinaire
000
001
010
011
100
101
110
Octale
0
1
2
3
4
5
6
Exemple de notation octale des droits dun fichier
User
Group
Other
Alphabtique
r
w
x
r
x
x
Binaire
1
1
1
1
0
1
0
0
1
Octale
7
5
1

rwx
111
7

Exemple dutilisation:
Alph.
--rwrwrw-

----r-rw-

----r-rw-

Oct.
000
600
644
666

G. Santini, J.-C. Dubacq (IUTV)

Alph.
rwx --- --rwx r-x r-x
rwx rwx rwx

Oct.
700
755
777

login@host:$ chmod 700 dir_parano


login@host:$ chmod 644 fichier_pub

Introduction linformatique

S1 2015

158 / 239

Complments sur larborescence

Droits sur les fichiers

Exercices
Identification et droits
Q100 Au moyen de la commande id, affichez votre UID et votre GID ? Comparez-le avec celui de votre
voisin de table. Quen concluez-vous ? Comparez-les avec celui de lutilisateur root. Quen
concluez-vous ?
Q101 Quels sont vos droits sur le rpertoire racine /, /root, /tmp, sur votre rpertoire /, et celui de
votre voisin de table /../login_voisin.
Q102 Pouvez-vous lire les donnes contenue dans le rpertoire de votre voisin. Quelle commande
permettrait de le faire ? Qui doit lancer la commande ?
Q103 Donnez les commandes octale et alphanumrique de changement de droits permettant :

dautoriser aux membres de votre groupe et aux "autres" laccs en lecture aux images du rpertoire
/Documents/m1101/images.
de donnez les droits dcriture aux membres de votre groupe sur le fichier
/Documents/m1101/textes/command.txt
de vous (le propritaire) retirer toute possibilit de supprimer le fichier
/Documents/m1101/photos.tar (vous ferez la manuvre inverse aprs).

Q104 Imaginez comment donner votre voisin un accs sous votre rpertoire personnel un rpertoire
dans lequel il aurait les droits dcriture sur un fichier spcifique, que vous ne pourriez vous que lire
(mais pas modifier). Il ne doit pas pouvoir crer un autre fichier chez vous. Comment faites vous pour
effacer ce fichier ?
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

159 / 239

Complments sur larborescence

Droits sur les fichiers

Exercices

Remise en tat
Aprs toutes les modifications pouvant impliquer votre rpertoire personnel, noubliez pas chmod 711
pour remettre les modes de votre rpertoire leur tat dorigine.

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

160 / 239

Complments sur larborescence

Arborescence du systme Linux

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus
7 Complments sur larborescence

Droits sur les fichiers


Arborescence du systme Linux
Interprtation ou Compilation
Excution des commandes
Chemins par dfaut et variable denvironnement
Configuration des variables denvironnement
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

161 / 239

Complments sur larborescence

Arborescence du systme Linux

Les principaux rpertoires et leur contenu


Une structure plus ou moins normalise

Les fichiers ncessaires au fonctionnement du systme sont organiss en arborescence,

Cette arborescence est commune presque toutes les distribution linux,

Cette organisation rationalise facilite linstallation de nouveaux programmes qui savent o trouver
les fichiers dont ils peuvent avoir besoin.

Une organisation qui permet un cloisonnement

Les fichiers et les rpertoires systmes sont protgs par des restrictions de droits,

De nombreux fichiers ne peuvent tre modifis par un utilisateur normal ,

Seul lutilisateur root, ou les utilisateur faisant partie du groupe admin peuvent avoir la
permission de modifier certains fichiers.
Il sagit dune protection. Pour raliser une action susceptible daffecter le comportement du systme
il faut montrer "patte blanche" et prendre conscience de ce que lon fait. Entrer le mot de passe
root doit tre un signal dalerte.

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

162 / 239

Complments sur larborescence

Arborescence du systme Linux

Les principaux rpertoires et leur contenu


Rpertoire

Contenu

Rpertoire racine : Toutes les donnes accessibles par le systme

/bin

Binaires excutables des commandes de bases (cd, ls, mkdir, . . .)

/dev

Fichiers spciaux correspondants aux priphriques

/etc

Fichiers de configuration (profile, passwd,fstab... )

/home

Les rpertoires personnels des utilisateurs

/lib

Librairies partages et modules du noyeau

/mnt

Points de montage des priphriques

/root

Rpertoire personnel de ladministrateur

/tmp

Donnes temporaires

/usr

Ressources accessibles par les utilisateurs

/var

Fichiers de log ou fichiers changeant frquemment

Lessentiel est synthtis dans


https://fr.wikipedia.org/wiki/Filesystem_Hierarchy_Standard

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

163 / 239

Complments sur larborescence

Arborescence du systme Linux

Exercices

Hirarchie du systme
Astuce : si la sortie dune commande est trop longue, on peut ajouter |less la fin de la ligne
pour lafficher par morceaux. Ceci vous sera expliqu dans quelques sances...
Q105 Identifiez le propritaire, le groupe et les diffrents droits des fichiers contenus dans le rpertoire
/bin ? Quels sont vos droits sur ces fichiers ?
Q106 Ces fichiers on le droit x. Que pouvez-vous en conclure ?
Q107 A votre avis, que se passe-t-il en fait lorsque vous saisissez une commande telle que ls ?

FHS
Q108 Identifiez, laide de la FHS, la fonction de /usr/include. Confirmez votre hypothse en
regardant quelques fichiers.

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

164 / 239

Complments sur larborescence

Interprtation ou Compilation

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus
7 Complments sur larborescence

Droits sur les fichiers


Arborescence du systme Linux
Interprtation ou Compilation
Excution des commandes
Chemins par dfaut et variable denvironnement
Configuration des variables denvironnement
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

165 / 239

Complments sur larborescence

Interprtation ou Compilation

Langages Compils Vs Langages Interprts


Caractristiques des Langages Compils

Lensemble du code source est compil une seule fois avant lexcution en instructions machine
(contenues dans un fichier : excutable).

Le compilateur nest pas ncessaire lors de lexcution.

Le compilateur est spcifique la machine.

Lexcutable (code compil) est spcifique la machine.

Avantages

Inconvenients

Il faut recompiler pour prendre en compte


une modification du code.

Plus rapide (spcifique la machine qui


excute les instructions).

Lexcutable nest pas portable sur


dautres machines.

Lensemble des instructions sont


regroupes dans un seul fichier.

Exemples de langages Compils

C, C++, ADA, Pascal, Fortran, Cobol,

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

166 / 239

Complments sur larborescence

Interprtation ou Compilation

Langages Compils Vs Langages Interprts


Caractristiques des Langages Interprtes

Les instructions du code source sont converties en instructions machine lors de lexcution du
programme

Linterprteur est ncessaire lors de lexcution.

Linterprteur est spcifique la machine,

Lexcutable (le code source) nest pas spcifique la machine.

Avantages

Inconvenients

Moins rapide.

Plusieurs fichiers (et librairies) servent


lexcution.

Modifications du code source


immdiatement prises en compte lors de
la rexcution.

Le code est portable sur dautres machine

Exemples de langages Interprts

Java, Python, Bash, Lisp, PHP, Prolog, Perl, Javascript

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

166 / 239

Complments sur larborescence

Excution des commandes

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus
7 Complments sur larborescence

Droits sur les fichiers


Arborescence du systme Linux
Interprtation ou Compilation
Excution des commandes
Chemins par dfaut et variable denvironnement
Configuration des variables denvironnement
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

167 / 239

Complments sur larborescence

Excution des commandes

Lancer un programme/une commande


Cas gnral

Pour excuter un programme il suffit saisir sur la ligne de commande le chemin menant au fichier
contenant les instructions,
Si le fichier prsente la permission "X" pour excutable, les instructions quil contient sont
excutes.

Script bash excutable

Un script bash est un fichier texte


contenant des instructions bash

test_bash.sh
#!/bin/bash

La premire ligne contient le chemin


menant lexcutable de linterprter
prcd des caractre #! (par exemple
#! /bin/bash),

La seconde ligne est souvent vide,

Les lignes suivantes comportent des


instructions.

G. Santini, J.-C. Dubacq (IUTV)

instruction 1 ;
instruction 2 ;
...
instruction N ;

Introduction linformatique

S1 2015

168 / 239

Complments sur larborescence

Excution des commandes

Exercices

Lancer un programme/une commande


Q109 Aprs avoir cr un rpertoire bin dans votre rpertoire personnel, crez dans ce rpertoire un script
nomm listintro.sh. Ce script comporte une unique commande permettant de lister le
contenu du rpertoire de travail /Documents/m1101/ dans lequel vous avez lhabitude de
travailler.
Q110 Attribuez les droits dexcution sur ce fichier. Il est normalement devenu un excutable.
Q111 Quelle commande permet dexcuter ce script si le rpertoire courant est le rpertoire /bin qui le
contient ? Idem, si le rpertoire courant est votre rpertoire personnel. Vous vrifierez que le script se
comporte comme attendu (il vous place dans une autre rpertoire).
Q112 la commande echo permet dafficher une message lcran. Modifiez le script pour quil avertisse
lutilisateur de la fin du script par un message explicite.

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

169 / 239

Complments sur larborescence

Excution des commandes

Syntaxe pour echo


echo

expression

Description

Affiche sur la sortie standard lexpression aprs interprtation.

Exemple dutilisation:
Affiche Bonjour :

login@host:$ echo Bonjour


Bonjour
login@host:$

G. Santini, J.-C. Dubacq (IUTV)

Dfinie une variable puis affiche sa valeur :


login@host:$ Astre=Terre
login@host:$ echo $Astre
Terre
login@host:$ echo La planete $Astre
La planete Terre
login@host:$

Introduction linformatique

S1 2015

170 / 239

Complments sur larborescence

Excution des commandes

Lancer un programme/une commande


Cas gnral

Pour excuter un programme il suffit saisir sur la ligne de commande le chemin menant au fichier
contenant les instructions,
Si le fichier prsente la permission "X" pour excutable, les instructions quil contient sont
excutes.

Cas particulier : les commandes

Une commande (ls, gedit, firefox, . . .) est un programme comme un autre,

Les instructions qui doivent tre values sont crites dans un fichier (/bin/ls,
/usr/bin/python, /usr/share/bin/firefox, . . .),

Pourtant . . .

Des chemins qui mnent nulle part ! ! !

les noms des commandes (ls, gedit, firefox . . .) sont toujours saisies comme des chemins
relatifs (pas de /bin/... devant le nom du fichier), alors que le fichier de commande nest pas
dans le rpertoire courant !. . .
On donne donc un chemin vers un fichier qui nexiste pas . . .
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

171 / 239

Complments sur larborescence

Chemins par dfaut et variable denvironnement

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus
7 Complments sur larborescence

Droits sur les fichiers


Arborescence du systme Linux
Interprtation ou Compilation
Excution des commandes
Chemins par dfaut et variable denvironnement
Configuration des variables denvironnement
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

172 / 239

Complments sur larborescence

Chemins par dfaut et variable denvironnement

Chemins par dfaut et variable denvironnement


Lorsquon donne une commande au terminal, on ne spcifie pas le chemin vers le fichier qui
contient lexcutable, on donne juste le nom du fichier. . .
login@host:$ ls
Mes_Documents/ Etoiles/ astronomie.txt
cv.pdf
login@host:$

. . .alors, comment le systme trouve-t-il le fichier a excuter correspondant la commande ?. . .


Un mcanisme propre aux commandes

Le premier mot tap sur la ligne de commande est toujours interprte comme le nom dun fichier
excutable,

Le systme recherche donc dans une liste de rpertoires contenant les excutables si un fichier
porte le nom de cette commande,

Ds quil trouve dans ces rpertoires un tel fichier, il lexcute . . .


G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

173 / 239

Complments sur larborescence

Chemins par dfaut et variable denvironnement

Chemins par dfaut et variable denvironnement


Les variables denvironnement

Comme les variables dun script, les variables denvironnement sont associes une valeur,

De telles variables sont dfinies par le systme dexploitation pour son fonctionnement, ce sont les
variables denvironnement,

ces variables peuvent tre utilises par les programmes.

La variable denvironnement $PATH

Sa valeur est une liste de rpertoires spars par le signe :


PATH=repertoire1:repertoire2:...:RepertoireN

Lors de chaque appel de commande, linterprteur parcourt cette liste dans lordre la recherche
dun fichier portant le nom de la commande,

Ds quil rencontre un tel fichier, il met fin sa recherche et excute le fichier.

Rle de $PATH
Il sagit dune liste de rpertoires que linterprteur parcours automatiquement et squentiellement
(par dfaut) si aucun chemin nest donn pour trouver le fichier excutable.
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

174 / 239

Complments sur larborescence

Chemins par dfaut et variable denvironnement

Syntaxe pour which


which

nom_de_la_commande

Description

Affiche le chemin du fichier correspondant une commande.


Parcours successivement les rpertoires de la variable $PATH. Ds quil trouve un fichier
correspondant au nom de la commande il renvoie son chemin.

Exemple dutilisation:
/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rpertoire Racine
bin/
ls . . . . . . . . . . . . . . . . . . . . . . . Excutable #1
...
home/
chez_moi/ . . . . . . . . . . . . Rpertoire Courant
bin/
ls . . . . . . . . . . . . . . . Excutable #2

G. Santini, J.-C. Dubacq (IUTV)

login@host:/home/chez_mo$ echo $PATH


/bin:/usr/bin:/usr/local/bin:/home/chez_m
login@host:/home/chez_moi$ which ls
/bin/ls

Introduction linformatique

S1 2015

175 / 239

Complments sur larborescence

Chemins par dfaut et variable denvironnement

Chemins par dfaut et variable denvironnement

La commande export pour modifer la variable $PATH

Dfinir la variable $PATH


login@host:/$ export PATH=monDir1:monDir2

Ajouter un rpertoire $PATH


login@host:/$ export PATH=$PATH:monDir2

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

176 / 239

Complments sur larborescence

Chemins par dfaut et variable denvironnement

Exercices

Environnement
Q113 Au moyen de la commande env, donnez la liste des rpertoires contenus dans $PATH.
Q114 Au moyen de la commande which, afficher la localisation des excutables correspondants aux
commandes mv, cd, man, cat, firefox, acroread.
Q115 Vrifiez que ces rpertoires font partie de la liste contenue dans la variable $PATH ? Que se
passerait-il si ce ntait pas le cas ?
Q116 Ajouter le rpertoire /bin la liste des rpertoires $PATH.
Q117 Maintenant que /bin est parcoure par dfaut lors de lappel dune commande, comment
invoque-t-on dsormais lexcution du script listintro.sh ? Vrifiez le comportement attendu.

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

177 / 239

Complments sur larborescence

Configuration des variables denvironnement

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus
7 Complments sur larborescence

Droits sur les fichiers


Arborescence du systme Linux
Interprtation ou Compilation
Excution des commandes
Chemins par dfaut et variable denvironnement
Configuration des variables denvironnement
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

178 / 239

Complments sur larborescence

Configuration des variables denvironnement

Fichiers de configuration
Fichiers systmes et utilisateurs

Les variables denvironnement (et dautres variables de configuration) sont dfinis dans divers
fichiers.

On distingue les fichiers systme qui dfinissent des comportements pour tous les utilisateurs
(stocks dans le rpertoire /etc/) des fichiers de configuration propres un utilisateur (stocks
dans le rpertoire personnel)

fichier
/etc/profile
/home/chez_moi/.profile
/etc/bashrc
/home/chez_moi/.bashrc

Propritaire
root
utilisateur
root
utilisateur

Applicable
Tous
utilisateur
Tous
utilisateur

valu lors
Au dbut de chaque shell d
Au dbut de chaque shell d
Au dbut de chaque shell
Au dbut de chaque shell

Configurer son environnement

Chaque utilisateur peut redfinir ses variables denvironnement,


Pour cela il peut modifier le contenu des fichiers .bashrc et .profile dans son rpertoire
personnel,
Ce sont des fichiers cachs (leur nom commence par un point : .). Pour voir si ils existent il faut
utiliser
G. Santini, loption
J.-C. Dubacq -a
(IUTV)de la commende ls.Introduction linformatique
S1 2015
179 / 239

Complments sur larborescence

Configuration des variables denvironnement

Fichiers de configuration
Contenu dun fichier .bashrc

Redfinition des variables denvironnement,

Dfinition des alias,

Dfinition des fonctions,

et de faon gnrale toutes les instructions que lon souhaite valuer lors de louverture dun
nouveau shell.
.bashrc
# Mes aliases
alias ll=ls -l
alias df=df -h
alias rm=rm -i
# Mes variables
PATH=$PATH:$HOME/bin

Autres variables denvironnement


$HOME le chemin du rpertoire personnel de lutilisateur,
$PWD le chemin du rpertoire courant.
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

180 / 239

Complments sur larborescence

Configuration des variables denvironnement

Syntaxe pour alias


alias

nom_de_la_commande=expression

Description

cret un alias entre un nom de commande et une expression.

lexpression est donne entre quotes : expression ...

Exemple dutilisation:
login@host:$ ll
-bash: ll: command not found
chez_moi/ . . . . . . . Rpertoire Courant
login@host:$ alias ll=ls -l
public_html/
login@host:$ ls -l
total 32
index.html
drwxr-xr-x 2 santini ensinfo 4096 20 jui 15:50
astronomie.txt
-rw-r-r- 1 santini ensinfo

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

public_h
25 20 jui 15:49 telluriques.

S1 2015

181 / 239

Complments sur larborescence

Configuration des variables denvironnement

Exercices

Chemins par dfaut et variable denvironnement


Q118 Copiez lexcutable de la commande ls dans le rpertoire /bin. Deux versions de la mme
commande existe dans 2 rpertoires diffrents lists sans $PATH. Quelle commande est excute ?
Comment en tre sur et pourquoi ?
Q119 Si vous modifiez la variable $PATH, de la faon suivante, quelle commande est alors excute ?
login@host:/$ export PATH=monDir2:$PATH

Q120 Modifiez/crez un fichier /.bashrc pour ajouter le rpertoire /bin de faon stable votre
variable $PATH.
Q121 ajoutez dans le mme fichier les alias qui vous paraissent intressants.

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

182 / 239

Flux de donnes

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus
7 Complments sur larborescence
8 Flux de donnes

Entre et sortie standard


Redirections
Tubes
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

183 / 239

Flux de donnes

Entre et sortie standard

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus
7 Complments sur larborescence
8 Flux de donnes

Entre et sortie standard


Redirections
Tubes
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

185 / 239

Flux de donnes

Entre et sortie standard

Entre et sortie standard


Rappel : Les programmes informatiques

Un programme prend des donnes en entre.


Ces donnes peuvent tre lues dans un fichier
ou fournies par un flux du systme.

Le programme manipule ces donnes.

Le programme fournit un rsultat en sortie


(des donnes). Ces donnes peuvent tre
crites dans un fichier ou exportes comme un
flux vers le systme.

Les flux de donnes


Pour fonctionner, un programme a donc besoin de lire des donnes (flux dentre : input) et dcrire les
rsultats de ses valuations (flux de sortie : output). On distingue 3 types de flux de donnes :

STDIN : entre standard (l o sont lues les donnes),

STDOUT : sortie standard (l o sont crits les rsultats),

STDERR : sortie erreur (l o sont crit les messages derreur).


G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

186 / 239

Flux de donnes

Entre et sortie standard

Entre et sortie standard


Les commandes qui lisent sur lentre standard

Certaines commandes Linux qui traitent les donnes dun fichier (dont le chemin est pass en
paramtre) peuvent alternativement, si aucun chemin fichier nest spcifi, travailler directement
avec les donnes lues sur lentre standard.

Par exemple : echo, cat, head, tail, grep.

Par dfaut, lentre standard est le clavier.

Les commandes qui crivent sur la sortie standard

Les affichages produits par les commandes Linux sont le rsultat de leur valuation. Ce rsultat est
crit sur la sortie standard.

Par dfaut, la sortie standard est lcran.


G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

187 / 239

Flux de donnes

Entre et sortie standard

Syntaxe pour cat


cat

fichier [fichier_2 ...]

Description

Affiche le contenu des fichiers les uns la suite des autres.

Les fichiers sont concatns dans lordre des paramtres.

Exemple dutilisation:
Cette commande est en gnrale utilise pour concatner des fichiers textes. On lutilise avec une commande de redirection (cf. Partie
Redirections) pour enregistrer le rsultat de la concatnation dans un nouveau fichier.
Soient les deux fichiers suivants :

tellur.txt
Mercure, Venus
Terre, Mars
jov.txt
Jupiter, Saturne
Uranus, Neptune

G. Santini, J.-C. Dubacq (IUTV)

La commande :
login@host:$ cat tellur.txt jov.txt
Mercure, Venus
Terre, Mars
Jupiter, Saturne
Uranus, Neptune
login@host:$

Introduction linformatique

S1 2015

188 / 239

Flux de donnes

Entre et sortie standard

Syntaxe pour head


head < -int > fichier

Description

Affiche par dfaut les 10 premires lignes dun fichier.

Si un entier n prcde le nom du fichier, la commande affiche les n premires lignes du fichier.

Exemple dutilisation:
Soit le fichier planetes.txt contenant les lignes suivantes :

planetes.txt
# Premier groupe
1 Mercure
Tellurique
2 Venus
Tellurique
3 Terre
Tellurique
4 Mars
Tellurique
# Deuxime groupe
1 Jupiter
Gazeuse
2 Saturne
Gazeuse
G. Santini, J.-C. Dubacq (IUTV)

La commande suivante affiche les 5 premires lignes du fichier :


login@host:$ head -5 planetes.txt
# Premier groupe
1 Mercure Tellurique
2 Venus
Tellurique
3 Terre
Tellurique
4 Mars
Tellurique
login@host:$
Introduction linformatique

S1 2015

189 / 239

Flux de donnes

Entre et sortie standard

Syntaxe pour tail


tail < -int > fichier

Description

Affiche par dfaut les 10 dernires lignes dun fichier.

Si un entier n prcde le nom du fichier, la commande affiche les n dernires lignes du fichier.

Exemple dutilisation:
Soit le fichier planetes.txt contenant les lignes suivantes :

planetes.txt
# Premier groupe
1 Mercure
Tellurique
2 Venus
Tellurique
3 Terre
Tellurique
4 Mars
Tellurique
# Deuxime groupe
1 Jupiter
Gazeuse
2 Saturne
Gazeuse
G. Santini, J.-C. Dubacq (IUTV)

La commande suivante affiche les 4 dernires lignes du fichier :


login@host:$ tail -4 planetes.txt
1 Jupiter Gazeuse
2 Saturne Gazeuse
3 Uranus
Gazeuse
4 Neptune Gazeuse
login@host:$
Introduction linformatique

S1 2015

190 / 239

Flux de donnes

Entre et sortie standard

Syntaxe pour grep


grep

"motif" fichier

Description

Affiche les lignes du fichier qui comportent le "motif".

Les lignes sont affiches dans leur ordre dapparition dans le fichier.

Exemple dutilisation:
Soit le fichier planetes.txt contenant
les lignes suivantes :

planetes.txt
# Premier groupe
1 Mercure
Tellurique
2 Venus
Tellurique
3 Terre
Tellurique
4 Mars
Tellurique
# Deuxime groupe
1 Jupiter
Gazeuse
Santini, J.-C. Dubacq (IUTV)
2 G. Saturne

Commandes :
login@host:$ grep Tellurique
planetes.txt
1 Mercure Tellurique
2 Venus
Tellurique
3 Terre
Tellurique
4 Mars
Tellurique
login@host:$ grep 1 planetes.txt
1 Mercure Tellurique
1 Jupiter Gazeuse
login@host:$
Introduction linformatique

S1 2015

191 / 239

Flux de donnes

Entre et sortie standard

Exercices
Manipulation du contenu dun fichier texte
Q122 La commande suivante montre le contenu dun fichier texte :
login@host:/$ cat /proc/cpuinfo

Q123 Quelle sont les informations contenues dans ce fichier ?


Q124 laide des commandes cat ou less identifiez dans le fichier /proc/cpuinfo le nombre de fois ou le
mot cpu apparait
Q125 La commande grep cpu /proc/cpuinfo permet dafficher les lignes du fichier
/proc/cpuinfo o le mot cpu apparait. Vrifiez quil y en le bon nombre ?
Q126 Loption -v permet dinverser son comportement. Au lieu dafficher les lignes qui prsentent le motif,
grep affiche alors les lignes qui ne prsentent pas le motif. Affichez les lignes du fichier
/proc/cpuinfo ne prsentant pas le mot cpu.
Q127 Proposez une commande permettant dafficher les premires 5 lignes
Q128 Proposez une commande permettant dafficher les dernires 5 lignes

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

192 / 239

Flux de donnes

Redirections

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus
7 Complments sur larborescence
8 Flux de donnes

Entre et sortie standard


Redirections
Tubes
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

193 / 239

Flux de donnes

Redirections

Redirection des Entre/Sorties


Commandes de Redirection
Il est possible de modifier le comportement par dfaut des commandes et de donner une entre et/ou une
sortie standard diffrente des entres/sorties standards.
command > fichier.out

Redirige la sortie standard de la commande command vers le fichier fichier.out.


Si le fichier fichier.out nexiste pas, il est cr avec comme contenu les affichages produits par la
commande command.
Si le fichier fichier.out existe, son contenu est cras et remplac par les affichages produits
par la commande command.

command fichier.out

Redirige la sortie standard de la commande command vers le fichier fichier.out.


Si le fichier fichier.out nexiste pas, il est cr avec comme contenu les affichages produits par la
commande command.
Si le fichier fichier.out existe, les affichages produits par la commande command sont ajouts
la fin du contenu du fichier.

command 2> fichier.err

Redirige la sortie erreur de la commande command vers le fichier fichier.err avec crasement
du contenu si le fichier de sortie existe dj.

Redirige la sortie erreur de la commande command vers le fichier fichier.err avec


prservation du contenu si le fichier de sortie existe dj.

command 2 fichier.err

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

194 / 239

Flux de donnes

Redirections

Exemple de redirection
Comportement par dfaut de la commande
ls

login@host:$ ls
aldenaran.jpg alphacentauri.gif
etacentauri.jpg
login@host:$ ls
aldenaran.jpg alphacentauri.gif
etacentauri.jpg
login@host:$

login@host:$ ls > 1.out


login@host:$ ls
1.out aldenaran.jpg alphacentauri.gif
etacentauri.jpg
login@host:$

La sortie standard de la premire commande ls est lcran. La liste du


contenu du rpertoire courant est affiche lcran.

G. Santini, J.-C. Dubacq (IUTV)

Redirection de la sortie de la commande


ls

La sortie standard de la premire commande ls est redirige vers le


fichier 1.out. La liste du contenu du rpertoire courant est crite dans
le fichier 1.out.
La deuxime commande ls, montre quun fichier portant le nom
1.out a t cr.

Introduction linformatique

S1 2015

195 / 239

Flux de donnes

Redirections

Syntaxe pour echo


echo

expression

Description

Affiche sur la sortie standard lexpression aprs interprtation.

Exemple dutilisation:
Affiche Bonjour :

login@host:$ echo Bonjour


Bonjour
login@host:$

G. Santini, J.-C. Dubacq (IUTV)

Dfinie une variable puis affiche sa valeur :


login@host:$ Astre=Terre
login@host:$ echo $Astre
Terre
login@host:$ echo La planete $Astre
La planete Terre
login@host:$

Introduction linformatique

S1 2015

196 / 239

Flux de donnes

Redirections

Exercices

Redirections
Q129 Que font les commandes suivantes ?
login@host:$
login@host:$
login@host:$
login@host:$

echo
echo
echo
echo

Bonjour"
Bonjour" > bonjour.out
Salut" > bonjour.out
Bonjour" bonjour.out

Q130 Entrainez-vous avec les commandes suivantes. Profitez-en pour comprendre les affichages produits par les
commandes ps et file :
login@host:$ ps > essai_ps.out
login@host:$ file /usr/include/stdio.h > file.out
Q131 Proposez une commande pour copier le contenu de /proc/cpuinfo dans un fichier cpuinfo.out sans utiliser la
commande cp

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

197 / 239

Flux de donnes

Tubes

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus
7 Complments sur larborescence
8 Flux de donnes

Entre et sortie standard


Redirections
Tubes
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

198 / 239

Flux de donnes

Tubes

Tubes
Principes de fonctionnement des Tubes (Pipe en anglais)

A la diffrence des redirections simples qui permettent de rediriger la sortie standard dune
commande vers un fichier,

Un tube permet de rediriger la sortie standard dune commande vers lentre standard dune autre
commande.

Syntaxe

Le tube est symbolis par le caractre |.


cmd1 | cmd2

La sortie standard de la premire commande (cmd1) est redirige vers lentre standard de la deuxime
commande (cmd2).
Lentre standard de la commande cmd1 et la sortie standard de la commande cmd2 ne sont pas
modifies.

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

199 / 239

Flux de donnes

Tubes

Exemple de Tubes avec les commande ls et more


Rappel des commandes :

ls affiche lcran (stdout) la liste des fichiers contenus dans un rpertoire.

more affiche page par page le contenu des donnes passe sur son entre standard.

Exemple #1

Si de trs nombreux fichiers sont contenus dans un rpertoire, la commande ls peut produire un
affichage qui ne tient pas dans lcran, rendant impossible le parcours de la liste des fichiers (seuls
les derniers sont visibles).

login@host:$ ls
Dfilement de tous les fichiers
betelgeuse.jpg
etacentauri.jpg
soleil.jpg
syrius.gif
vega.png
login@host:$

G. Santini, J.-C. Dubacq (IUTV)

Images/ . . . . . . . . . . . . . . . . . . . . . . . Rpertoire courant


aldebaran.jpg . . . . . . . . . . . . . . . Hors de la fenetre
alphacentauri.gif . . . . . . . . . . . . Hors de la fenetre
betelgeuse.jpg . . . . . . . . . . . . . . . . Dans la fenetre
etacentauri.jpg . . . . . . . . . . . . . . . . Dans la fenetre
soleil.jpg . . . . . . . . . . . . . . . . . . . . . Dans la fenetre
syrius.gif . . . . . . . . . . . . . . . . . . . . . Dans la fenetre
vega.png . . . . . . . . . . . . . . . . . . . . Dans la fenetre

Introduction linformatique

S1 2015

200 / 239

Flux de donnes

Tubes

Exemple de Tubes avec les commande ls et more


Exemple #1 (suite) :

La redirection de la sortie standard de la commande ls vers lentre standard de la commande


more permet de passer en revue laffichage de la commande ls page par page.

login@host:$ ls | more
aldebaran.jpg
alphacentauri.gif
betelgeuse.jpg
etacentauri.jpg
soleil.jpg
syrius.gif
Affichage dune premire page puis
Presser la touche Enter pour la page suivante
soleil.jpg
syrius.gif
vega.png
login@host:$
G. Santini, J.-C. Dubacq (IUTV)

Images/ . . . . . . . . . . . . . . . . . . . . . . . Rpertoire courant


aldebaran.jpg . . . . . . . . . . . . . . . . . . . . . . . Page 1
alphacentauri.gif . . . . . . . . . . . . . . . . . . . . . Page 1
betelgeuse.jpg . . . . . . . . . . . . . . . . . . . . . . . Page 1
etacentauri.jpg . . . . . . . . . . . . . . . . . . . . . . . Page 1
soleil.jpg . . . . . . . . . . . . . . . . . . . . . . . . . Page 1&2
syrius.gif . . . . . . . . . . . . . . . . . . . . . . . . . Page 1&2
vega.png . . . . . . . . . . . . . . . . . . . . . . . . . . . Page 2
Introduction linformatique

S1 2015

201 / 239

Flux de donnes

Tubes

Exemple de Tubes avec les commande ls et grep


Rappel des commandes :

ls affiche lcran (stdout) la liste des fichiers contenus dans un rpertoire.

grep affiche les lignes dun texte qui comportent un certain motif.

Exemple #2 :

Si de trs nombreux fichiers sont contenus dans un rpertoire, la commande ls peut produire un
affichage qui ne tient pas dans lcran, rendant compliqu lidentification de certain type de fichier
(fichiers au format gif par exemple).

login@host:$ ls
aldebaran.jpg
alphacentauri.gif
betelgeuse.jpg
etacentauri.jpg
soleil.jpg
syrius.gif
vega.png
login@host:$

G. Santini, J.-C. Dubacq (IUTV)

Images/ . . . . . . . . . . . . . . . . . . . . . . . Rpertoire courant


aldebaran.jpg . . . . . . . . . . . . . . . . . . . . . . . . Affich
alphacentauri.gif . . . . . . . . . . . . . . . . . . . . . Affich
betelgeuse.jpg . . . . . . . . . . . . . . . . . . . . . . . Affich
etacentauri.jpg . . . . . . . . . . . . . . . . . . . . . . . Affich
soleil.jpg . . . . . . . . . . . . . . . . . . . . . . . . . . . . Affich
syrius.gif . . . . . . . . . . . . . . . . . . . . . . . . . . . . Affich
vega.png . . . . . . . . . . . . . . . . . . . . . . . . . . . Affich

Introduction linformatique

S1 2015

202 / 239

Flux de donnes

Tubes

Exemple de Tubes avec les commande ls et more


Exemple #2 (suite) :

La redirection de la sortie standard de la commande ls vers lentre standard de la commande


grep permet deffectuer un filtrage des fichiers prsents dans le rpertoire sur la base dun motif
prsent dans leur nom (par exemple lextension .gif).

login@host:$ ls | grep .gif


alphacentauri.gif
syrius.gif
login@host:$

echo

G. Santini, J.-C. Dubacq (IUTV)

Images/ . . . . . . . . . . . . . . . . . . . . . . . Rpertoire courant


aldebaran.jpg . . . . . . . . . . . . . . Retenu par le filtre
alphacentauri.gif . . . . . . . . . . . . . . . . . . . . . Affich
betelgeuse.jpg . . . . . . . . . . . . . Retenu par le filtre
etacentauri.jpg . . . . . . . . . . . . . Retenu par le filtre
soleil.jpg . . . . . . . . . . . . . . . . . . Retenu par le filtre
syrius.gif . . . . . . . . . . . . . . . . . . . . . . . . . . . . Affich
vega.png . . . . . . . . . . . . . . . . . . Retenu par le filtre

Introduction linformatique

S1 2015

203 / 239

Flux de donnes

Tubes

Syntaxe pour wc
wc

fichier <fichier_2 ...>

Description

Affiche des statistiques sur le nombre de lignes, de mots et de caractres (compts en nombre
doctets) contenus dans le fichier dont le chemin est donn en paramtre.

Exemple dutilisation:
Soit le fichier suivant :
Commande #1 :

tellur.tsv

login@host:$ wc tellur.tsv
2
6
29 tellur.tsv
login@host:$

1 Mercure Venus
2 Terre Mars
Laffichage produit indique que le fichier tellur.tsv comporte :

2 lignes,

6 mots et

29 caractres. La taille du fichier texte est donc de 29 octets . . .

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

204 / 239

Flux de donnes

Tubes

Exercices

Tubes
Q132 tudiez et comparez les commandes suivantes. Pour vous aider vous pouvez valuer les commandes
pas pas en vous arrtant avant chaque tube.
login@host:$
login@host:$
login@host:$
-l
login@host:$
-l

cat /proc/cpuinfo | wc -l
head /proc/cpuinfo | wc -l
cat /proc/cpuinfo | grep cpu | wc
head /proc/cpuinfo | grep cpu | wc

Q133 Proposez une commande pour afficher le nombre de fichiers dans votre rpertoire home
Q134 Proposez une commande pour afficher le nombre des processus
Q135 Proposez une commande pour afficher les premires 5 lignes des dernires 10 lignes du fichier /proc/cpuinfo

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

205 / 239

Flux de donnes

Tubes

Variables

Les variables en shell se dclarent simplement par NOM=valeur.

Ce sont toutes des chanes de caractres.

Pour utiliser la valeur dune variable, on crit ${NOM} ou plus simplement $NOM quand il ny a pas
dambigut.
Les chanes comme a sont des chanes sans aucun chappement (sauf qui ferme la
chane).
Dans une chane entre apostrophes, il ny a pas de substitution par la valeur de la variable.
Les chanes "comme a" sont des chanes avec chappement (par \). Par exemple
echo "Cest un backslash:\\ et un guillemet: \"".

Une chane toute seule est comme une chane entre guillemets, mais les espaces coupent la chane
en plusieurs arguments diffrents.

Dans une chane entre guillemets, les $... sont remplacs par leur valeur.
Attention, pas despaces : A=2, et non pas A= 2 ou A = 2.

Utilisation et affichage
Il ne faut pas confondre utiliser et afficher. Laffichage se fait par la commande echo "$VARIABLE".
Lutilisation dune variable non dfinie retourne simplement une chane vide, sans dclencher derreur.
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

206 / 239

Flux de donnes

Tubes

Capture de sortie

Il est possible de rediriger la sortie dune commande vers une variable


La syntaxe est simple : A=$(macommande) ou mme
A=$(macommande|monautrecommande|encoreune)
On peut rediriger une grande quantit de donnes dans une variable.

Exemples
IVOIRE=$(grep ivory /usr/share/X11/rgb.txt); echo $IVOIRE
echo "Il y a $(grep tou /usr/share/dict/words|wc -l) mots\ qui
comportent la squence tou."

Commande cut
La commande cut permet de couper toutes les lignes suivant un dcoupage par caractres (option -c) ou
autour dun dlimiteur (option -f, dlimiteur prcis avec -d). Faites des essais pour la comprendre.
Exemples :
cat /usr/share/X11/rgb.txt|cut -c1-3
cat /usr/share/X11/rgb.txt|cut -f2cat /usr/share/X11/rgb.txt|cut -f1|cut -f2 -d
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

207 / 239

Flux de donnes

Tubes

Exercices

Recherche de couleur
Q136 Dans un script mettre dans le dbut du script une dclaration C=ivory en tte du script. Tout le
reste du script ne doit plus utiliser la valeur ivory mais uniquement le contenu de la variable.
Q137 Les donnes seront rcupres dans le fichier /usr/share/X11/rgb.txt
Q138 Le script doit afficher la chose suivante :
login@host:$ macouleur
La couleur ivory a les composantes suivantes:
Rouge: 255
Vert : 255
Bleu : 240

Q139 Au cas o plusieurs couleurs rpondent la valeur de C, on prendra la premire ligne qui rpond (par
exemple, pour ivory, il y a 4 lignes qui comprennent le motif ivory, il faut juste prendre la premire.

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

208 / 239

Les scripts Bash

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus
7 Complments sur larborescence
8 Flux de donnes
9 Les scripts Bash

Introduction
Variables et Paramtres
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

209 / 239

Les scripts Bash

Introduction

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus
7 Complments sur larborescence
8 Flux de donnes
9 Les scripts Bash

Introduction
Variables et Paramtres
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

211 / 239

Les scripts Bash

Introduction

Rappel

Les interprteurs

Linterprteur parcourt le texte tap par lutilisateur, identifie les commandes et les paramtres, et si
la syntaxe est correcte, lance un processus.

Plusieurs interprteurs existent : csh, tcsh, bash.

Bash est linterprteur du projet GNU. Il est le plus utilis sous linux. Cest Bash linterprteur quon
utilise dans ce cours.

Linterprteur peut lire les commandes partir dun fichier, le script shell.

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

212 / 239

Les scripts Bash

Introduction

Introduction

Structure dun script Bash

Un script Bash commence toujours par la ligne # !/bin/bash , suivi par une srie dinstructions et
commentaires (optionels)

Un commentaire est une partie rdige du script qui ne sera pas considre comme une instruction
lors de lexcution du script. Pour commenter une portion du script on utilise le caractre #.
Lensemble du texte situ sur la mme ligne et aprs le carcactre # sera considr comme un
commentaire et ne sera pas valu.

Exemple
#!/bin/bash
echo Liste des Fichiers:
#affiche la liste
ls

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

213 / 239

Les scripts Bash

Introduction

Introduction

Execution dun script

Un script est un simple fichier texte (habituellement, ils ont lextension .sh) . Pour lexecuter, il faut
avant tout le rendre excutable : chmod u+x script.sh

Maintenant, on peut lexcuter en faisant : ./script.sh

On peut aussi le lancer en appelant explicitement linterprteur : bash script.sh

Premier script Bash


Q140 Aprs avoir cr un repertoire nomm /Intro_Systeme/TP_3/scripts/, crivez et
excutez un script exo_0_script.sh qui affiche lcran le nombre de fichiers contenus dans
le repertoire courant, aprs un message de texte "Nombre de fichiers :"

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

214 / 239

Les scripts Bash

Introduction

Exercices

Introduction aux scripts Bash


Q141 Dfinissez et excutez un script nomm exo_1_script.sh qui ralise la suite de commandes
suivante : echo "Debut"; sleep 2; echo "Apres 2 sec."; sleep 5;
echo "Apres 5sec"
Q142 Que se passe-t-il si vous commentez les lignes commencant par la commande sleep ?
Q143 Dfinissez un script exo_2_script.sh qui affiche "Bonjour", dfinit le rpertoire
/Intro_Systeme/TP_3/scripts/ comme rpertoire courant, puis cre dans celui-ci un
rpertoire Test, et finalement copie dans Test le fichier /proc/cpuinfo.
Q144 Dfinissez un script nomm exo_3_script.sh qui affiche le contenu du rpertoire Test, puis
supprime le fichier cpuinfo y contenu (Test/cpuinfo), et finalement cre dans Test un
fichier infoCPU.txt compos par les lignes du fichier /proc/cpuinfo qui contiennent le
mot cpu.

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

215 / 239

Les scripts Bash

Variables et Paramtres

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus
7 Complments sur larborescence
8 Flux de donnes
9 Les scripts Bash

Introduction
Variables et Paramtres
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

216 / 239

Les scripts Bash

Variables et Paramtres

Les Variables
Les variables en Bash

Pour affecter une valeur une variable cest trs simple. Il suffit dcrire
nom_variable=valeur
Pour accder au contenu dune variable, il faut utiliser le prfixe $
On peut accder aussi aux variables denvironnement, qui ont t dfinies ailleurs (par exemple
$PATH)

Exemple
MSG=Bonjour
echo $MSG
echo $PATH

Les Variables
Q145 Dfinissez un script nomm exo_4_script.sh partir du script exo_2_script.sh, et
modifiez-le pour que le nom du rpertoire Test/ soit une variable dans le script.

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

217 / 239

Les scripts Bash

Variables et Paramtres

Les Paramtres
Les paramtres

Il sagit dunes variables spciales qui contiennent les arguments fournis au script par la ligne de
commandes

$0 : nom du script

$1 $2 ... : paramtres en position 1, 2, ...

$# : nombre de paramtres positionnels

$* : ensemble des paramtres

Exemple
Soit arg.sh le script suivant :
#!/bin/bash
echo "Nombre dargument "$#
echo "Les arguments sont "$*
echo "Le second argument est "$2
login@host:$ ./arg.sh A B C
Nombre dargument 3
Les arguments sont A B C
Le second argument est B
G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

218 / 239

Les scripts Bash

Variables et Paramtres

Exercices

Introduction aux scripts Bash


Q146 Dfinissez un script nomm exo_5_script.sh partir du script exo_2_script.sh, et
modifiez-le pour que le nom du rpertoire Test/ soit pass comme un paramtre du script.
Q147 Rdigez un script recevant 3 paramtres (nom, prnom et serveur) permettant laffichage dune
adresse mail formate (nom.prnom@serveur)

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

219 / 239

Structures de contrle en BASH

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus
7 Complments sur larborescence
8 Flux de donnes
9 Les scripts Bash
10 Structures
deDubacq
contrle
G. Santini, J.-C.
(IUTV) en BASH

Introduction linformatique

S1 2015

220 / 239

Structures de contrle en BASH

Les calculs arithmtiques

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus
7 Complments sur larborescence
8 Flux de donnes
9 Les scripts Bash
10 Structures
deDubacq
contrle
G. Santini, J.-C.
(IUTV) en BASH

Introduction linformatique

S1 2015

222 / 239

Structures de contrle en BASH

Les calculs arithmtiques

Les calculs arithmtiques


Bash un langage orient sur le traitement des chanes de caractres
Mme si ce langage nest pas fait pour effectuer des oprations de calcul arithmtique il propose des
fonctionnalits de base permettant deffectuer des calculs simples tels que les additions, soustractions,
multiplications et divisions.

Syntaxe
$(( expression_arithmtique ))

Exemples
login@host:$
login@host:$
8
login@host:$
2
login@host:$
15
login@host:$
1

G. Santini, J.-C. Dubacq (IUTV)

total=$(( 5 + 3 ))
echo $total
echo $(( 5 - 3 ))
echo $(( 5 * 3 ))
echo $(( 5 / 3 ))

Introduction linformatique

S1 2015

223 / 239

Structures de contrle en BASH

Les calculs arithmtiques

Exercices

Les calculs arithmtiques


Q148 Proposez une suite de 2 commandes affectant une variable res le rsultat des oprations
arithmtiques suivantes et affichant le rsultat contenu dans cette variable : 5 + 7 et 3 2
Q149 Proposez une suite de 3 commandes permettant :

daffecter une variable res la valeur 3,


dajouter 13 la variable res,
dafficher le rsultat de laddition stocke dans la variable res.

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

224 / 239

Structures de contrle en BASH

La boucle for

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus
7 Complments sur larborescence
8 Flux de donnes
9 Les scripts Bash
10 Structures
deDubacq
contrle
G. Santini, J.-C.
(IUTV) en BASH

Introduction linformatique

S1 2015

225 / 239

Structures de contrle en BASH

La boucle for

for
Syntaxe #1

for Boucle itrative

for (( init ; test ; incr )) ; do


expr_1
expr_2
...
done

permet de rpter lvaluation dune


ou plusieurs instructions,

chaque tour de boucle une variable


appele itrateur change de valeur,

la sortie de boucle seffectue lorsque


litrateur atteint une certaine valeurs.

Ici, la condition darrt est sur la valeur numrique


de litrateur.

Exemple #1
test_for_loop_1.bash
#!/bin/bash
echo "test #1"
for (( i = 0 ; i < 3 ; i++
));do
echo $i = $i
done

G. Santini, J.-C. Dubacq (IUTV)

login@host:$
./test_for_loop_1.bash
test #1
$i = 0
$i = 1
$i = 2

Introduction linformatique

S1 2015

226 / 239

Structures de contrle en BASH

La boucle for

for
for Boucle itrative

permet de rpter lvaluation dune


instruction,

chaque tour de boucle une variable


appele itrateur change de valeur,

la sortie de boucle seffectue lorsque


litrateur a parcouru toute la liste.

Syntaxe #2
for var in val_1 val_2 . . . ; do
expr_1
expr_2
...
done
Ici, la boucle sarrte lorsque toute la liste des
valeurs a t parcourue.

Exemple #2
test_for_loop_2.bash
#!/bin/bash
echo "test #2"
for i in hello la terre;do
echo $i = $i
done

G. Santini, J.-C. Dubacq (IUTV)

login@host:$
./test_for_loop_2.bash
test #2
$i = hello
$i = la
$i = terre

Introduction linformatique

S1 2015

227 / 239

Structures de contrle en BASH

La boucle for

Exercices

La boucle for
Q150 Dans le cours nous avons vu plusieurs syntaxes possibles pour la boucle for. Soit le script suivant :
#!/bin/bash
# affiche les 10 premiers entiers pairs
for int in 2 4 6 8 10 12 14 16 18 20
do
echo $int
done
Q151 Modifiez ce script pour remplacer la liste de valeurs par une expression arithmtique

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

228 / 239

Structures de contrle en BASH

Les branchements conditionnels if

Plan
1 Gnralits
2 Le systme dexploitation
3 Le systme Linux
4 Lordinateur de bas en haut
5 Organiser ses donnes
6 Fichiers excutables et Processus
7 Complments sur larborescence
8 Flux de donnes
9 Les scripts Bash
10 Structures
deDubacq
contrle
G. Santini, J.-C.
(IUTV) en BASH

Introduction linformatique

S1 2015

229 / 239

Structures de contrle en BASH

Les branchements conditionnels if

if

Branchements conditionnels

Le if permet de mettre en place des alternatives.


Un test (dont le rsultat est Vrai ou Faux) permet de conditionner les expressions qui seront
values.

Syntaxe #1

Comportement

if test
then
expr_1
expr_2
...
fi

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

Ici, les expressions ne sont values


que si le test renvoie la valeur Vrai.

Aucune des expressions ne sont


values si le test renvoie la valeur
Faux.

S1 2015

230 / 239

Structures de contrle en BASH

Les branchements conditionnels if

if
Syntaxe #2

Comportement

if test
then
expr_1

Si le test renvoie la valeur Vrai


lexpression expr_1 est value, et

sinon le test renvoie la valeur Faux


cest lexpression expr_2 qui est
value.

else
expr_2
fi

Syntaxe #3
if test_1
then
expr_1
elif test_2
then
expr_2
elif test_3
then
expr_3
else
G. Santini, J.-C. Dubacq (IUTV)

Comportement

Introduction linformatique

Si test_1 renvoie la valeur Vrai


lexpression expr_1 est value,
si test_2 renvoie la valeur Vrai
lexpression expr_2 est value,
si test_3 renvoie la valeur Vrai
lexpression expr_3 est value, et
si aucun des tests ne renvoie la
valeur Vrai alors cest lexpression
expr_4 qui est value. S1 2015

231 / 239

Structures de contrle en BASH

Les branchements conditionnels if

Les tests
Les tests peuvent prendre plusieurs formes
Il peuvent porter sur :

larborescence (prsence, absence, permission sur les rpertoires et fichiers),

les chanes de caractres,

les valeurs numriques.

Tests de larborescence
Syntaxe

Valeur

[ -d fichier]

Vrai si fichier est un nom de rpertoire valide (si il existe).

[ -f fichier ]

Vrai si fichier est un nom de fichier valide (si il existe).

[ -r fichier ]

Vrai si il y a le droit de lecture sur le fichier.

[ -w fichier]

Vrai si il y a le droit dcriture sur le fichier.

[ -x fichier ]

Vrai si il y a le droit dexcution sur le fichier.

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

232 / 239

Structures de contrle en BASH

Les branchements conditionnels if

Exercices

Tests de larborescence
Q152 Crez un script ico_existe.sh, qui teste si un fichier ico est prsent dans le rpertoire
courant. Si le fichier existe, le script affiche le message davertissement suivant ($PWD sera remplac
lors de lexcution par la valeur de la variable denvironnement) :
Attention: le fichier $PWD/ico existe
Q153 Modifiez le script pour quil supprime le fichier ico si celui-ci existe et affiche un message
davertissement indiquant que le fichier est supprim. Les affichages seront alors les suivants :
Attention: le fichier $PWD/ico existe
Le Fichier $PWD/ico est supprime
Q154 Modifiez ce script pour quil teste en plus si le rpertoire courant contient un rpertoire nomm ico/.
Si il ne contient pas de rpertoire ico/, le script cre ce rpertoire.

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

233 / 239

Structures de contrle en BASH

Les branchements conditionnels if

Les tests

Tests sur les chanes de caractres


Syntaxe

Valeur

[
[
[
[

Vrai si les 2 chanes sont identiques.


Vrai si les 2 chanes sont diffrentes.
Vrai si la chane est non vide.
Vrai si la chane est vide.

chaine_1 = chaine_2 ]
chaine_1 != chaine_2 ]
-n chaine ]
-z chaine ]

Tests sur les chanes


Q155 Dfinissez un script testPWD.sh qui prend en paramtre une chane de caractres et la compare
avec la variable denvironnement $PWD, il doit afficher OK si le paramtre correspond la valeur de
la variable, Non en cas contraire.

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

234 / 239

Structures de contrle en BASH

Les branchements conditionnels if

Les tests

Tests sur les valeurs numriques


Syntaxe

Valeur

[
[
[
[
[
[

Vrai si nb_1 = nb_2 (eq pour equal).


Vrai si nb_1 6= nb_2 (ne pour not equal).
Vrai si nb_1 > nb_2 (gt pour greater than).
Vrai si nb_1 nb_2 (ge pour greater or equal).
Vrai si nb_1 < nb_2 (ge pour lower than).
Vrai si nb_1 nb_2 (ge pour lower or equal).

nb_1 -eq nb_2 ]


nb_1 -ne nb_2 ]
nb_1 -gt nb_2 ]
nb_1 -ge nb_2 ]
nb_1 -lt nb_2 ]
nb_1 -le nb_2 ]

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

235 / 239

Structures de contrle en BASH

Les branchements conditionnels if

Les tests
Oprateurs boolens
Syntaxe

Valeur

! [ test ]
[ test_1 ] | | [ test_2 ]
[ test_1 ] && [ test_2 ]

NOT : Vrai si le test renvoie Faux (ngation).


OU logique.
ET logique.

Tables de vrit
ET (&&)
Vrai
Faux

Vrai
Vrai
Faux

OU (| |)
Vrai
Faux

Faux
Faux
Faux
NOT ( !)

G. Santini, J.-C. Dubacq (IUTV)

Vrai
Faux

Vrai
Vrai
Vrai

Faux
Vrai
Faux

Faux
Vra

Introduction linformatique

S1 2015

236 / 239

Structures de contrle en BASH

Les branchements conditionnels if

Exercices

Tests sur les valeurs numriques


Q156 Dfinissez un script testTemp.sh qui prend en paramtre une valeur numrique et une lettre (C
ou F). Si la lettre choisie est C, le script doit afficher chaud si le paramtre numrique est plus
grand que 25, froid si est moins que 10, normal dans les autres cas. Si la lettre choisie est F, il
affiche chaud si le paramtre numrique est plus grand que 78 et froid si le paramtre numrique
est infrieur 50, normal dans les autres cas. Si la lettre nest pas C ou F, il affiche un message
derreur.

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

237 / 239

Structures de contrle en BASH

Les branchements conditionnels if

Substitution de commande

Un moyen de composer les instructions


La syntaxe $(commande avec des arguments) est remplace lexcution par le rsultat
de lexcution dans un sous-shell de la commande commande avec des arguments.
Cette fonctionnalit trs puissante permet dutiliser des commandes pour les affecter dans des variables et
ensuite sen servir dans le script.
Cest une substitution

Exemple
#!/bin/bash
TITLE="En ce jour du $(date -I)"
MOTS=$(grep cool /usr/share/dict/words)
for i in $MOTS; do
echo "$TITLE, $i est un mot cool"
done

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

238 / 239

Structures de contrle en BASH

Les branchements conditionnels if

Exercices

Archiveur
Faites un script qui a les actions suivantes si on lui donne en argument un rpertoire (par exemple
~/M1101/TD6) :
Q157 Sarrte si la cible nest pas un rpertoire
Q158 Dfinit une variable BACKUPDIR qui vaut le chemin du rpertoire du dessus suivi du mot
sauvegarde (ici ~/M1101/sauvegarde) en utilisant la commande dirname
Q159 Cre le rpertoire sil nexiste pas
Q160 Dfinir une variable faite avec la date du jour et le nom du rpertoire (par exemple 2014-10-31-TD6)
en utilisante les commandes basename et date.
Q161 Cre une archive compresse du rpertoire (ici en excutant
tar czf ~/M1101/sauvegarde/2014-10-31-TD6.tgz ~/M1101/TD6)
On pourra affiner en sarrtant si une archive existe dj sous ce nom avant de la crer (ou proposer de
leffacer en utilisant la commande read x pour lire une variable depuis le terminal).

G. Santini, J.-C. Dubacq (IUTV)

Introduction linformatique

S1 2015

239 / 239

Vous aimerez peut-être aussi