Vous êtes sur la page 1sur 77

Cours

Système d ’exploitation1
M.Yosra

2020 2021 1ISI


Table des matières

 Partie1: Introduction aux systèmes d’exploitation


 Chapitre1: DOS
 Chapitre2: Windows
 Partie2: Les bases du système UNIX
 Chapitre1: Présentation générale d’UNIX
 Chapitre2: Principes et bases du système UNIX
 Partie3: La programmation Shell
 Chapitre1: Définition et utilisation de variable
 Chapitre2: Définition d’une expression
 Chapitre3: Structure de contrôle
Introduction générale
But de ce cours:
 Avoir des connaissances sur:
– l’évolution historique du système d’exploitation,
– sa structure et ses caractéristiques.
 Comprendre le principe et les bases du système UNIX c’est-à-dire la manière de
son utilisation.
– Types d’utilisateurs
– Systèmes de fichiers et commandes essentielles…
 Étudier le langage de programmation shell et ces outils de développement.
– Les variables, les structures de contrôles, les boucles…
Partie1
Introduction aux systèmes d’exploitation

Introduction
Chapitre1: DOS
Chapitre2: Windows
Introduction aux S.E
 Système d'exploitation(SE) / Operating System(OS)?

 Un programme qui contrôle l’exécution de toutes les autres applications qui


tournent sur la machine.

 Le système d’exploitation est l’ensemble des programmes qui se chargent


de résoudre les problèmes relatifs à l’exploitation de l’ordinateur.

 Une interface entre l’homme et la machine.


Introduction aux S.E

Deux types de logiciels:


1. Programmes systèmes (system programs): gère le fonctionnement de
l’ordinateur
2. Programmes d’application: exécute le travail demandé par les utilisateurs.
Systèmes d’Exploitation:
Programme système fondamental
Contrôle toutes les ressources de l’ordinateur
Base sur laquelle les programmes d’application sont écrits
Introduction aux S.E

Pourquoi un Système d’Exploitation?


Introduction aux S.E
Introduction aux S.E
Définition

 angl. « Operating System (OS) »

 Qu'est-ce qu’un OS? « un intermédiaire entre la machine et


l’utilisateur »

 A quoi ca sert?
à simplifier la vie des utilisateurs et des programmeurs
à gérer les ressources de la machine d'une manière efficace
Introduction aux S.E

Définition
 Ensemble de programmes nécessaires au fonctionnement de l’ordinateur,
indépendant des programmes d’applications mais indispensable à leur mise
en œuvre.
 Chargé en mémoire centrale au démarrage
 Fonctions
 Gestion des ressources (mémoire…)
 Gestion des entrées-sorties
 Gestion des fichiers
 Gestion des programmes
 Assurer l’interface avec l’utilisateur
Introduction aux S.E
Introduction aux S.E
Introduction aux S.E

Définition
 Le Système d‘Exploitation constitue donc une interface entre
l'utilisateur, et la machine physique. Un Système d‘Exploitation peut
être défini comme un logiciel qui , dans un système informatique,
pilote les dispositifs matériels et reçoit des instructions de l’utilisateur
ou d’autres logiciels (ou applications).
Introduction aux S.E

Exemples:

 Unix : Créé en 1969, rapidement multi-utilisateur, écrit en langage C.


 Linux : Clone gratuit d’UNIX pour les PC, open source.
 Mac OS : Premier à proposer le concept des fenêtres, du glisser-déposer, la corbeille, le plug-
and-play; aujourd’hui possède le noyau Linux, avec une interface graphique élégante et
ergonomique, et optimisation particulière des traitement multimédia.
 MS-DOS (Microsoft disque operating system) : SE des premiers PC, mono-utilisateur, mono-
tâche, interface ligne de commande.
 MS-Windows : Inspiré par l’interface Macintosh; tout d’abord, une coquille graphique pour
DOS. Seulement à partir de Windows 95 nous commençons à assister à un transfert de
nombreuses fonctionnalités de DOS vers Windows.
 Windows NT : Système d’exploitation Indépendant de DOS. Techniquement nettement supérieur
à Windows.
Introduction aux S.E
Exemples :

1.Windows  La version vendue actuellement est Windows 10. les anciennes versions : Windows 8, Windows 7,
Windows Vista ou encore Windows XP. Ce système est vendu sur différentes marques d’ordinateurs (Acer, Asus,
Dell, HP, Sony, Toshiba...)

