Utilisation des systèmes d’exploitation des ordinateurs...

102
1 IUT La Rochelle 2010-2011 Utilisation des systèmes d’exploitation des ordinateurs Module : I1 Linux SGI-IRIX Solaris

Transcript of Utilisation des systèmes d’exploitation des ordinateurs...

1

IUT La Rochelle2010-2011

Utilisation des systèmes d’exploitation des ordinateurs

Module : I1

Linux

SGI-IRIX Solaris

2

IUT La Rochelle2010-2011

Diplôme national : PPN, Universitaire, Technologique

♠ Connaissances et compétences générales

♠ Enseignements technologiques

Le DUT

Enseignements (heures) S1 S2 S3 S4 TotalCœur de compétences

UE1 : Formation scientifique et humaine 210 180 180 570UE2 : Informatique et électronique 180 150 120 450UE3 : Télécommunications et réseaux 120 180 180 480UE4 : Projets professionnels

Modules complémentaires

Répartition par UE en fonction du parcours 30 270 300

Total heures encadrées 510 510 510 270 1800

3

IUT La Rochelle2010-2011

Unité d’enseignement : UE2, Informatique et électronique

Matière : Informatique

Volume horaire : 30 heures

Semestres : S1/S2

Objectifs :Comprendre le rôle des SE et connaître les systèmes de fichiers des ordinateurs

Compétences minimales :

♠Ouvrir une session à partir de différents systèmes d’exploitation.

♠Organiser et manipuler des fichiers (modes texte et graphique) en tenant compte

des droits d’accès.

♠ Démarrer et contrôler l’exécution d’une application.

♠ Initialiser des variables d’environnement et automatiser des commandes dans un

script.

Programme Pédagogique National

4

IUT La Rochelle2010-2011

Pré-requis : Bac ou équivalent

Contenu :

♠ Commandes systèmes

♠ Répertoires et fichiers

♠ Notion d’utilisateur et droits

♠ Variables d’environnements

♠ Scripts élémentaires

♠ Utilisation des outils informatiques de base

Prolongements possibles :Module IC-1

Module TR-C9

Mots-clés : Système d’exploitation, Commandes système, Scripts

Programme Pédagogique National

5

IUT La Rochelle2010-2011

Nombre d'heures : 29

Période : [ semaine 35, semaine 42 ]

Intervenants : Laurent Demay, Jamal Khamlichi, Jean-Luc Sabourin, Christophe Sempé

La note :Semaine temps coefficient

1 contrôle de synthèse : 42 2h 50%

1 contrôle oral sur machine : 42 15mn à 20mn 40%

Assiduité [35, 42] 10%

Fonctionnement

6

IUT La Rochelle2010-2011

Clavier SourisImprimanteAppareil photo

Carte réseauCarte Wifi

PDA Modem

Haut parleurs

Carte son

Alimentation

Disque durLecteur DVD ÉcranCarte graphique

Mémoire

Processeur

Les composants d'un ordinateur

7

IUT La Rochelle2010-2011

Un système d'exploitation est un logiciel assurant le bon fonctionnement d'un ordinateur.

Il offre à l'utilisateur une vue plus abstraite et plus simple que la vue matériel.

Définition d'un SE

© S. Krakoviak

8

IUT La Rochelle2010-2011

Principaux systèmes d'exploitations

Année Nom Famille Éditeur Matériel supporté

1977 VMS DEC VAX, DEC Alpha, HP

81-1990 DOS IBM Compatible PC

1981 Solaris Unix Sun machines de Sun

1984 Mac OS Apple Apple Macintosh

1986 AIX Unix IBM PS/2, RS/6000, PowerPC

1986 Irix Unix SGI Machines de SGI

1987 Minix A.Tanenbaum Compatible PC, m68k, SPARC

1989 Symbian Symbian ltd Nokia, Siemens, Samsung, ...

1991 Linux Unix Communautaire Nombreux

1991 Windows NT Windows Microsoft Compatible PC

1994 FreeBSD Unix Communautaire Nombreux

1995 Windows 95 Windows Microsoft Compatible PC

1996 Windows CE Windows Microsoft x86, MIPS, ARM

9

IUT La Rochelle2010-2011

Principaux systèmes d'exploitations

Année Nom Famille Éditeur Matériel supporté

1999 Mac OS X Unix Apple PowerPC de Apple

2000 Windows 2000 Windows Microsoft Compatible PC

2001 Mac OS X(Puma) Unix Apple PowerPC de Apple

2001 XP Windows Microsoft Compatible PC

2002 Mac OS X(Jaguar) Unix Apple PowerPC de Apple

2003 Mac OS X(Panther) Unix Apple PowerPC de Apple

2005 Mac OS X(Tiger) Unix Apple PowerPC de Apple

2007 Vista Windows Microsoft Compatible PC

2007 Mac OS X(Leopard) Unix Apple PowerPC de Apple

2009 Mac OS X(Snow) Unix Apple PowerPC de Apple

2009 Seven Windows Microsoft Compatible PC

10

IUT La Rochelle2010-2011

réseau

ordinateur

Systèmed'exploitation

Systèmed'exploitation

Systèmed'exploitation

ordinateur ordinateur

Système de communication

interlogiciel

applications

Logi

ciel

sM

atér

iels

Transfert de bits

Instructions machine

Processus, mémoire, fichiers

Transport de messages

J2EE, Net, ...

WebTélé achatTéléphone

mailnewsftp...

services

Place d'un SE dans un système informatique

11

IUT La Rochelle2010-2011

Caractéristiques d'un système d'exploitation

♠ Plusieurs utilisateurs peuvent, simultanément ou non , utiliser

l'ordinateur.

♠ Plusieurs programmes (appelés tâches ou processus) peuvent

s'exécuter simultanément en temps partagé.

♠ Les processus sont indépendants les uns des autres (sécurité

du système)

♠ Les processus peuvent communiquer les uns avec les autres

(en local ou en réseau).

♠ Les données sont organisées grâce au système de gestion de

fichiers (SGF).

12

IUT La Rochelle2010-2011

Linux

Le pourquoi♠ Prix

♠ Accès facile aux programmes sources

♠ Système ouvert

♠ Plusieurs logiciels libres

♠ Avoir la conscience tranquille parce qu'on est dans la légalité

Succès♠ Tout le système est écrit dans un langage haut niveau C/C++

♠ Interface simple d'utilisation

♠ Multi-utilisateurs et multi-tâches

♠ L'architecture de la machine est invisible pour l'utilisateur

13

IUT La Rochelle2010-2011

Linux

Points faibles♠ Fragilité du SGF.

♠ La gestion de la création des processus est parfois lourde.

♠ Les libraires statiques sont consommatrices de la mémoire.

♠ Au départ inadapté pour le temps réel mais des solutions sont

proposées : RTLinux, RTAI, μCLinux…Points forts♠ Système ouvert.

♠ Enrichissement constant.

♠ Des souplesses dans les Entrées/Sorties.

♠ Communication facile entre systèmes et entre utilisateurs.

♠ Un langage haut niveau pour communiquer avec le noyau.

♠ Parallélisme.

14

IUT La Rochelle2010-2011

Linux

Architecture du système♠ L'architecture globale du système est en couche

♠ Chaque couche est construite pour être utilisée sans connaître

les couches inférieures

Noyau

Matériel

Applications

ls

SHELL

make

cp

mkdirg++

web mail

openOffice

Utilisateur Utilisateur

UtilisateurUtilisateurVCL

15

IUT La Rochelle2010-2011

Architecture du noyauC'est une architecture logicielle, son but est de simplifier

La compréhension du système.

Linux

Matériel

Contrôle Matériel

ContrôleursCaractères | Bloc

Cache

Système deGestion des Fichiers

Interface appels-système

Gestion mémoire

Ordonnanceur

Communicationinterprocessus

Système degestion des processus

bibliothèques

Niveau matérielNiveau noyau

Niveau noyauNiveau utilisateur

Applications/utilisateurs

16

IUT La Rochelle2010-2011

Notion d'utilisateur

♠ La notion d'utilisateur permet au système de limiter l'accès à certains

ressources dans un but de sécurité.

♠ L'administrateur (root sous UNIX) est le super-utilisateur de la machine.

Il peut tout configurer : ajout, modification, suppression, …

♠ Certains utilisateurs peuvent avoir des droits privilégiés.

unUtilisateur

univ-lr

17

IUT La Rochelle2010-2011

♠ L'authentification (ouverture d'une session) permet de vérifier l'identité

de l'utilisateur.

♠ Il faut avoir un nom d'utilisateur (login) et un mot de passe (passwd)

valide pour être authentifié.

♠ L'authentification peut-être :

✔ Locale (propre à un ordinateur donnée).

