Vous êtes sur la page 1sur 6

UNIVERSITAIRE DE BORDJ BOU ARRERIDJ Licence 2 : informatique.

FACULTE MATHEMATIQUE & INFORMATIQUE Semestre : 2


DÉPARTEMENT INFORMATIQUE Matière : Système d’exploitation 1.

Série TP n°1

Remarque : sous linux (comme sous tout système Unix) les minuscules et les majuscules ne sont pas
équivalentes
Unix & Linux
Unix est né aux laboratoires Bell (Filial d’AT&T) en 1969,
développé par Ken Thompson et Dennis Ritchie. En 1973,
Unix a pu être réécrit, presque entièrement, en C  Portabilité
(code source vendu a un prix bas, plusieurs sociétés ( IBM ,
Sun ,…) se sont intéressé au système et il ont repris son
développement pour avoir leur propres version ( Solaris : Sun ,
AIX : IBM, HP-UX: HP ,FreeBSD : Université de Berkely
,…).
• Basé sur le principe tout est fichier.
• multi-tâches en temps partagé
• multi-utilisateurs
• Utilisation du shell comme interpréteur de commandes
• La configuration du système est stockée sous forme de texte
• Disponibilité sur un large gamme d’architecture matérielle (du PC jusqu’au Super calculateur
massivement parallèle)
Linux est un système d'exploitation de type UNIX, Le plus connu est évidemment linux un UNIX-like c’est à
dire une réécriture d’UNIX.
Richard Stallman était alors chercheur en intelligence artificielle au MIT. Il voulait créer un nouveau système
d'exploitation fonctionnant comme Unix (les commandes restant les mêmes). Stallman avait posé la question :
pourquoi pas les logiciels utilisateurs soient libres, gratuits,... ? Pourquoi vouloir créer une "copie" d'Unix ?
Parce qu'Unix était payant et devenait de plus en plus cher ! Richard Stallman a voulu réagir en proposant une
alternative gratuite : le projet GNU (General Public License ou GNU GPL).

En 1991, Linus Torvalds, un étudiant de l'Université de Helsinki en Finlande, entreprend de créer son propre
système d'exploitation sur son temps libre. Ce système a pris le nom de Linux, en référence au nom de son
créateur (Linux est la contraction de Linus et Unix). Il se trouve que ces 2 projets étaient complémentaires :
tandis que Richard Stallman créait les programmes de base (programme de copie de fichier, suppression de
fichier, éditeur de texte), Linus s'était lancé dans la création du "coeur" d'un système d'exploitation (le noyau).
Le projet GNU (programmes libres : programme dont on peut avoir le code source, donc la plupart du temps un

1
programme gratuit. Mais c'est aussi un programme qu'on a le droit de copier, modifier, redistribuer) et Linux
(noyau d'OS) ont fusionné pour créer GNU/Linux.

Versions linux

Qu’est-ce qu’un shell ?


Sous Unix ou Linux : c’est un interpréteur de commande (l'interface entre l'utilisateur et le système
d'exploitation, d'où son nom anglais «shell», qui signifie «coquille».) la partie du système d’exploitation. Son
rôle consiste ainsi à lire la ligne de commande, interpréter sa signification, exécuter la commande, puis
retourner le résultat sur les sorties.
Organisation du système
Sous Unix, ‘’tout est fichier’’. Cela signifie qu’un disque, une mémoire, un lecteur de disquette, un lecteur de
bande, la sortie d’un processus sont tous vus par le système comme des fichiers. Il est fondamental que ces
fichiers soient ordonnés. Le système de fichiers sous linux est organisé de manière arborescente, comme le
montre la figure suivante :

2
Répertoire description
/ Répertoire "racine", point d'entrée du système de fichiers
/boot Répertoire contenant le noyau Linux et l'amorceur
/bin Répertoire contenant les exécutables de base, comme par exemple cp, mv, ls, etc.
Répertoire contenant des fichiers spéciaux nommés devices qui permettent le lien
/dev
avec les périphériques de la machine
/etc Répertoire contenant les fichiers de configuration du système
Répertoire contenant les fichiers personnels des utilisateurs (un sous-répertoire
/home
par utilisateur)
/lib Répertoire contenant les librairies et les modules du noyau (/lib/modules)
Répertoire contenant les « points de montage » des médias usuels : CD, DVD,
/media
disquette, clef USB
/root Répertoire personnel de l'administrateur
/sbin Répertoire contenant les exécutables destinés à l'administration du système
/tmp Répertoire contenant des fichiers temporaires utilisés par certains programmes
Répertoire contenant les exécutables des programmes (/usr/bin et /usr/sbin),
/usr la documentation (/usr/doc), et les programmes pour le serveur graphique
(/usr/X11R6).
Répertoire contenant les fichiers qui servent à la maintenance du système (les
/var
fichiers de journaux notamment dans /var/log)
/usr : (abréviation de Unix System Ressources) Répertoire d'installation des logiciels.
/lib : (abréviation de library ) Bibliothèques partagées entre différentes applications permettant leur bon fonctionnement.
/etc : (abréviation de Editing Text Config) Contient tous les fichiers de configuration du système.
/boot : Contient les fichiers de configuration du gestionnaire de démarrage (Grub/Lilo) et les informations nécessaires à
son bon fonctionnement.
/lost+found : Les résumés de scandisk sont stockés ici

CYGWIN
Cygwin est un environnement UNIX pour Windows composé:

 d'un shell Unix


 d'une librairie dynamique (DLL) chargée de fournir une couche d'émulation Unix pour
le système Windows
 d'un ensemble de librairies, sources et exécutables adaptés à Cygwin et prêt à l'emploi
Cela permet de compiler la majorité des applications Linux sous Windows, de travailler avec un véritable shell
Unix
Commandes Linux

3
- 1. Lancer votre Shell Linux ? ou votre Cygwin
- 2. un message de la forme suivante sera affiché: [user@machine ~ ]$
user : le nom de l`utilisateur connecte
machine : le nom de la machine.
~ : caractère spécial désigne le répertoire de travail de l`utilisateur connecte
Le signe $ indique que vous êtes un simple utilisateur
Le signe # indique que vous êtes en mode super-user
- 3. Syntaxe d`une commande : $nom-commande [ option ] [paramètres ..]
 Options : non nécessaires pour exécuter la commande
 Paramètres : arguments nécessaires pour exécuter la commande
 Les trois champs sont séparés par des espaces
 Plusieurs commandes sur la même ligne : séparer par ‘;’
- 4. Quelques commandes : - date : Afficher la date et l’heure.
– cal : afficher un calendrier.
– uname : afficher le nom et les caractéristiques du système.
– passwd : modifier son mot de passe.
– who i am : qui-suis-je ?
– whoami : qui-suis-je ?
– id : mes groupes.
– users : utilisateurs connectés.
– who : utilisateurs connectés.
– w : utilisateurs connectés.
– last : historique de connexion/redémarrage.
Manipulation des repertoires
• mkdir Créer un répertoire.
• rmdir Supprimer un répertoire.
• cd Changer de répertoire.
• pwd Afficher le répertoire du travail.
Exemple mkdir : Crée votre répertoire vide, Il faut tenir compte de l'endroit où on est quand on crée un
répertoire si le nom_de_répertoire est relatif (c-a-d ne commence pas par / ). $ mkdir [option] rep1 rep2...repn
$mkdir dossier.
Exemple : rmdir : Remove Directory, suppression d'un répertoire vide. Syntaxe: $rmdir nom_répertoire.
Exemple : cd : Change Directory, allé vers un autre répertoire. Syntaxe : $cd [options] [nom_répertoire]
- $cd : aller au répertoire de connexion. - $cd .. : aller au répertoire parent du répertoire courant.
- $cd - : aller au répertoire de travail précèdent. - $cd /usr/share/ : aller au répertoire /usr/share/
- $cd ~ : vous place dans le répertoire racine de l’utilisateur. - $cd / : répertoire racine.

4
Manipulation des fichiers
• ls affiche les attributs d’un fichier.
• cp Copier des fichiers.
• touch Créer un fichier
• file Connaître le type d’un fichier
• rm Supprimer des fichiers.
• mv Changer le nom d’un fichier ou le déplacer
ls : afficher la LiSte des objets de l'endroit indiqué. Syntaxe : $ ls [options] [paramètres]
Exemples: $ls, $ls -a, $ls -al, $ls -i, $ls -ail.
cp : copier des objets d'une source vers une destination. Syntaxe : $cp [options ] source destination
cp nom de fichier /home/moh/file
cp tmp/nom de fichier /home/moh/file
touch : créer un fichier vide : Si le nom n’existe pas alors il sera créer
Si le nom existe alors ça date de modification sera changée .
Syntaxe : $ touch nom_fichier Exemple : $touch linux.txt
$ls  linux.txt
file : afficher le type du fichier donné en paramètre.
Syntaxe : $file nom_fichier Exemple : $file REDAME
mv : déplacer ou renommer un fichier. Syntaxe : $mv - [ options ] source destination
Le fichier fichier2 sera créé s’il n’existait pas est sont contenu sera perdu s’il existait
Options : i : demander la confirmation.
rm : ReMove : supprimer un fichier Attention! Le fichier ne peut pas être récupérer
● Syntaxe : $rm [option ] fichier
● Option : -i demande de confirmation ( souhaitable)
-f pour pour forcer la suppression
-R ou –r pour effacer le contenu d’un répertoire en récursif

Prenez l’habitude d’organiser votre compte en répertoires dans lesquels vous rangerez vos fichiers. Il est
vivement conseillé d’utiliser des noms significatifs pour vos répertoires et vos fichiers.
. L'astérisque ou étoile: *
– interprété comme toute suite de caractères alphanumériques
– utiliser avec précaution (commande rm par ex...)
• Le point d’interrogation: ?
– remplace 1 seul caractère alphanumérique.
. Le point-virgule: ;
– Séparateur de commandes.
• Les crochets: []
– Remplace un caractère choisi parmi ceux énumérés entre les crochets

Exercice 01
- Dans votre répertoire courant, créez en une commande les fichiers suivants:

5
annee1 Annee2 annee4 annee45 annee41 annee510.
- L’historique des différentes commandes que vous utilisez permet de rappeler ces commandes avec les
(touches) flèches. Cela vous évitera d’avoir à retaper une ligne de commande entière si vous faites une faute
de frappe. Cet historique se trouve dans le fichier .bash_history. Regardez son contenu.
- Renommez votre répertoire en TP01
- Placez-vous dans le répertoire TP01. Quelle est la taille des fichiers qu’il contient ?.
Exercice 02
Créer le répertoire Year dans votre répertoire courant, en une commande déplacez les fichiers précédemment
créés dans le répertoire Year. Par un seule command.