2.  mac OS (anciennement OS X) a été développé par la société Apple. Ce système d’exploitation n’est présent que
sur les ordinateurs de la marque Apple (Macintosh). La version actuellement vendue est macOS Sierra, la version
macOS High Sierra devrait sortir à l’automne 2017.

3. Enfin, Linux est le moins connu des 3 systèmes d’exploitation. Il est rarement installé par défaut sur un
ordinateur. Gratuit et libre, il est surtout utilisé par ceux qui ont de bonnes connaissances en informatique.
Introduction aux S.E

Abstraction
 Cacher la complexité des machines pour l'utilisateur afin
d'utiliser la machine sans savoir ce qui est derrière

 Abstraction du terme « Machine » :


 machine réelle = Unité centrale + périphériques
 machine abstraite = machine réelle + système
d'exploitation
 machine utilisable = machine abstraite + application
Introduction aux S.E
Définition
 Le maître d’orchestre: essentiel pour utiliser les ressources de la machine.
 Gestion de la mémoire centrale
 Gestion des processeurs: temps de calcul entre plusieurs programmes qui s’exécutent
simultanément
 Gestion des périphériques: E/S
 Gestion des fichiers: sur les mémoires de masses
 Gestion des ressources: attribution des ressources nécessaires
 Gestion des utilisateurs: pas d’interférence entre eux
Introduction aux S.E
Introduction aux S.E
Abstractions utiles (Services)

 Communication entre processus.


 Gestion des erreurs.
 Gestion de fichier.
 Gestion des utilisateurs.
 Gestion du réseau.
 Gestion de l'affichage graphique.
 Etc.
Introduction aux S.E

Rôle du système d'exploitation