✔ Globale (dans un système d'ordinateurs interconnectés).

L'authentification

18

IUT La Rochelle2010-2011

OS : Operating System

♠ Un OS est l'ensemble des programmes qui

fournissent un environnement d'exécution uniforme

(indépendant du matériel) pour d'autres programme.

♠ La majorité des OS proposent une interface

graphique qui permet d'utiliser les programmes avec

une souris ou un écran tactile.Matériel

OS

Applications

Utilisateurs

Invite de commandes

♠ C'est la version « mode texte » du SE qui permet d 'exécuter des

processus.

19

IUT La Rochelle2010-2011

Interpréteur de commande

♠ Le programme qui est exécuté pour réaliser l'invite de commande

(prompt) est un interpréteur de commandes (shell).

♠ Le shell attend que l'utilisateur tape une commande au clavier,

analyse la chaîne et affiche son résultat à l'écran.

Windows :commande.com (MSDOS, W95, W98)cmd.exe (NT, W2000, XP, 7)

UNIX, Linux : bash, sh, ksh, zsh, ...

C:\Users\jamal> dirjamal@Se > ls

20

IUT La Rochelle2010-2011

Format d'une commande

♠ Une commande (dans la plupart des cas) est formée de deux parties

séparées par un espace :

✔ Le nom de la commande.

✔ Le(s) argument(s) séparé(s) par des espaces.

Exemples.

C:\Users\Jamal>dirLe volume dans le lecteur C s'appelle OS Le numéro de série du volume est 969A-83B7

Répertoire de C:\Users\Jamal

27/04/2010 16:05 <REP> .27/04/2010 16:05 <REP> ..27/04/2010 15:59 <REP> .rurple17/05/2010 07:42 <REP> Desktop29/04/2010 07:16 <REP> Documents29/04/2010 07:16 <REP> Pictures

1 fichier(s) 156 octets 15 Rép(s) 113 465 561 088 octets libres

Windows

Jamal@Se >ls -l -a Reptotal 8drwxr-xr-x 2 jamal users 4096 mai 28 11:55 .drwxr-xr-x 2 jamal users 4096 mai 28 12:30 ..-rwxr-xr-x 1 jamal users 250 mai 30 10:55 ff-rwxr-xr-x 1 jamal users 30 juin 28 23:55 test

Jamal@Se >

Linux

21

IUT La Rochelle2010-2011

Demande d'aide sur une commande

Windows

♠ Sous Linux/UNIX, deux choix pour avoir l'aide sur une commande :✔ man cmd ✔cmd --help♠ Sous Windows :✔ c'est la commande helpC:\Users\Jamal>help dirAffiche une liste de fichiers et de sous-répertoires dans un répertoire.DIR [lecteur:][chemin][nom_de_fichier] [/A[[:]attributs]] [/B] [/C] [/D] [/L] [/N] [/O[[:]tri]] [/P] [/Q] [/R] [/S] [/T[[:]heure]] [/W] [/X] [/4] [lecteur:][chemin][nom_de_fichier] Spécifie le lecteur, le répertoire et/ou fichiers à lister. /A Affiche les fichiers dotés des attributs spécifiés. attributs D Répertoires R Lecture seule H Caché A Archive S Système I Fichiers indexés sans contenu L Points d'analyse - Préfixe de négation /B Utilise le format abrégé (noms des fichiers)....

22

IUT La Rochelle2010-2011

Demande d'aide sur une commande

Jamal@Se >man 1 ls User Commands LS(1)NAME ls - list directory contentsSYNOPSIS ls [OPTION]... [FILE]...DESCRIPTION List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort. Mandatory arguments to long options are mandatory for short options too. -a, --all do not ignore entries starting with . -A, --almost-all do not list implied . And ..

…Jamal@Se >cp --helpUsage: cp [OPTION]... [-T] SOURCE CIBLE ou: cp [OPTION]... SOURCE... REPERTOIRE ou: cp [OPTION]... --target-directory=REPERTOIRE SOURCE...Copier la SOURCE vers la DESTINATION, ou de multiples SOURCES vers un REPERTOIRE.Les arguments obligatoires pour les options de formes longues le sont aussi pour les options de formes courtes. -a, --archive same as -dR --preserve=all ...

Linux

Numéro du manuel

Commande

23

IUT La Rochelle2010-2011

Demande d'aide sur une commande

♠ Format :ls [OPTION] … [FILE] …cp [OPTION] … SOURCE CIBLE

Les mots entre crochets ([]) indiquent que les mots sont optionnels.

Les … indiquent que l'on peut ajouter d'autres arguments.

♠ 8 manuels (UNIX/Linux)

manuel 1 : Les commandes utilisateurmanuel 2 : Les appels systèmesmanuel 3 : Les fonctions des bibliothèquesmanuel 4 : Fichiers spéciauxmanuel 5 : Format des fichiers et protocolesmanuel 6 : Commandes des jeuxmanuel 7 : Les pilotesmanuel 8 : Commandes d'administration

24

IUT La Rochelle2010-2011

Quelques propriétés de BASH (Bourne-Again SHelll)

♠ Pour séparer des commandes sur une même ligne, on utilise le

caractère ; ls -l; pwd

♠ Le caractère \ permet de passer à la ligne sans avoir terminé la

commande.ls -l /home/jdupont\/Se/TP01

♠ Quelques mots sont réservés : ! case do done elif else esac fi for function if in select then until while { } time [[ ]]

25

IUT La Rochelle2010-2011

Système de Gestion de Fichiers

♠ C'est une structure de données permettant de stocker les informations

et de les organiser dans des fichiers sur ce que l'on appelle des

mémoires secondaires (disque dur, disquette, CD-ROM, clé USB,

disques SSD, etc.).

♠ Les fonctions d'un SGF sont la manipulation des fichiers, l'allocation

de la place, la localisation des fichiers, la sécurité et le contrôle des

fichiers.♠ Quelques systèmes de fichiers :

✔ FAT32, VFAT, NTFS✔ EXT4, ✔ HFS, ReiserFS✔ VMFS, ISO 9660✔ NCP, NFS, SMB

26

IUT La Rochelle2010-2011

Système de Gestion de Fichiers

♠ Dans un SGF, on a toujours une structure arborescente avec des

répertoires (directory) et des fichiers (file).

♠ Un fichier contient des données numériques avec un format

dépendant du programme utilisé pour le créer.

♠ Un répertoire peut contenir des fichiers et/ou des répertoires.

♠ La racine est le répertoire le plus haut dans l'arborescente.

✔ / (slash) sous Linux/UNIX

✔ La lettre du lecteur sous Windows, par exemple c:

27

IUT La Rochelle2010-2011

Windows

/

ls

bin etc home usrlib

cp

ps

group

invitejojo

Se

f1.txt

Prog

p.cpp

Doc

p.txt

lib

lib

passwd

f1.txt

Linux

Système de Gestion de Fichiers

28

IUT La Rochelle2010-2011

SGF : Les noms de fichier

♠ Les noms de fichier s'écrivent avec les lettres de l'alphabet, mais

certains caractères sont interdits suivant le shell utilisé.

✔ Sous Windows : / \ : * ? "  < > |✔ Sous Linux/UNIX : /

Les caractères spéciaux / * ? < > |' ` " doivent être précédés

par le caractère \♠ Sous Windows, le SGF ne fait pas la différence entre majuscule et

minuscule dans un nom de fichier (cours.doc et COURS.doc sont deux

fichiers identiques).

♠ Sous Linux/UNIX le SGF fait la différence entre majuscule et minuscule

(Tp1.doc et tp1.doc sont deux fichiers différents).

29

IUT La Rochelle2010-2011

SGF : Les noms de fichier

♠ L'extension d'un fichier (fin du nom après le .) permet de l'associer à

une application.

✔ .doc (MS Word)

✔ .pdf (Adobe Acrobat)

✔ . html (Navigateur Web)

♠ Lorsqu'un nom de fichier contient des espaces, on doit les protéger

pour que le Shell puisse les interpréter et ne pas les confondre pas

avec un argument.

✔ Sous Windows, il faut utiliser "✔ Sous Linux/UNIX, on peut utiliser " ou '

Exemples :

✔dir "C:\Mes Documents\Se\TD 1.doc"

✔ ls -l "/home/invite/Se/TD 1.doc"

30

IUT La Rochelle2010-2011

SGF : Nom absolu et nom relative

♠ Le nom absolu d'un fichier ou d'un répertoire est obtenu avec le nom de

tous les répertoires à «traverser» depuis la racine jusqu'au fichier ou

répertoire désiré.

♠ Le caractère de séparation des noms de répertoire à utiliser dans le

nom absolu est :

✔ / (slash) sous Linux/UNIX

✔ \ (anti-slash) sous Windows

✔ désigne aussi la racine de l'arborescence sous Linux/UNIX ou du

lecteur courant sous Windows.

♠ Exemples

✔ Linux : /home/invite/Se/f1.txt✔ Windows : C:\TEMP\Plugin.ice

31

IUT La Rochelle2010-2011

SGF : Nom absolu et nom relative

♠ Un nom de fichier qui ne commence pas par / est relatif. Il est interprété

en partant du répertoire courant.

♠ Le répertoire courant est initialement votre répertoire personnel (home)

ou le répertoire dans lequel vous vous trouvez.

♠ Exemples :

Si on se trouve dans /home/invite

✔ Prog/p.cppest un nom relatif

✔ /home/invite/Prog/p.cpp est un nom absolu

♠ Le répertoire courant est noté .

♠ Le répertoire parent est noté ..

♠ Le répertoire personnel (home) est noté ~

32

IUT La Rochelle2010-2011

SGF : Nom absolu et nom relative

♠ Pour faciliter la gestion et pour ne pas être embêté par des fichiers ou

des répertoires qu'il n'est pas important de les voir constamment.

Linux/UNIX vous permet d'appliquer le concept d'invisibilité sur les noms

des fichiers ou des répertoires.

♠ Pour qu'un fichier ou répertoire sot invisible, il suffit que son nom

commence par un point (.), par exemple .bashrc .profile .KDE

♠ Il faut ajouter une option à la commande ls pour les afficher à l'écran.

♠ Ce principe s'applique sur tous les types de fichiers. Un répertoire ou un

lien (symbolique ou non) peut être aussi invisible.

33

IUT La Rochelle2010-2011

Quelques commandes

♠ Afficher le nom du répertoire de travail en cours.✔ pwd [option]

♠ Changer le répertoire de travail.✔ cd [répertoire]

♠ Afficher des informations sur l'utilisateur✔ id [option] … [utilisateur]

Jamal@Se >iduid=1000(Jamal) gid=100(users) groupes=33(video)Jamal@Se >mkdir TestJamal@Se >

♠ Créer le(s) répertoire(s) s'il(s) n'existe(nt) pas.✔ mkdir [option] … répertoire …✔Sous Windows✔mkdir [lecteur:]chemin✔md [lecteur:]chemin

Jamal@Se >cd RepJamal@Se/Rep >cd ..Jamal@Se >cd .Jamal@Se >cd ~Jamal@~ >

Jamal@Se >pwd/home/Jamal/SeJamal@Se >

34

IUT La Rochelle2010-2011

Quelques commandes

♠ Afficher des informations sur une entrée dans SGF ls [options] ... [fichier] …✔ Options :✔ -l (format détaillé)✔ -a (afficher les entrées commençant par .) (all)✔ -i (Afficher le numéro d'index (inode) de chaque entrée) ✔ ...

Jamal@Se> lsfichier RepJamal@Se> ls -ltotal 4-rw-r--r-- 1 jkhamlic users 0 mai 28 11:55 fichierdrwxr-xr-x 2 jkhamlic users 4096 mai 28 11:55 RepJamal@Se> ls -l -atotal 12drwxr-xr-x 3 jkhamlic users 4096 mai 28 11:55 .drwxr-xr-x 38 jkhamlic users 4096 mai 31 08:28 ..-rw-r--r-- 1 jkhamlic users 0 mai 28 11:55 fichierdrwxr-xr-x 2 jkhamlic users 4096 mai 28 11:55 RepJamal@Se> ls -l -aitotal 12128116 drwxr-xr-x 3 jkhamlic users 4096 mai 28 11:55 . 8001 drwxr-xr-x 38 jkhamlic users 4096 mai 31 08:28 ..128117 -rw-r--r-- 1 jkhamlic users 0 mai 28 11:55 fichier128118 drwxr-xr-x 2 jkhamlic users 4096 mai 28 11:55 RepJamal@Se>

35

IUT La Rochelle2010-2011

Quelques commandes

♠ Création d'un fichier

Elle dépend de l'application, en général la commande est de la forme :

app fichier

Exemples :

✔ touch [option] ... [fichier] …

Modifie la date d'un fichier et s'il n'existe pas il sera créé.

✔ vi [option] [fichier]

✔ gedit [option] [fichier]

✔ g++ [option] [fichier]

Jamal@Se >touch f3Jamal@Se >lsFichier f3 RepJamal@Se >gedit f5

36

IUT La Rochelle2010-2011

Quelques commandes

♠ Effacement d'un répertoire

✔ Sous Linux/UNIX

rmdir [option] ... répertoire …

♠ Sous WindowsRMDIR [/S][/Q][lecteur:]cheminRD [/S][/Q][lecteur:]chemin

✔ En général il faut que le répertoire soit vide.

♠ Effacement d'un fichier

✔ Sous Linux/UNIX

rm [option] ... fichier …

Sous WindowsDEL [/P] [/F] [/S] [/Q] [/A[[:]attributs]] nomsERASE [/P] [/F] [/S] [/Q] [/A[[:]attributs]] noms

Jamal@Se >rmdir RepJamal@Se >lsFichier f3

Jamal@Se >rm f3Jamal@Se >lsFichierJamal@Se >mkdir RepJamal@Se >touch Rep/f5Jamal@Se >rm -r Rep

37

IUT La Rochelle2010-2011

Notion de droits

♠ Une entrée (fichier/répertoire) dans le SGF est une suite finie de bytes

(octets), matérialisée par des blocs disques et un inode qui contient les

propriétés de l'entrée.

Un inode contient les informations suivantes :

✔ localisation sur le disque,

✔ propriétaire et groupe propriétaire,

✔ droits d'accès,

✔ taille,

✔ date de création,

✔ ...

38

IUT La Rochelle2010-2011

Notion de droits

♠ UID et GID

✔ L'OS utilise un numéro pour identifier un utilisateur du système UID

(User-ID).

✔ Un utilisateur appartient à un groupe, ce groupe est identifié par l'OS

par un numéro GID (Group-ID).

✔ L'OS garde une liste de correspondance entre les numéros et les

noms.

♠ Un fichier ou un répertoire appartient toujours à un utilisateur, à un

groupe et les autres.

✔ L'utilisateur (u) est son propriétaire, bien souvent son créateur.

✔ Le groupe (g) un ensemble d'utilisateurs.

✔Les autres (o), tous les autres (others).

39

IUT La Rochelle2010-2011

Notion de droits

♠ 3 types de droits

✔ r : lecture (read) pour un fichier, lister pour un répertoire.

✔ w : écriture (write), modification, effacement, ...

✔ x : exécution (excute), traverser pour un répertoire

981291 d rwx r-x r-x 2 Anne ensinfo 4096 nov 6 10:49 RepSe

n° inode

Type(-, d, s, b, c, l)

droits pour le propriétaire

(r, w, x)

droits pour le groupe (r, w, x)

droits pour les autres (r, w, x)

nb de liens

propriétaire

groupe

taille

date

heure

nom

40

IUT La Rochelle2010-2011

Notion de droits

♠ Commande chmod✔ Elle permet de modifier les droits d'un fichier ou d'un répertoire.● Syntaxe 1: chmod [OPTION] … MODE[,MODE] … FILE …MODE : [ugoa...][[+-=][rwxXstugo...]...][,...]u: s'applique au propriétaire, g : s'applique au groupe, o: s'applique aux autres, a : s'applique à tous.+ : force le droit, - : annule le droit, = : fixe les droits spécifiésr : lecture, w : écriture, x : exécution (accès pour les répertoires), X : exécution pour les répertoires seulement.

● Exemple :chmod -R u+rwx,g=rx,o+rw-x /home/invite

-R pour récursive

41

IUT La Rochelle2010-2011

Notion de droits

• Syntaxe 2:chmod [OPTION] … OCTAL_MODE FILE …OCTAL_MODE : écriture en base 8 des droits par paquet de 3 bits.rw- r-- r-x110 100 101 (1 quand la lettre est présente)

421 421 421 (puissance de 2 par paquets de 3)

420 400 401 6 4 5

● Exemple :

Binaire ----- Droit ----- Octal 000 -----(---)------0 001 -----(--x)------1 010 -----(-w-)------2 011 -----(-wx)------3 100 -----(r--)------4 101 -----(r-x)------5 110 -----(rw-)------6 111 -----(rwx)------7chmod 645 fichier1

42

IUT La Rochelle2010-2011

Notion de droits

♠ Commande : umask✔ Elle permet de fixer les droits par défaut.

✔ Elle masque bit à bit les droits (mode octal) mais pris en complément

à 1.

✔Exemple : umask 022 Donne en binaire 000 010 010 Soit en complément à 1 : 111 101 101 Les droits seront donc : rwx r-x r-x✔ La commande umask n'a d'effet que sur les fichiers ou et les

répertoires qui vont être créés.

43

IUT La Rochelle2010-2011

Notion de droits

♠ Commandes : chown, chgrp✔ chown change le nom d'utilisateur d'un fichier ou d'un répertoire.

Syntaxe : chown [OPTION]...OWNER[:[GROUP]] FILE Exemple : chown jdupont invite

✔chgrp change le nom du groupe d'un fichier ou d'un répertoire.

Syntaxe : chgrp [OPTION]...GROUP FILE Exemple : chgrp -R rt1 /home/invite

✔Pour une question de sécurité, seul l'administrateur (root) peut

utiliser ces commandes.

44

IUT La Rochelle2010-2011

Salles RT

Salle Type RAM Système installé Nombre Libre service

C204 Dell GX 270 1Go ✔ Windows XP 7 Non

C205 HP 4Go ✔ Windows XP 6 Non

C206 Dell GX 270 1Go ✔ Windows 200✔ Linux : Gento

6 Non

C209 HP 4Go ✔ Windows Vista✔ Linux : Fedora 13

18 Oui

C302 Dell GX 240 1Go ✔ Windows 200✔ Linux : Gento

6 Non

C304 Dell GX 760 4Go ✔ Windows 7✔ Linux : Ubuntu

12 Non

C307 Dell GX 755 4Go ✔ Windows 7✔ Linux : Fedora 12

9 Non

C309 Dell GX 755 4Go ✔ Windows XP✔ Linux : Fedora 13

14 Oui

♠ Les autres machines connectée au réseau de l'université

♠ Wifi

45

IUT La Rochelle2010-2011

Copie, déplacer, lier

♠ Commande : cp✔ cp copie un fichier ou un répertoire en tenant compte de la valeur de

umask.

Syntaxe : cp [OPTION]... SOURCE... DEST Exemple :

Jamal@Se >ls -litotal 412455 -rwxr-xr-x 1 jamal users 250 mai 30 10:55 ff15465 -rwxr-xr-x 2 jamal users 30 juin 28 23:55 RepJamal@Se >cp ff ff1Jamal@Se >cp -r Rep Rep1Jamal@Se >ls -litotal 512455 -rwxr-xr-x 1 jamal users 250 mai 30 10:55 ff15845 -rwxr-xr-x 1 jamal users 15 sep 28 13:51 ff115465 -rwxr-xr-x 2 jamal users 30 juin 28 23:55 Rep17465 -rwxr-xr-x 2 jamal users 15 sep 28 13:55 Rep1Jamal@Se >

46

IUT La Rochelle2010-2011

Copie, déplacer, lier

♠ Commande : mv✔ mv renomme et/ou déplace un fichier ou un répertoire.

Syntaxe : mv [OPTION]... SOURCE... DEST Exemple :

Jamal@Se >ls -litotal 512455 -rwxr-xr-x 1 jamal users 250 mai 30 10:55 ff15845 -rwxr-xr-x 1 jamal users 15 sep 28 13:51 ff115465 -rwxr-xr-x 2 jamal users 30 juin 28 23:55 Rep17465 -rwxr-xr-x 2 jamal users 15 sep 28 13:55 Rep1Jamal@Se >mv ff1 ff2Jamal@Se >mv ff RepJamal@Se >ls -litotal 515845 -rwxr-xr-x 1 jamal users 15 sep 28 13:51 ff215465 -rwxr-xr-x 2 jamal users 30 juin 28 23:55 Rep17465 -rwxr-xr-x 2 jamal users 15 sep 28 13:55 Rep1

La commande mv conserve les droits et le propriétaire.

47

IUT La Rochelle2010-2011

Copie, déplacer, lier

♠ Les liens sont utiles si on souhaite qu'un fichier apparaisse dans

plusieurs répertoires, sous un nom différent ou dans plusieurs SGF.

Ceci évite une perte de place (cas d'une copie : cp).

♠ Deux types de lien sont possibles :

♠Les liens physiques associent

deux ou plusieurs fichiers à un

même espace sur le disque, les

deux fichiers sont pourtant

indépendants.

usr home

f1

etud1

f1

/

etud2Volume /usr

Volume /home

Fichier d'inode N° 321

320 -rwxr-xr-x 2 etud1 rt1 6 Sep 45 8h50 f1320 -rwxr-xr-x 2 etud2 rt1 6 Sep 45 8h50 f1

48

IUT La Rochelle2010-2011

Copie, déplacer, lier

✔ Les liens symboliques sont des fichiers de petits taille qui ont une

existence propre sur le disque dur. Ces fichiers contiennent les références

des fichiers sources auxquelles ils correspondent.

usr home

cmd

etud1

/

etud2Volume /usr

Volume /home

bin

lrwxrwxrwx 1 etud1 rt1 6 Sep 3 9:33 cmd->/usr/bin

Lien symbolique

49

IUT La Rochelle2010-2011

♠ Commande : ln✔ Sans option, elle crée un lien physique.

✔ Avec option -s, elle crée un lien symbolique.

Syntaxe : ln [OPTION]... Cible NomDuLien Exemples :

Jamal@Se >ls -litotal 212455 -rwxr-xr-x 1 jamal users 250 mai 30 10:55 essaiJamal@Se >ln essai essai1Jamal@Se >ls -litotal 212455 -rwxr-xr-x 2 jamal users 250 mai 30 10:55 essai12455 -rwxr-xr-x 2 jamal users 250 juin 30 11:30 essai1Jamal@Se >ln -s essai essai2Jamal@Se >ls -litotal 212455 -rwxr-xr-x 2 jamal users 250 mai 30 10:55 essai12455 -rwxr-xr-x 2 jamal users 250 juin 30 11:30 essai112456 lrwxrwxrwx 1 jamal users 5 juin 30 11:37 essai2->essai

Copie, déplacer, lier

50

IUT La Rochelle2010-2011

♠ Le caractère * remplace n'importe quel caractère ou chaîne de

caractères dans un nom de fichier ou répertoire.

♠ Le caractère ? ne représente qu'un seul caractère.

Exemples :✔ Cas 1 : Afficher tous les fichiers dont le nom commence par la chaîne essai et se

termine par 0 ou n caractères.✔ Cas 2 : Afficher tous les fichiers dont le nom commence par 0 ou n caractères

suivis de la chaîne ess et se termine par 0 ou n caractères.✔ Cas 3 : Afficher tous les fichiers dont le nom commence par la chaîne essai et se

termine par 1 seul caractère.

Jamal@Se >lsessai essai1 essai2 essai112 essai132 ess essai358 abessa testJamal@Se >ls essai*essai essai1 essai2 essai112 essai132 essai358 Jamal@Se >ls *ess*essai essai1 essai2 essai112 essai132 ess essai358 abessaJamal@Se >ls essai?essai1 essai2Jamal@Se >

Caractères génériques

51

IUT La Rochelle2010-2011

♠ Chaque processus possède trois flux standards utilisés pour les

échanges avec un utilisateur ou un autre processus :

✔ l'entrée standard stdin (id = 0, c'est le clavier par défaut),

✔ la sortie standard stdout (id = 1, c'est l'écran par défaut),

✔ la sortie d'erreur standard stderr (id = 2, c'est l'écran par défaut).

♠ On peut rediriger des flux afin que le processus interagisse avec un

autre processus au lieu de l'utilisateur.

♠ Rediriger la sortie standard

✔ Avec le caractère >, on redirige la sortie standard dans un fichier.

✔ Exemple : ls -l > fichier

Le résultat de la commande ls -l sera redirigé vers le fichier au

lieu d'être affiché sur l'écran.

Redirection E/S et tube.

52

IUT La Rochelle2010-2011

♠ Rediriger la sortie standard avec ajout

✔ Avec le caractère >>, on redirige la sortie standard dans un fichier

sans écrasement du contenu.

✔ Exemple : pwd >> fichier

Le résultat de la commande pwd sera ajouté au contenu du fichier

au lieu d'être affiché sur l'écran.

♠ Rediriger la sortie d'erreur standard

✔ On utilise les mêmes caractères > et >>.

✔ Exemple : pwd 2 >> fichier

S'il y a erreur, au lieu d'être affichée sur le terminal, elle sera dirigée

vers le fichier.

Redirection E/S et tube.

53

IUT La Rochelle2010-2011

♠ Rediriger l'entrée standard

✔ Avec le caractère < on redirige l'entrée standard (clavier ou fichier)

vers un fichier ou une commande.

✔ Exemple : cat < fichier

L'entrée standard sera le fichier pour la commande cat.

♠ Tube

✔ Avec le caractère | on redirige la sortie d'une commande vers

l'entrée d'une autre commande (pas de création de fichier mais

passage par une zone mémoire du système).

✔ Exemple : ls -l | wc

Le résultat de la commande ls -l sera dirigé vers l'entrée de la

commande wc.

Redirection E/S et tube.

54

IUT La Rochelle2010-2011

♠ Commande wc✔ Elle compte le nombre de lignes, de mots et d'octets dans un fichier.

✔ Syntaxe : wc [OPTION]... [FILE]...✔ Exemple :

♠ Commande sort✔ Elle permet de trier les lignes contenu dans un fichier.

✔ Syntaxe : sort [OPTION]... [FILE]...OPTION peut être :

✔-b Saute les colonnes constituées de blancs.

✔-n Trie par ordre numérique.

✔-f Aucune différentiation n'est faite entre minuscules et majuscules.

✔-b Ignore les espaces placés en début de champ.

Commande de traitement d'un fichier

Jamal@Se >wc fichier3 15 250 fichierJamal@Se/ >

55

IUT La Rochelle2010-2011

♠ Commande tr✔ Traduire, compresser et/ou éliminer des caractères de l'entrée

standard, puis écriture sur la sortie standard.

✔ Syntaxe : tr [OPTION]... SET1 [SET2]✔ Exemple : tr [:lower:] [:upper:] < /etc/passwd

Affiche en majuscule le contenu du fichier /etc/passwd.

♠ Commande grep✔ Elle cherche dans un fichier les lignes contenant un motif donné.

✔ Syntaxe : grep [OPTION]... MOTIF [FICHIER] …✔ Exemple : grep -n "jdupont" /etc/passwd

Cherche dans le fichier /etc/passwd le motif "jdupont" et

affiche les lignes où ce motif apparaisse avec leur numéro.

Commande de traitement d'un fichier

56

IUT La Rochelle2010-2011

♠ L'exécution d'un programme en mémoire est un processus.

♠ Chaque processus a un père, celui qui l’a lancé.

♠ Le premier processus init est créé avec un PID de 1 ancêtre de

tous les processus.

♠ Lors de son exécution, un processus est caractérisé par son état.

Gestion des processus

Prêt

bloqué

ÉluRéveil

En attente duprocesseur

Élection

En exécution

FinBlocage

En attente deressource

Déblocage

57

IUT La Rochelle2010-2011

♠ Commande ps✔ Elle donne des informations sur les processus comme :

UID : id de l'utilisateur qui a lancé le processus PID : numéro du processus PPID : numéro du processus père C : facteur de priorité STIME : heure de lancement du processus TTY : nom du terminal d'attachement TIME : durée de traitement du processus CMD : nom du processus

✔ Syntaxe : ps [OPTION]✔ OPTION :

Voir man TP

Gestions des processus

58

IUT La Rochelle2010-2011

♠ Exemple :[Fedora-13~]$ ps PID TTY TIME CMD 1992 pts/1 00:00:00 bash 2014 pts/1 00:00:00 ps

[Fedora-13~]$ ps -lF S UID PID PPID C PRI … TTY TIME CMD0 S 500 1992 1990 0 80 … pts/1 00:00:00 bash0 R 500 2015 1992 0 80 … pts/1 00:00:00 ps

[Fedora-13~]$ kate file.cpp &[Fedora-13~]$ ps -fUID PID PPID C STIME TTY TIME CMDInvite 1992 1990 0 09:54 pts/1 00:00:00 /bin/bashInvite 2016 1992 1 09:58 pts/1 00:00:00 kate file.cppInvite 2022 1992 0 09:58 pts/1 00:00:00 ps -f[invite@Fedora-13KDE ~]$

Gestions des processus

59

IUT La Rochelle2010-2011

♠ Commande kill✔ Elle envoie un signal à un processus.

✔ Elle est utilisée pour arrêter un processus.

✔ Un utilisateur ne peut arrêter que les processus qui lui appartiennent.

✔ Seul l'administrateur système a le droit d'arrêter un processus ne lui

appartenant pas.

✔ Syntaxe : kill [-SIGNAL] PID...SIGNAL peut être

1 (HUP) : réinitialisation

2 (INT) : interruption (Ctrl-C)

3 (STOP) : stopper (Ctrl-AlrGr \)

9 (KILL) : terminaison forcée

Gestions des processus

60

IUT La Rochelle2010-2011

✔ Exemple :

Gestions des processus

...:~> psPID TTY TIME CMD4581 pts/2 00:00:00 bash4618 pts/2 00:00:00 ps...:~>ps -fUID PID PPID C STIME TTY TIME CMDjkhamlic 4581 4580 0 06:55 pts/2 00:00:00 -bashjkhamlic 4643 4581 0 07:01 pts/2 00:00:00 ps -f...:~>ps -efUID PID PPID C STIME TTY TIME CMDroot 1 0 0 06:18 ? 00:00:01 init [5]...jkhamlic 4234 1 0 06:30 ? 00:00:00 /bin/sh /usr/ooo-2.0/program/sofficejkhamlic 4248 4234 1 06:30 ? 00:00:19 /usr/ooo-2.0/program/soffice.binjkhamlic 3903 1 0 06:20 ? 00:00:00 kdeinit Running......jkhamlic 4580 3903 0 06:55 ? 00:00:00 konsole [kdeinit] -lsjkhamlic 4581 4580 0 06:55 pts/2 00:00:00 -bashjkhamlic 4646 4581 0 07:02 pts/2 00:00:00 ps -ef...:~>kill -9 4234...:~>ps -efroot 1 0 0 06:18 ? 00:00:01 init [5]...jkhamlic 3903 1 0 06:20 ? 00:00:00 kdeinit Running...jkhamlic 4580 3903 0 06:55 ? 00:00:00 konsole [kdeinit] -lsjkhamlic 4581 4580 0 06:55 pts/2 00:00:00 -bashjkhamlic 4646 4581 0 07:02 pts/2 00:00:00 ps -ef

61

IUT La Rochelle2010-2011

♠ Lancement d'un processus en tâche de fond (background)

✔ Ceci permet d'obtenir la main pour faire autre chose.

✔ Exemple :

...:~> gedit essai &

[1] 5340

...:~>

Le shell vous donne immédiatement la main, et affiche le numéro du

PID du processus lancé.

Pour afficher les processus lancés en tache de fond, on peut utiliser

la commande jobs.

...:~> jobs

[1]+ Running gedit essai &

...:~>

Gestions des processus

62

IUT La Rochelle2010-2011

✔ On peut ramener le processus en foreground

...:~> fg %1

gedit essai

Ctrl_C

On peut aussi basculer de foreground à background.

...:~> gedit essai

Ctrl_Z

[1]+ Stopped gedit essai

...:~>bg %1

Gestions des processus

63

IUT La Rochelle2010-2011

♠ bash est un interpréteur de commande mais on peut l'utiliser comme

langage de programmation.

♠ Il est indispensable dans l'administration et l'utilisation de Linux/UNIX.

♠ Il existe d'autres versions de langage de commande(shell) : sh

(ancêtre de bash), csh (C shell), ksh (Korn shell), zsh,...

♠ Le bash manipule deux types de commandes :

✔ Commandes externes dont le code exécutable est situé sur le

disque (ls, cd, cp, cat, chmod, ...).

✔ Commandes internes dont le code fait partie du processus shell

(alias, pwd, umask, times, ...).

Les scripts

64

IUT La Rochelle2010-2011

♠ Les variables

✔ Il existe des variables dont le nom est prédéfini comme : HOME : définit le répertoire de l'utilisateurPS1 : définit l'invite du shellPATH : chemin des commandes à exécuterUSER : définit le nom de l'utilisateurHISTFILE: fichier où seront stockées les dernières commandes? : définit le code de retour de la dernière commande

✔ L'utilisateur peut définir d'autres variablesvar='Cours SE'✔ Pour visualiser le contenu d'une variable :echo $PATH

echo $var

Les scripts

65

IUT La Rochelle2010-2011

✔ Pour propager la valeur d'une variable à tous les sous shell, on

utilisera export.

✔ Exemple :Exemple :

Les scripts

Jamal@Se >a="Bonjour"Jamal@Se >echo $aBonjourJamal@Se >bashJamal@Se >echo $aJamal@Se >exitJamal@Se >export aJamal@Se >bashJamal@Se >echo $aBonjourJamal@Se >exitJamal@Se >echo $PATH/usr/bin:/bin:/usr/local/binJamal@Se >export PATH=$PATH:/opt/invite/bin

✔ Sous windows il faut utiliser set✔ Exemple :Exemple :setset PATH=C:\WINNT\system32; PATH=C:\WINNT\system32;C:\WINNTC:\WINNTsetset PATH=%PATH%;C:\Apps\Java\bin PATH=%PATH%;C:\Apps\Java\bin

66

IUT La Rochelle2010-2011

♠ Les expressions arithmétiques

Il est possible d'effectuer des calculs.

Exemple :

♠ Exécution conditionnelle ifPour séparer un cas sur valeur booléenne, on utilise l'instruction if.if [ condition ]then action1else action2fiSi la condition est vraie on exécute action1 sinon on exécute action2

Les scripts

Jamal@Se >n=5Jamal@Se >echo $((n + 1))6Jamal@Se >p=$((n * 5 / 2))Jamal@Se >echo $p12

67

IUT La Rochelle2010-2011

♠ Boucle for

Elle permet d'exécuter une ou une suite d'instructions avec une variable

parcourant une suite de valeurs.for var in .html .cpp .txt do

echo $vardone

♠ Définition de fonctionPour regrouper un nombre d'actions.

uneFonction() {

echo "Une façon d'écrire une fonction..."}

#Version 2function uneFonction {

echo "Une autre façon d'écrire une fonction..."}

Les scripts

68

IUT La Rochelle2010-2011

♠ Opérateurs de comparaison

Les scripts

Opérateur Description Exemple

Opérateurs sur des fichiers

vrai si fichier existe vrai si fichier est un répertoire vrai si fichier est un fichier ordinaire vrai si fichier est un lien symbolique vrai si fichier est lisible (r) vrai si fichier est modifiable (w) vrai si fichier est exécutable (x) vrai si fich1 plus récent que fich2 vrai si fich1 plus ancien que fich2

Opérateurs sur les chaînes

vrai si la chaîne est vide vrai si la chaîne est non vide vrai si les deux chaînes sont égales vrai si les deux chaînes sont différentes

Opérateurs de comparaison numérique

Égalité ( == )Inégalité ( != )inférieur ( < ) inférieur ou égal ( <= ) supérieur ( > ) supérieur ou égal ( >= )

-e fichier [ -e /etc/shadow ] -d fichier [ -d /bin ] -f fichier [ -f .profile ] -l fichier [ -L /lib/libc.so.6 ] -r fichier [ -r /boot/vmlinuz ] -w fichier [ -w /var/log ] -x fichier [ -x /sbin/halt ] fich1 -nt fich2 [ /tmp/foo -nt /tmp/bar ] fich1 -ot fich2 [ /tmp/foo -ot /tmp/bar ]

-z chaîne [ -z "$VAR" ]-n chaîne [ -n "$VAR" ]chaine1 = chaine2 [ "$VAR" = "Zanzibar" ]chaîne1 != chaîne2 [ "$VAR" != "Ispahan" ]

num1 -eq num2 [ $nombre -eq 27 ] num1 -ne num2 [ $nombre -ne 27 ] num1 -lt num2 [ $nombre -lt 27 ] num1 -le num2 [ $nombre -le 27 ] num1 -gt num2 [ $nombre -gt 27 ] num1 -ge num2 [ $nombre -ge 27 ]

69

IUT La Rochelle2010-2011

♠ Arguments de la ligne de commande

✔ Lorsqu'on entre une commande dans un shell, ce dernier sépare le

nom de la commande des arguments.

✔ Les programmes peuvent utiliser les arguments (options, noms de

fichiers à traiter, etc).

✔ En bash, les arguments de la ligne de commande sont stockés dans

des variables spéciales :$0, $1, ... les arguments$# le nombre d'arguments$* tous les arguments

✔Exemple : ls -i -l Rep$# = 3$0 = ls, $1 = -i, $2 = -l, $3 = Rep$* = -i -l Rep

Les scripts

70

IUT La Rochelle2010-2011

♠ Scripts shell ou fichier de commande

✔ Un script shell est un simple fichier texte exécutable et commençant #!/bin/bash✔ Exemple 1:

Écrire un fichier de commande qui liste le contenu de son paramètre

deux cas : fichier ou répertoire.

Les scripts

#!/bin/bashif [ -f $1 ]

then echo $1 est un fichier cat $1

else if [ -d $1 ] then

echo $1 est un répertoire ls -l $1fi

fi

gedit exemple1

chmod 700 exemple1./exemple1 fichou./exemple1 rep

71

IUT La Rochelle2010-2011

✔ Exemple 2:

Écrire un fichier de commande qui affiche la liste des fichiers

exécutables qui se trouvent dans le répertoire courant.

Les scripts

#!/bin/bashfor var in `ls` do if [ -x $var ]

then echo $var fi

done

gedit exemple2

chmod 700 exemple2 ./exemple2

✔ Remarques:● Pour mettre un commentaire dans un fichier script, il faut précéder

le commentaire par le caractère #● Certains caractères sont protégés. Pour les utiliser dans un script, il

faut les protéger par le caractère \echo "Le fichier n\'existe pas"

72

IUT La Rochelle2010-2011

♠ Commande find✔ Elle permet de rechercher des fichiers dans une hiérarchie de

répertoires selon certains critères.

✔ Syntaxe : find [chemin...] [expression]expression est constituée d'options, de tests et d'actions

✔Exemple : find /usr -type d -name bin -print

Cherche seulement les répertoires dont le nom est bin et les

afficher. find -name 'temp*' -print -exec rm {} \;

Cherche tous fichiers dont le nom commence par temp , affiche puis

les efface.

Autres commandes

73

IUT La Rochelle2010-2011

♠ Commande cut✔ Elle permet de couper les champs sélectionnés de chaque ligne d’un

fichier.

✔ Syntaxe : cut [OPTION]... [FILE]...OPTION peut être

-d : indique le délimiteur

-f : indique le numéro du champ

Voir man pour les autres options

✔Exemple :cut -d: -f3 /etc/passwdAffichera le 3ème champ du fichier /etc/passwd, dont le

séparateur de champs est le caractère :

Autres commandes

74

IUT La Rochelle2010-2011

♠ Commande head✔ Elle permet d'afficher les 10 premières lignes par défaut d'un fichier.

✔ Syntaxe : head [OPTION]... [FILE]...OPTION peut être :

-n : indique le nombre de ligne à afficher

Voir man pour les autres options

✔Exemple :head -3 /etc/passwdAffichera les 3 premières lignes du fichier /etc/passwd.

Autres commandes

75

IUT La Rochelle2010-2011

♠ Commande tail✔ Elle permet d'afficher les 10 dernières lignes par défaut d'un fichier.

✔ Syntaxe : tail [OPTION]... [FILE]...OPTION peut être

-n : indique le nombre de ligne à afficher

Voir man pour les autres options

✔Exemple :tail -1 /etc/passwdAffichera la dernière ligne du fichier /etc/passwd.

Autres commandes

76

IUT La Rochelle2010-2011

Éditeur vi

♠ vi est un éditeur de texte en mode texte plein écran écrit par Bill Joy

en 1976 sur une des premières versions de la distribution Unix BSD.

♠ Il est présent sur la majorité des systèmes Linux/UNIX actuels.

♠ vi est un éditeur modal, c'est-à-dire que la signification des boutons

et des touches changent selon le mode dans lequel il se trouve.

♠ En mode insertion, le texte tapé est inséré dans le document.

♠ En mode commande, de nombreuses opérations peuvent être

effectuées en série avec des séquences de touches simples, sans qu'il

soit nécessaire de maintenir les touches Alt ou Ctrl enfoncées.

♠ Pour passer à un autre mode, il faut appuyer sur la touche Echap.

♠ Utilisation : voir TP

77

Deux modes de base :✔ Mode commande✔ Mode insertion

Quand vous entrez dans vi, vous être en mode commande jusqu'à ce que vous entriez un code d'entrée de texte (comme i, a, s ou o).

En mode insertion : [Ctrl] [H] ou [<-] pour corriger.Pour changer de mode : appuyer sur la touche [Echap]

Sauvegarde :vi nomFichier : Créer un fichier de nom nomFichier.[Echap], puis :q! : Quitter le programme sans sauvegarder.[Echap], puis :wq : Sauvegarder.[Echap], puis :w! NomFichier : Remplacer le contenu de nomFichier par le fichier courant.[Echap], puis :x,y w nomFichier : Sauvegardez une partie du texte comprise entre ligne x et ligne y.

i : Insérer des caractères avant le curseur.I : Insérer des caractères avant le premier caractère de la ligne.l : Déplacer le curseur vers la droite.j : Déplacer le curseur vers le bas.k : Déplacer le curseur vers le haut.h : Déplacer le curseur vers la gauche.a : Ajouter du texte après le curseur.A : Ajouter des caractères à la fin de la ligne.o : Créer une nouvelle ligne sous le curseur.O : Créer une nouvelle ligne au-dessus du curseur.x : Supprimer le caractère qui se trouve à la position du curseur.nx : Supprimer n caractères à partir du curseur.dw : Supprimer les caractères compris entre le curseur et le début du mot suivant ou le

premier signe de ponctuation.dW : Supprimer les caractères compris entre le curseur et le début du mot suivant.ndw : Supprimer les caractères compris entre le curseur et le début du n ième mot

suivant ou le premier signe de ponctuation.dd : Supprimer la ligne courante.ndd : Supprimer les n lignes suivantes, y compris la ligne courante.D : Supprimer les caractères compris entre le curseur et la ligne courante.d0 : Supprimer les caractères compris entre le curseur et le début de la ligne courante.d1G : Supprimer toutes les lignes jusqu'au début du fichier, y compris la ligne courante.dG : Supprimer toutes les lignes jusqu'à la fin du fichier, y compris la ligne courante.u : Annuler la dernière commande exécutée ou les dernières caractères entrés.U : Annuler tous les changements apportés à la ligne courante.

Déplacement et copie de texte :(1) Appuyer sur [Echap],(2) Supprimer, à l'aide d'une seule commande de suppression, le bloc de texte à déplacer,(3) Déplacer le curseur jusqu'à la position désirée,(4) Exécuter la commande d'insertion p

Copie de texte :(1) Appuyer sur[Echap],(2) Amener le curseur jusqu'à la première ligne du texte à copier,(3) Entrer yy (ou nyy) pour copier le texte,(4) Déplacer le texte jusqu'à la position désirée,(5) Exécuter la commande d'insertion p.

Impression d'un fichier :[Echap], puis :!lp % : Imprimer le fichier en cours.[Echap], puis :!lp nomFichier : Imprimer le fichier de nom nomfichier.

Recherche d'un fichier :/ chaîne : rechercher la chaîne « chaîne » vers l'avant à partir de la position du curseur.? chaîne : rechercher la chaîne « chaîne » vers l'arrière à partir de la position du curseur.

Pour poursuive la recherche des occurrences de la « chaîne », appuyer sur n (même direction ou N (direction opposée).

Remplacement et substitution de texte :r caractères : Remplacer le caractère qui se trouve à la position du curseur par

autres caractères.s caractères [Echap] : Substituer un ou plusieurs caractères au(x) caractère(s) existant(s).ns caractères [Echap] : Substituer n caractères au(x) caractère(s) existant(s).

Modification de l'environnement vi :[Echap], puis :set all : Affichage de toutes les options par défaut.[Echap], puis :set option : Modifier une option.[Echap], puis :set nooption : Annuler la définition d'une option.

Exemple :[Echap], puis :set showmode : Affichage du mode.[Echap], puis :set noshowmode : Annuler l'affichage du mode.[Echap], puis :set wm=n : Définir la largeur de la marge de droite (zéro, par défaut).[Echap], puis :set nu : Affichage des numéros de lignes.[Echap], puis :set nonu : Annuler l'affichage des numéros de lignes.[Echap], puis :set ai : Fait commencer chaque nouvelle ligne à la même colonne que

la ligne précédente.[Echap], puis :set ic : Ne pas tenir compte des majuscules et minuscules au moment

des recherches.[Echap], puis :set sm : Affichage de la parenthèse, (l'accolade ou crochet) que vous

avez ouvert lorsque vous la fermer.

L'éditeur vi (Visual Interactive)

IUT La Rochelle2010-2011

78

IUT La Rochelle2010-2011

Notion d'installation et d'administration

♠ Les différentes étapes :✔ Inventaire sur la machine : disque, écran, carte graphique, cartes

réseaux,...

✔ Choix du nombre de SE à installer

✔ DVD ou CD du SE avec leur numéro de série si nécessaire

✔ Partitionnement du disque dur

✔ Un ordre à respecter dans le cas où il y a plusieurs SE à installer

Windows 95 ou 98

Windows NT, 2000, Xp, Vista ou Seven

Linux : Suse, Ubuntu, Fedora, Debian, Mandriva, Gentoo, ...

✔ Installation des logiciels et paquetages

✔ Gestion des utilisateurs

✔ Configuration

79

IUT La Rochelle2010-2011

Notion d'installation et d'administration

♠ Partitionnement d'un disque✔ C'est l'opération qui consiste à partager le disque en plusieurs

parties nommées partitions.

✔ Sur chacune d'elles on peut installer un SE avec son propre système

de gestion de fichiers (SGF).

✔ Pourquoi ?Comme les SE n'ont pas toujours le même SGF, on est obligé de

partitionner le disque.

Windows 98 FAT32 (File Allocation Table)

Windows NT, XP, Vista, 7 NTFS (New Technology File System)

Linux EXT4fs (... EXTended file system)

Mac OS HFSX (Hierarchical File System)

80

IUT La Rochelle2010-2011

Notion d'installation et d'administration

✔ Avantages : Avoir plusieurs SE sur le même disque.

Échange des données d'application entre différentes SE.

Quand un système est en panne, l'autre n'est pas affecté.

✔ Contraintes : Pour tenir compte du nombre de partitions et de leur taille, le

disque contient une table de partition MBR(Master Boot Record),

située au début du disque.

Chaque partition contient un secteur de démarrage Boot Sector

(BS) dont le rôle est d'accéder au SE.

Le nombre maximum de partitions primaires est limité à 4.

Une partition primaire peut contenir 64 partitions logiques.

81

IUT La Rochelle2010-2011

Notion d'installation et d'administration

✔ Structure de MBR

Programme de chargementSignature

Description de la partition 1Description de la partition 2Description de la partition 3Description de la partition 4

Code d'identification

Structure de MBR Taille enoctets

4424

161616162

N° de la tête : début

Type : FAT32, NTFS, EXT2,...

1121244

N° du secteur et du cylindre : début

N° de la tête : FinN° du secteur et du cylindre : FinDistanceTaille de la partition

Taille enoctets

État de la partition : active 80 non active 00

1

Description d'une partition

✔ Exemple de partitionnement d'un disque

Partition 1primaireNTFS

BSC:

BSD:

BS BS

Partition 2primaireFAT32

Partition 4primaire

Partition 3étendue

LogiqueNTFS

LogiqueLinux

Logiqueswap

MBR

82

IUT La Rochelle2010-2011

Notion d'installation et d'administration

♠ Outil de partitionnement d'un disque✔ Outils gratuits :

fdisk, sous Windows ou Linux, reconnait tous les systèmes de

fichiers FAT, FAT32, Ext2, Ext3, Swap Linux.

Il est inclus dans toutes les distributions Linux.

QTParted ou Gparted un clone de PartitionMagic inclus dans la

majorité des distributions Linux actuelles.

...

83

IUT La Rochelle2010-2011

Notion d'installation et d'administration

♠ Outils payants :

✔ PartitionMagic (Powerquest – Symantec), efficace avec une

interface très ergonomique. A utiliser sous Windows mais aussi à

partir d'un DVD de boot. Il permet de préserver les données

existantes (sauf mauvaises manipulations !). Il reconnait tous les

systèmes de fichiers (Windows, Linux, ...).

✔ Hard Disk Manager permet de partitionner et de cloner les

partitions avec une interface graphique.

✔ Partition Expert permet le partitionnement en préservant les

données existantes et possède une interface ergonomique sous

Windows.

✔ ...

84

IUT La Rochelle2010-2011

Notion d'installation et d'administration

♠ Virtualisation✔ Elle permet d'avoir plusieurs systèmes d'exploitation lancés en

même temps sur la même machine.

✔ Il existe plusieurs logiciels de virtualisation :

VMWARE pour Windows, Mac OS : www.vmware.com

Parallels Desktop pour Mac OS: www.parallels.com

Microsft Virtual PC pour Windows : www.microsoft.com/

VirtualBox pour Windows, Mac OS et Linux: www.virtualbox.org/

Xen pour Linux : xenfr.org/tiki-index.php

85

IUT La Rochelle2010-2011

Notion d'installation et d'administration

♠ Machine virtuelle✔ Elle se comporte comme un ordinateur physique et contient ses

propres CPU, mémoire , disque dur, ..

✔ Un SE est incapable de faire la différence entre une machine

virtuelle et une machine physique.

✔ Avantages des machines virtuelles

Les machines virtuelles sont compatibles avec tous les ordinateurs.

Les machines sont indépendantes les unes des autres.

Les machines virtuelles ont leur propre environnement.

Les machines virtuelles s’exécutent indépendamment du matériel.

86

IUT La Rochelle2010-2011

Notion d'installation et d'administration

✔ Il existe deux types de machines dans le monde de la virtualisation :

La machine hôte est la machine physique qui va lancer le logiciel

de virtualisation.

La machine virtuelle est celle qui est lancée par le logiciel de

virtualisation.

Machine sans virtualisation

Machine avec virtualisation

Architecture x86/x64

Système d'exploitation

Application1 Application2 Application3

Architecture x86/x64Système d'exploitation

Applicati

ons

Logiciel de virtualisation

Appl. Appl. Appl.

LinuxAppl. Appl. Appl.

Mac OSAppl. Appl. Appl.

Windows XP

machine virtuellemachine hôte

87

IUT La Rochelle2010-2011

Notion d'installation et d'administration

♠ Les grandes étapes d'installation d'une distribution Linux

✔ Test de la source d'installation : {DVD, CDROM, fichier.iso, réseau, ..}✔ Test du matériel✔ Choix de la langue✔ Choix du clavier et souris✔ Choix de type d'installation : {nouvelle, mise à jour, réparation, ...}✔ Création des partitions✔ Choix des paquetages à installer✔ Configuration du chargeur {GRUB, LILO, ...}✔ Configuration du réseau✔ Création du compte administrateur (root)✔ Choix de l'interface graphique : {KDE, Gnome, X Window, ...}✔ Création des utilisateurs✔ Mise à jour du système par Internet✔ Installation des autres périphériques { imprimantes, scanner, jeux,...}✔ Si problème d'affichage il faut installer le pilote de la carte graphique

88

IUT La Rochelle2010-2011

Notion d'installation et d'administration

♠ Gestion des utilisateurs

✔ Caractéristiques d'un compte utilisateur :

login : nom avec lequel un utilisateur peut se connecter(anne)

mot de passe : un mot de passe crypté (x)

IUD : identifiant de l'utilisateur (1001)

GID : identifiant du groupe à qui appartient l'utilisateur (100)

Commentaire : un commentaire sur l'utilisateur (Un invité)

répertoire : répertoire de connexion (/home/invite)

shell : shell de démarrage (/bin/bash)

cat /etc/passwdanne:x:1001:100:Un invité:/home/anne:/bin/bash

89

IUT La Rochelle2010-2011

Notion d'installation et d'administration

✔ Caractéristiques d'un compte groupe :

nom : nom avec lequel un groupe est connu sur le système (user)

mot de passe : un mot de passe crypté (x)

GID : identifiant du groupe (100)

liste : liste des membres du groupe (anne)

cat /etc/group...video:x:33:invite,anneusers:x:100:

90

IUT La Rochelle2010-2011

Notion d'installation et d'administration

✔ Fichiers

/etc/passwd : contient la base locale des comptes utilisateurs

/etc/group : contient la base locale des comptes groupes

/etc/shadow : contient les mots de passe locaux

/etc/nsswitch.conf : annuaire de recherche des comptes

:~> su - rootMot de passe ::root~ # more /etc/shadow...wwwrun:*:13843::::::

invite:

$2a$05$lXd4QA.fo2BG5/dn8vG0ZuDG9/Keb6uUVoqyzwDhCuJrNe

OeQB8ny:13843:0:99999:7:::

91

IUT La Rochelle2010-2011

Notion d'installation et d'administration

✔ Commandes

useradd, usermod, userdel : ajout, modification et

suppression d'un utilisateur

groupadd, groupmod, groupdel : ajout, modification et

suppression d'un groupe

passwd, chpassd : donner et modifier le mot de passe d'un

utilisateuruseradd -u 1001 -g users -G video, mail -c jamal

khamlichi -d /home/jkhamlic -s /bin/bash jkhamlic

✔ Utilitaires

yast : distribution SUSE

system-config-users : distribution Redhat

...

92

IUT La Rochelle2010-2011

Notion d'installation et d'administration

♠ Gestion des partitions✔Commandes

mount : monter un système de fichiers

umount : démonter un système de fichiers

du : information sur l'utilisation du disque

df : information sur la quantité d'espace occupé des systèmes

de fichiers

fdisk : manipulateur de la table des partitions pour Linux

93

IUT La Rochelle2010-2011

Notion d'installation et d'administration

@AINF39:~> su - rootMot de passe :

AINF39:~ # mount /dev/sdb1 /media/AINF39:~ # umount /dev/sdb1

AINF39:~ # du -h ...24K ./.VirtualBox/VDI56K ./.VirtualBox7,1G

AINF39:~ # df -ThSys. de fich.Type Tail. Occ. Disp. %Occ. Monté sur/dev/sda4 ext3 16G 5,0G 11G 33% /udev tmpfs 506M 88K 506M 1% /dev/dev/sda2 ext3 30G 7,3G 21G 26% /home/dev/sda1 fuseblk 80G 17G 64G 21% /windows/C/dev/sda6 vfat 20G 3,0G 18G 15% /windows/D

94

IUT La Rochelle2010-2011

Notion d'installation et d'administration

✔ Fichiers

/etc/fstab : contient la table des SF montés à la connexion.

@AINF39:~> cat /etc/fstab/dev/sda4 / ext3 acl,user_xattr 1 1/dev/sda2 /home ext3 acl,user_xattr 1 2/dev/sda6 /windows/D vfatusers,gid=users,umask=0002,utf8=true 0 0/dev/sda5 swap swap defaults 0 0proc /proc proc defaults 0 0sysfs /sys sysfs noauto 0 0usbfs /proc/bus/usb usbfs noauto 0 0devpts /dev/pts devpts mode=0620,gid=5 0 0none /proc/bus/usb usbfs devgid=109,devmode=664 0 0

✔ Outils

qparted : sur toutes les distributions

KDiskFree : équivalent à df avec interface graphique

...

95

IUT La Rochelle2010-2011

Notion d'installation et d'administration

♠ Gestion des applications✔ Une partie des applications se fait au moment de l'installation du

système, mais il est possible d'en ajouter d'autres.

✔ Avant de lancer l'installation d'une nouvelle application il faut connaitre:

Le nom de votre distribution

La version de votre noyau

Méthode à utiliser :

✗ Compiler les fichiers sources sur votre système

✗ Installer les fichiers binaires

✗ Utiliser le gestionnaire des applications de votre distribution

✗ Installer à partir de la ligne de commande

Télécharger la bonne version ou avoir le CD/DVD d'installation

Mot de passe du root

...

96

IUT La Rochelle2010-2011

Notion d'installation et d'administration

✔ Installation à partir des fichiers sources :

1. Télécharger la bonne version de l'application pour votre distribution

2. Décompresser l'applicationhome > tar xvzf nomLogiciel_2.2.8.tar.gz

3. Se placer dans le nouveau répertoire crééhome > cd nomLogiciel_2.2.8

4. Exécuter le script : (ceci sert à créer le fichier Makefile)

home/nomLogiciel_2.2.8 > ./configure

5. Compilation et édition des lienshome/nomLogiciel_2.2.8 > make

6. Installer l'application

home/nomLogiciel_2.2.8 > make install

7. Configurer l'application

97

IUT La Rochelle2010-2011

Notion d'installation et d'administration

✔ Remarque

Parfois, il faut être root pour pouvoir installer une application, donc

avant de commencer l'étape 3, il faut se connecter en tant que root :

home > su root

Mot de passe :

root #

98

IUT La Rochelle2010-2011

Notion d'installation et d'administration

✔ Installation à partir des paquetages binaires :

1.Télécharger la bonne version de l'application pour votre distribution

2. Installer l'application

home > rpm -ivh nomLogiciel_2.2.8.rpm

3. Configurer l'application

✔ Quelques options de la commande rpm :

rpm -i installe un paquetage

rpm -e supprime un paquetage

rpm -qa liste tous les paquetages installés

rpm -v vérifie un paquetage

rpm -qf indique à quel paquetage appartient un fichier

rpm -ql liste les fichiers d'un paquetage

99

IUT La Rochelle2010-2011

Notion d'installation et d'administration

♠ Processus de démarrage

Processus d'une session/etc/profile

if [ -f ~/.bash_profile ]

then ~/.bash_profile

else if [ -f

~/.bash_login ]

then ~/.bash_login

else ~/.profile

~/.bashrc

/etc/bashrc #activé par ~/.bashrc

Bios

Chargeur(MBR)➢ Grub➢ Lilo

(BS)NoyauLinux

(BS)NoyauWindows

initlecture du

/etc/inittabPID=1

Scripts de démarrage

/etc/rc.sysinit

100

IUT La Rochelle2010-2011

Notion d'installation et d'administration

♠ Processus de déconnexion

✔ Le fichier qui s'exécute en local est : ~/.bash_login

✔ Commandes :

shutdown : arrêt et redémarrage du système et passage

en mode maintenance

reboot : redémarrage du système

halt : arrêt du système

✔Remarques :

/etc/shutdown.allow contient la liste des utilisateurs ayant le

droit d'exécuter shutdown

Pour un shell sans connexion, le fichier ~./bashrc est exécuté.

101

IUT La Rochelle2010-2011

Notion d'installation et d'administration

♠ Quelques fichiers d'administration

✔/boot/grub/grub.conf : fichier de configuration du chargeur

✔/etc/bashrc : script exécuté à chaque ouverture d'une session

✔/etc/fstab : liste des tables des fichiers montés au démarrage

✔/etc/group : information sur les groupes d'utilisateurs

✔/etc/inittab : liste des applications lancées au démarrage

✔/etc/hosts : table de correspondance entre un nom et une

adresse IP

✔/etc/manpath.config : fichier de configuration de l'aide en

ligne

✔/etc/passwd : description des comptes utilisateurs

102

IUT La Rochelle2010-2011

Notion d'installation et d'administration

✔/etc/init.d/* : les scripts de démarrage

✔/etc/printcap : description des files d'attente d'impression

✔/etc/profile : script lancé à chaque session

✔/etc/shadow : les mots de passe et leurs paramètres

✔/etc/termcap : les séquences de contrôle des terminaux

✔/etc/X11/xorg.conf : fichier de configuration du serveur X

✔/usr/lib/X11/xinitrc : fichier de configuration pour startx

✔~/.bash_logout : script lancé à la déconnexion

✔~/.bash_profile : script lancé à l'ouverture d'une session

✔~/.bashrc : script lancé à chaque lancement de bash

✔~/.kde: répertoire de configuration de l'environnement KDE

✔~/.gnome: répertoire de configuration de l'environnement GNOME