•Gestion des processeurs: Gérer l'allocation des processeurs entre les différents programmes
grâce à un algorithme d'ordonnancement.
•Gestion des processus (programmes en cours d'exécution) : Gérer l’exécution des processus
en leur affectant les ressources nécessaires à leur bon fonctionnement.
•Gestion des mémoires: Gérer l'espace mémoire alloué à chaque processus.
•Gestion des fichiers: Gère l’organisation du disque dur et du système de fichiers.
Introduction aux S.E
Les tâches d’un SE: Modèle en couches
Introduction aux S.E

Gestion mémoire
 Permet de transférer les programmes et les données nécessaires à la création des processus,
d'un support secondaire (ex : un disque) vers un support centrale où aura lieu l'exécution
du processus.
 Quelques tactiques appliquées par les SE pour gérer la mémoire :
 1. les partitions,
 2. la mémoire virtuelle………
Introduction aux S.E
système de fichiers

 Le système de fichier offre à l’utilisateur une vision homogène et


structurée des données et des ressources : disques, mémoires,
périphériques.
 Le système gère la création des fichiers, leur destruction, leur
correspondance avec les dispositifs physiques, ainsi qu’un certain
nombre d’autres caractéristiques, telles que la protection .
 Il les organise, en général, en une structure arborescente
 Il offre à l'utilisateur une vue abstraite sur ses données et permet de
les localiser à partir d'un chemin d'accès.
Introduction aux S.E
Gestion des entrées-sorties
 Les entrées/sorties correspondent aux mécanismes qu’utilisent les processus pour
communiquer avec l’extérieur. Ces entrées-sorties font largement appel aux couches les
plus proches du matériel, et dont le système tente de masquer les particularités aux
utilisateurs. Il y a 3 types d’E/S :
 1. Électroniques : mémoires
 2. Magnétiques : disques ou disquettes
 3. Mécaniques : clavier, imprimantes
Introduction aux S.E
Gestion processus

 Un processus est un programme lors de l‘exécution.


 Le processus est placé instruction par instruction dans les registres de l’UC et exécuté.
 La principale tâche du SE concerne l’allocation du processeur aux processus:
 Décider quel processus s’exécute à un moment donné,
 A quel moment interrompre le processus,
 Quel sera le suivant ,
 De quoi il a besoin comme ressources pour son exécution.
Introduction aux S.E
Gestion processus

Plusieurs Processus -- Multitâche.


 Tâche qui s'exécute dans le système - "Croit" qu'il est seul à accéder à la machine -
Mémoire - CPU - Périphériques - Le SE gère le "multiplexage" de toutes ces ressources.
Introduction aux S.E
Classification des SE
 Système Mono-tâche
permet de faire fonctionner qu’un seul programme à la fois.
 Système Multi-tâche
permet de faire fonctionner plusieurs applications simultanément
ces applications sont découpées en un ensemble de tâches (processus)
la notion de partage de temps du processeur entre plusieurs tâches qui semblent êtres
exécuter simultanément.
 Système Mono-utilisateur; autorise l’utilisation du système par un seul utilisateur à
travers une interface
 Système Multi-utilisateur ; autorise l’utilisation simultanée de ce système par plusieurs
utilisateurs à travers une interface. Il est conçu pour que plusieurs utilisateurs puissent
profiter des mêmes ressources simultanément.
Introduction aux S.E
Classification des SE
Introduction aux S.E
Historique des SE

Tout système d’exploitation dépend étroitement de l’architecture de l’ordinateur sur lequel il fonctionne.

 La 1ère génération (1945 − 1955) : les tubes à vide et les cartes.


 La 2ème génération (1955 − 1965) : les transistors et le traitement par lots.
 La 3ème génération (1965 − 1980) : les circuits intégrés et la multi−programmation.
 La 4ème génération (1980 − 1990) : les ordinateurs personnels.
 La 5ème génération (1990 − ????) : les ordinateurs personnels portables et de poche
Introduction aux S.E
Historique des SYSTEMES d’EXPLOITATION

La 1ère génération (1945 − 1955) : les tubes à vide et les cartes enfichables.
 Vers le milieu des années 1940, les premières machines à calculer sont
construites au moyen de tubes électroniques (tubes à vides);
 Ces machines énormes remplissaient des salles et étaient moins rapides qu’une
calculatrice moderne;
 Il n’existait pas de système d’exploitation. Les utilisateurs travaillaient chacun
leur tour sur l’ordinateur qui remplissait une salle entière. Ils étaient d’une très
grande lenteur. Ils étaient d’une très grande fragilité.
 Toute la préparation se faisait manuellement;
 Les E/S étaient limitées;
Introduction aux S.E
Historique des SYSTEMES d’EXPLOITATION

Le programmeur opère avec la machine par interaction directe (beaucoup de


manipulation et beaucoup de lourdeur);
• Concepteur = constructeur = programmeur = opérateur;
• Un programme dispose toujours de toute la mémoire disponible;
• Programmer l'E.N.I.A.C. consistait à câbler des branchements et à ajuster
des boutons électriques.
Introduction aux S.E
Historique des SYSTEMES d’EXPLOITATION
 La 2ème génération (1955 − 1965) : les transistors et le traitement par lots.
Le traitement par lots a constitué les bases des systèmes d’exploitation
• Apparition des cartes perforées
• Séparation des rôles : le programmeur n’est pas l’opérateur;
• Enchaînement automatique des commandes (« jobs ») dans une queue d’exécution de programmes, c’est le traitement
par lots (« batch processing »);
Introduction aux S.E
Historique des SYSTEMES d’EXPLOITATION

Le passage aux transistors rendait les ordinateurs plus fiables. Mais devant les coûts d’équipement élevés on
réduisit les temps grâce au traitement par lots. Les utilisations principales étaient le calcul scientifique et
l’ingénierie (équations différentielles). Apparition des langages FORTRAN et assembleur. Apparition des
systèmes d’exploitation (SE) : FMS (Fortran Monitor System) et IBSYS (IBM 7094).
Sous-programmes d'E/S (chargement et déchargement des cartes);
• Apparition des assembleurs;
• Le système d'exploitation gère la mémoire, les processus et les E/S;
• Gestion par limitation de temps;
Introduction aux S.E
Historique des SYSTEMES d’EXPLOITATION
 Introduction de la notion d’ordonnancement : dans quel ordre sont effectuées les jobs;
• Lors des E/S, le processeur est inactif;
• " Monoprogrammation " dans lesquels un seul utilisateur est présent et a accès à toutes les ressources de la machine
pendant tout le temps que dure son travail.
Introduction aux S.E
Historique des SYSTEMES d’EXPLOITATION
 La 3ème génération (1965 − 1980) : les circuits intégrés et la multiprogrammation.
Amélioration des coûts et des performances (circuits intégrés).
Une famille d’ordinateurs compatibles entre eux.
Une seule architecture et un même jeu d’instructions.
Des ordinateurs uniques pour les calculs scientifiques et commerciaux.
Apparition du spoule (spool, Simultaneous Peripheral Operation On Line) pour le transfert des travaux des cartes vers le disque.
Apparition de la multiprogrammation (partitionnement de la mémoire pour des tâches différentes).
Mais, un système d’exploitation énorme et très complexe pour satisfaire tous les besoins (plusieurs millions de lignes d’assembleur).
Apparition du partage de temps, une variante de la multiprogrammation (chaque utilisateur possède un terminal en ligne) ; naissance
du système MULTICS (MULTiplexed Information and Computing Service) pour ordinateur central.
Apparition des mini−ordinateurs (DEC PDP−1 en 1961, 4K mots de 18 bits, pour un prix de 120 000 $).
* K. Thompson écrivit une version simplifiée (mono−utilisateur) de MULTICS ; B. Kernighan l’appela avec humour UNICS
(Uniplexed Information and Computer Service) ; ce nom allait devenir UNIX1. •D. Ritchie se joignit à K. Thompson pour réécrire
UNIX en langage C ; ce système d’exploitation a été le plus porté sur toutes sortes de machine.
Introduction aux S.E
Historique des SYSTEMES d’EXPLOITATION

 Apparition des circuits intégrés;


 Selon la loi de Moore, le nombre de transistors d’un circuit
intégré double tous les 18 mois,
 Apparition des disques magnétiques;
 Notion de familles d’ordinateurs compatibles (IBM
System/360);
Introduction aux S.E
Historique des SYSTEMES d’EXPLOITATION
 Multiprogrammation : pendant qu’un processus effectue ses E/S, le
processeur est inactif, il peut donc travailler sur un autre processus;
 Multiprogrammation rendue possible par le « spooling », qui met à la
disposition du CPU un ensemble de jobs (pool) prêtes à être exécutées;
Introduction aux S.E
Historique des SYSTEMES d’EXPLOITATION
 La 4ème génération (1980 − 1990) : les ordinateurs personnels.
Ils sont dû au développement des circuits LSI (Large Scale Integration)
contenant des centaines de transistors au cm2. Ils ont la même
architecture que les mini−ordinateurs mais leur prix est beaucoup moins
élevé. Il existe deux systèmes d’exploitation principaux : MS−DOS
(Microsoft Inc.) et UNIX. MS−DOS intègre petit à petit des concepts
riches d’UNIX et de MULTICS.
Les micro-processeurs
• Motorola 68000;
• L’utilisation d’Internet;
• Création d’applications multimédia;
• Maturation des systèmes d’exploitation vers ceux que l’on connaît
aujourd’hui;
Introduction aux S.E
Historique des SYSTEMES d’EXPLOITATION
 La 4ème génération (1980 − 1990) : les ordinateurs personnels.
C’est la génération des PCs (Personal Computer)
• Où l’électronique est miniaturisé et l’Apparition des micro-ordinateurs grand public (IBM PC, p.ex.), de MS-DOS, des consoles de
jeu;
• IBM conçoit le PC autour du processeur Intel 8080 sans OS
• Bill Gates à combiné l’utilisation du langage BASIC avec le système d’exploitation DOS conçu par Seattle Computer Products.
• Bill Gates et Tim Patterson fondent Microsoft et Tim finalise MS-DOS
PC vs Mac
• Steve Jobs, co-inventeur d’Apple, visite un jour la société Xérox et voit une interface graphique (prototype)
• Il développe un système d’exploitation et le matériel qui va avec : Lisa (un flop) puis le Macintosh (un succès)
• Evolutions de MS-DOS influencées par le Macintosh avec l’ajout d’une interface graphique
Introduction aux S.E
Historique des SYSTEMES
d’EXPLOITATION
 La 5ème génération (1990 − ????) : les ordinateurs personnels portables et de poche.
Apparition des PIC (Personal Intelligent Communicator de chez Sony) et des PDA (Personal Digital Assistant,
comme le Newton de chez Apple), grâce à l’intégration des composants et l’arrivée des systèmes d’exploitation
de type « micro−noyau ».
Les systèmes d’exploitation de type « micro−noyau » sont modulaires (un module par fonction) ; ils peuvent être
réalisés avec plus ou moins de modules et donc adaptables à des très petites machines (PDA et PIC).
MS DOS

 DOS (Disk Opérating System) : Système d'exploitation développé par MICROSOFT, D'où
le nom MSDOS.
 Le système MSDOS est un système d'exploitation de type clavier, c'est à dire que
l'utilisateur se sert du clavier comme intermédiaire entre lui et l'ordinateur.
 Problème : MSDOS ne permet pas le travail du microprocesseur en multitâche, c'est à dire
lancé plusieurs programmes simultanément.
Exemple de SE : DOS
Windows
WINDOWS :
Le système WINDOWS type 3.0, 3.1, 3.11 n'est pas un système d'exploitation. Il a besoin du système MS DOS
pour fonctionner. C'est un programme qui est un intermédiaire de type souris.
WINDOWS 9x : En septembre 1995, sort le système d'exploitation Windows 95. A la différence de Windows 3.x,
il n'a pas besoin de MSDOS pour travailler, malgré qu'il garde une couche MSDOS en arrière plan ( peu visible
pour l'utilisateur ). Il peut travailler en multitâche. L'avantage de Windows 95 est multiple. Il a révolutionné le
système d'exploitation par son interface visuel et ses particularités techniques. C'est un système d'exploitation
utilisant la souris.

En septembre 1998, Microsoft sort une version améliorer de Windows 95 ( Nommée WINDOWS 98 )
qui corrige certains défaut de la première mouture mais garde cependant la même interface visuelle.

44
Les bases de Windows
Bureau & Barre des tâches
Quand votre ordinateur a
terminé sa séquence de
démarrage, appelée boot,
on aperçoit à l'écran l'
interface Windows. C'est
ce que l'on voit et qui va
permettre d'agir sur
l'ordinateur. Le Bureau et
la Barre des tâches sont
les deux plus importantes
parties de l'interface.

45
Historique de
WINDOWS
• 81 : Système d ’exploitation MS-DOS
– Lié au PC (IBM)
• 83 : Création de Windows
• 85 : Windows 1.0
• 90 : Windows 3.0 Interface
graphique pour DOS

• 92 : Windows 3.1
• 95 : Windows 95
SE
• 98 : Windows 98
• 2000 : Windows 2000
• … Windows XP … 46
Partie2
Chapitre1: Présentation générale d’UNIX

1. Historique des systèmes UNIX

2. Caractéristiques du système UNIX

3. Structure du système UNIX


1. Historique des systèmes UNIX

1969 − 1979 : les premiers pas universitaires

– En 1969 : Ken Thompson, aux BELL Laboratories,


• "Multics" (Multiplexed Information and Computing System):
C’est un système mono−utilisateur et multi−tâche écrit en assembleur.

– En 1972, Dennis Ritchie implémente le langage C

– En 1973 : réécriture du noyau et des utilitaires d’UNIX en C


• UNICS (UNiplexed Information and Computing Service), rapidement
contractée en Unix.

– En 1974 distribution d’UNIX aux Universités (Berkeley et Columbia


notamment).
1. Historique des systèmes UNIX

1979 − 1984 : les premiers pas commerciaux

– En 1979, avec la version 7, UNIX se développe commercialement :


• Par des sociétés privées comme Microport (1985), Xénix-
Microsoft (1980) … qui achetèrent les sources et le droit de
diffuser des binaires.

• Des Unix like apparaissent ; le noyau est entièrement


réécrit.

• L’université de Berkley fait un portage su VAX (UNIX 32


V).

• AT&T vend la version 7 sur les ordinateurs de la gamme


PDP 11.
1. Historique des systèmes UNIX

1984 − 1993 ... : la standardisation


– En 1984, le Système V.2 est adopté comme standard.
– En 1984, X/Open est chargée d’organiser la portabilité d’UNIX.
– En 1985, AT&T publie SVID (System V Interface Definition) qui définit
l’interface d’application du Système V.2 et non pas son implémentation.
– En 1985, un professeur hollandais, nommé Andrew Tannenbaum,
développa un système d'exploitation minimal, appelé « Minix ».
– En 1986, le Système V.3 apporte les Streams, les librairies partagées et
RFS (Remote File Sharing).
– En 1993, X/Open lance le COSE (Common Open Software Environment).
Il s’agit d’accords entre constructeurs pour le développement d’applications
dans un environnement commun.
– L’authentification d’UNIX appartient désormais à un consortium de
constructeurs (USL, HP, IBM, SUN ...).
1. Historique des systèmes UNIX

1991 − 2000 : LINUX, le renouveau d’UNIX

LINUX est une implantation libre des spécifications POSIX avec des
extensions System V (AT&T) et BSD (Berkeley).
– En 1991, Linus B. Torvalds (Helsinki) utilise MINIX. La 1ère version
de LINUX 0.01. C’est une réécriture de MINIX, avec des ajouts de
nouvelles fonctionnalités et la diffusion des sources sur « Internet »
−> une version instable
– En 1994 : 1ère version stable
– De nos jours: Les versions 2.0 etc... Respectent la norme POSIX (code
source portable) et le code source est gratuit.
2 Caractéristiques du système UNIX

• Multi-utilisteurs
Plusieurs utilisateurs peuvent se connecter et travailler en même temps.
Chaque utilisateur a son environnement personnel.
• Multi-tâches
Un même utilisateur peut lancer plusieurs travaux simultanément.
• Portabilité
Il est écrit en C donc fonctionnement sur de nombreux plates-formes
matériels.
2 Caractéristiques du système UNIX

• Système de fichiers hiérarchisé; Organisation en arborescence

usr etc home var dev

…..
passwd
bin lib C1 C2 …..
….
2 Caractéristiques du système UNIX

Chacun des répertoires a un nom standardisé et un contenu précis:

/ Racine du système, contient les répertoires principaux


/bin Commandes essentielles communes à tous les utilisateurs
/boot Fichers de démarrage du système, contient le noyau
/dev Points d’entrée des périphériques
/etc Fichiers de configuration
/home Répertoires personnels des utilisateurs
/root Répertoire personnel de l’administrateur
/usr Hiérarchie secondaire, applications, bibliothèques partagées
/var Fichiers traces du système (logs)
/proc Système de fichiers virtuel, informations en temps réel
2 Caractéristiques du système UNIX

• Un mécanisme de protection
• identification des utilisateurs par mot de passe
• protection des fichiers

• Une vision simplifiée par l'utilisateur des entrées-sorties


Les périphériques sont représentés par des noms de fichier, et
peuvent être utilisés comme des fichiers ordinaires)

• Le choix d’un langage de commandes : Les shells.


3. Structure du système UNIX
Les applications

Interprètes
de commande
Noyau
Matériel

Shell: sh, csh, ksh


Utilitaires

Les utilisateurs

Figure3: Structuration du système UNIX


Partie2
Chapitre2: Principes et bases du système UNIX

Chapitre1: Présentation générale d’UNIX


Chapitre2: Principes et bases du système UNIX
1. Aspect multi utilisateur
2. Aspect gestion des périphériques
3. Commandes et langage de commandes
4. Aspect fichiers
1. Aspect multi-utilisateurs

 Identification d’un utilisateur:


Compte = Nom de connexion ou nom d’utilisateur + mot de passe

 Nom : « login »
 Mot de passe : « password »

Exemple:
Login: Jean
Password: ????

Cours systèmes d'exploitation évolués


1. Aspect multi-utilisateurs

 Modification du mot de passe:


 « passwd »: c’est la commande qui permet de changer
le mot de passe.

Exemple:
$ passwd
Changing password for Jean
Old password:
New password:
Re-enter new password:
$
2. Aspect gestion des périphériques

L’interface entre UNIX et les terminaux (tty abréviation de teletype) est prise
en charge par un gestionnaire de ligne série (driver tty). Celui−ci est
paramétrable :

• erase annule le dernier caractère frappé (#, ^H ou DEL),


• kill annule tous les caractères de la ligne (@ ou ^U),
• intr envoie le signal « interrupt » ; interrompt la commande en cours (DEL ou
^C),
• quit envoie le signal « quit » ; provoque la fin du processus courant (^| ou ^\),
• eof simule une fin de fichier à partir d’un terminal (^D),
• tabs indique si le terminal sait faire des tabulations,
• speed indique la vitesse du terminal.
3. Commandes et langage de commandes

Il existe un très grand nombre de commandes sous Unix.

Elles sont écrite de la forme :


nom_commande [- <cible1> <cible2>...
options]

Remarque:
Pour taper plusieurs commandes sur la même ligne, il faut utiliser le séparateur « ; » :
Cmd1 ; Cmd2;…………………; Cmdn
3. Commandes et langage de commandes

Quelques commandes utiles dès le premier contact avec le


système :
uname informations relatives à la version du système,
date date et heure connues par le système,
tty nom de la ligne sur laquelle on est connecté,
who liste des utilisateurs connectés,
grep recherche les fichiers possédant des chaînes de caractères données,
cal calendrier des mois de l’année demandée,
pg affiche le contenu du fichier passé en argument par pages de 23 lignes,
man pages du manuel correspondant à la commande demandée,
echo affiche ses arguments,
wc compte le nombre de lignes, de mots et de caractères contenus dans le fichier
passé en argument,
sort tri le contenu du fichier passé en argument,
4. Aspect fichiers

A. Fichiers ordinaires
– Pour ce système, les données d’un fichier
forment une suite non structurée d’octets
(byte stream).
– Un fichier texte, par exemple, est une suite
de codes ASCII, les lignes étant séparées par
le code ASCII ’nouvelle ligne’ (012 octal). Il
n’existe aucune notion d’organisation telle
que séquentiel indéxé, etc ...
– Un certain nombre de caractéristiques sont
associées à un fichier : la date de sa création,
celle de la dernière modification, le
propriétaire, la taille, etc ...
– > Ces caractéristiques sont regroupées dans
un descripteur de fichier, appelé noeud
d’index (i−node ou index−node).
Aspect fichiers

Commandes associées aux fichiers

ls fichier ... [list]


Affiche le contenu des répertoires (à un niveau) et les noms des fichiers passés en
argument, c’est_à−dire fichier ..., ou s’il n’y a pas d’argument, tous les fichiers du
répertoire courant sauf ceux commençant par un point.
cat fichier ... [concatenate]
Affiche le contenu des fichiers fichier.
touch fichier1 fichier2 [create]
Crée des fichiers vide nommé
fichier1 fichier2
cp fichier1 fichier2 [copy]
Copie fichier1 dans fichier2
mv fichier1 fichier2 [move]
Renomme fichier1 en fichier2
rm fichier [remove]
Détruit ou supprime le fichier
fichier ;
Aspect fichiers

B. Répertoire

Un répertoire ou catalogue
(directory) est un fichier qui
contient une liste de noms de
fichiers, parmi lesquels on peut
trouver des sous−répertoires,
et ainsi de suite (arborescence
logique).
• les répertoires sont
représentés par
des rectangles
• les fichiers par des
cercles.
Aspect fichiers

Répertoire courant :
A chaque processus est associé un répertoire, appelé répertoire
courant ou de travail (défaut).

Chemin absolu :
Pour accéder à un fichier à partir de la racine et en indiquant
tous les sous−répertoires rencontrés.

Chemin relatif :
On peut ne spécifier qu’une partie du chemin d’accès, pour que ce
chemin soit interprété à partir du répertoire courant.

On désigne par « . » : répertoire courant


Et par « .. » : répertoire père
Aspect fichiers

Exempl
e:
répertoire courant chemin relatif
/usr/c2 ./.profile
/usr/c2/projet ./fichA
/tmp ../etc/passwd
/usr/c1 ../c2/.profile
/usr/c1 ../c2/projet/fichA
/usr/c1 ../../tmp/fich1

Cours systèmes d'exploitation évolués


Aspect fichiers

Commandes associées à un répertoire

mkdir répertoire [make directory] crée un répertoire.

rmdir répertoire [remove directory] détruit le répertoire si il est vide


et si ce n’est pas votre répertoire courant.

cd répertoire [change directory] change de répertoire courant. Sans


argument rapatrie dans le répertoire de connexion.

pwd [print working directory] affiche le chemin absolu du répertoire


courant.
C. Génération de noms de fichiers

Certains caractères spéciaux sont interprétés par le shell, et permettent de décrire les
noms de fichiers. Ce sont des méta−caractères (c’est−à−dire des caractères utilisés
pour décrire d’autres caractères) :
• Le caractère ’*’ signifie n’importe quelle chaîne de caractères.
• Le caractère ’?’ signifie n’importe quel caractère.
• Les crochets ’[]’ signifient un caractère appartenant à un ensemble de valeurs
décrites dans les crochets.
•Le caractère ’−’ utilisé avec les crochets permet de définir un intervalle,
plutôt qu’un ensemble de valeurs.
•Le caractère ’!’ utilisé entre crochets en première position, signifie tout
caractère excepté ceux spécifiés entre crochets.
Exemples

f* Tous les fichiers dont le nom commence par ’f’.

f? Tous les fichiers dont le nom commence par ’f’, suivi d’un seul
caractère quelconque.

f[12xy] Tous les fichiers dont le nom commence par ’f’, suivi d’un
caractère à choisir parmi ’1, ’2’, ’x’ ou ’y’.

f[a−z] Tous les fichiers dont le nom commence par ’f’, suivi d’un
caractère dont le code ASCII est compris entre le code ’a’ et le code
’z’, donc une lettre minuscule.
*.c Tous les fichiers dont le nom se termine par ’.c’

?.c Tous les fichiers dont le nom est formé d’un caractère quelconque,
suivi de ’.c’

?? Tous les fichiers dont le nom est formé de deux caractères.


*.[A−Za−z] Tous les fichiers dont le nom se termine par un ’.’ suivi
d’une seule lettre majuscule ou minuscule.
*.[ch0−9] Tous les fichiers dont le nom se termine par un ’.’ suivi
d’un seul caractère à choisir parmi ’c’, ’h’, ou un chiffre entre ’0’ et
’9’.
[!f]* Tous les fichiers dont le nom ne commence pas par ’f’
*[!0−9] Tous les fichiers dont le nom ne se termine pas par un
chiffre.
D. Encore quelques commandes

find parcourt une arborescence en sélectionnant des fichiers selon des critères de
recherche, et en exécutant des actions sur chaque fichier sélectionné.

find répertoire critères_de_recherche actions

Exemple :
$ find /usr/c1 −name agenda −print

ici la commande find part du répertoire /usr/c1, parcourt toute la


sous−arborescence en recherchant les fichiers qui ont pour nom agenda, et
affiche sur la sortie standard le chemin absolu de chaque fichier trouvé.
type commande ...
Donne le chemin absolu du fichier exécuté lorsque vous tapez commande.
Sinon, indique que la commande est interne au shell.

Exemple :
$ type find pg
find is /bin/find
pg is /usr/bin/pg
$ type umask
umask is a shell
builtin
$
file fichier
affiche le type du fichier (exécutable, répertoire, ASCII ...). En l’utilisant avant de
visualiser le contenu d’un fichier cela évite d’afficher un contenu binaire.
Exemple :
$ file /bin/ls /etc/passwd /usr/c1
/bin/ls: demand paged pure executable
/etc/passwd: ascii text
/usr/c1: directory
$
test option fichier
Vérifie le fichier selon l’une des options suivantes :
−f fichier normal
−d répertoire
−w autorisé en écriture
−r autorisé en lecture
−x autorisé en exécution
−s taille du fichier supérieure à 0
test retourne 0 en cas de succès, 1 en cas d’échec. Cette valeur peut être consultée grâce à la
variable automatique « ? ».
sum fichier
Calcule et affiche une somme de contrôle pour un fichier (intégrité des
fichiers).

diff fichier1 fichier2


Affiche les lignes différentes devant être modifiées pour que les deux fichiers
soient identiques.

touch fichier
Modifie la date de dernière modification du fichier, celle−ci devient égale à la
date à laquelle la commande a été exécutée. Si le fichier n’existe pas, il sera
créé (et de taille nulle) sauf si l’option c est utilisée.
ln fichier1 fichier2 [link] établit un nouveau lien sur le fichier
fichier1.

ls −F affiche les noms de fichiers suivis du caractère’/’ s’il s’agit d’un


répertoire, et du caractère ’*’ s’il s’agit d’un fichier ayant la
permission d’exécution.
ls −C affiche les noms de fichiers par colonnes.
cp fichier ... rép copie tous les fichiers fichier ... Dans le répertoire
rép.
mv fichier ... rép déplace tous les fichiers fichier ... dans le répertoire
rép.

Vous aimerez peut-être aussi