Le système d'exploitation est le logiciel le plus important d'un ordinateur. C’est un ensemble de programmes qui permettent l'utilisation de l'ordinateur et la gestion de ses ressources (processeurs, mémoires, disques, périphériques, communication interprocessus et inter-machines, …etc.).
…
2. UNIX
2.1 Historique
Unix est né aux laboratoires Bell en 1969, Développé par Ken Thompson et Dennis Ritchie (le premier à avoir développé le langage C).
En 1973, Unix a pu être réécrit, presque entièrement, en C ( pour faciliter la Portabilité)
Code source vendu à un prix bas aux sociétés.
Plusieurs sociétés ( IBM , Sun ,…) se sont intéressées au système et elles ont repris son développement pour avoir leur propre version ( Solaris:Sun , AIX:IBM, HP-UX: HP, FreeBSD:Université de Berkely ,…)
2.2 Caractéristiques d’Unix :
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)
C’est le système le plus utilisé (Dans les universités, les centres de recherches, les serveurs d’Internet, …)
Unix produit commercial (système payant)
Remarque : L’objectif des chercheurs dans le temps était de rendre UNIX accessible sans frais.
3. LINUX : Linux est une version librement diffusable de l’Unix.
3.1 Historique
En 1991, En Finlande un autre noyau était disponible : c’est « Linux » par Linus Torvalds (jeune étudiant à l’université d’Helsinki, né le 28/12/1969)
Des milliers de personnes participent à son développement
Code source est disponible sur Internet (logiciel libre et gratuit)
Remarque : Le nom LINUX peut signifier, au choix :
LINUs uniX
Linux Is Not UniX
3.2 Logiciel libre
Logiciel libre = Logiciel Open Source
Un logiciel libre est un logiciel dont la licence prévoit:
La disponibilité des codes sources.
La possibilité de modifier, améliorer, adapter le logiciel sous réserve que ces modifications soient rendues accessibles à toute personne intéressée.
La possibilité de copier et de diffuser le logiciel sous réserve que les termes de la licence ne soient pas modifiés.
Le noyau (ou kernel) développer par Linus Torvalds est l’élément essentiel de toutes les distributions Linux existantes.
Chaque distribution essaye d’offrir de la valeur ajoutée sous la forme des outils d’installation et d’administration.
Une distribution Linux = noyau + outils d’installation + outils d’administration
+ un ensemble de logiciels d’application
3.4 Exemples des distributions
Red Hat Linux (USA www.redhat.com) [05 CD]
Mandrake Linux (France www.linux-mandrake.com)
SuSE Linux (Allemagne www.suse.com)
Debian (Internet www.debian.org) [23 CD d’installation]
Fedora:(www.fedora.org) [ version libre de Red Hat ]
Ubuntu(www.ubuntu.com) [version de debian]
KNOPPIX, slackware, Mandriva…
3.5 Domaines d’utilisation de Linux ?
Station de travail : Multimédia et bureautique (openoffice, koffice,...)
Réseaux et Internet : serveur Web (Apache), messagerie (sendmail), Explorateur (FireFox de Mozila)….
Développement : C/C++, Delphi, Java, PHP,…
SGBD ( Oracle, Informix, MySQL, PostgreSQL,…)
Recherche scientifique
…
...
Chapitre 2 Le Système Linux
1. Accès à la Machine sous Linux
Le système linux étant un système multi-utilisateur, pour y a accéder on doit entrer un nom et mot de passe utilisateur.
Utilisateur simple : droits restreints et chaque utilisateur possède un répertoire de travail.
Super Utilisateur ou Administrateur (root) : tous les droits.
b) Organisation d’utilisateurs en groupes: chaque utilisateur doit appartenir à un groupe
c) Connexion au système : login/passaword requis et la connexion se fait de deux mode différents :
Mode texte ou console (exécution des commandes Shell)
Mode graphique (à l’aide du serveur de graphisme X-Window)
2. Position du noyau Linux dans une distribution
Noyau Linux : ensemble de programmes pour gérer la machine et ses ressources
Shell : Interpréteur de commandes
Pilotes: Drivers des périphériques (disques durs, carte graphique, carte réseau, imprimantes,…)
Logiciels d’applications : différents logiciels
- X-Window : pour fournir un environnement de graphisme
- KDE et Gnome : pour gérer l’interface graphique (fenêtres,…)
- …
3. Le Shell :
C'est l'interface entre les utilisateurs et le système. Le Shell est un interpréteur qui exécute les commandes une à une après traduction de l'instruction (écrit en langage évolué) en langage interne (langage machine).
… … …
4. La distribution Red Hat:
a) Connexion en mode graphique : voir interface graphique
b) Connexion en mode texte : Si les login/password sont valides alors un message de la forme
~ : caractère spécial désigne le répertoire de travail de l’utilisateur connecté
Le signe $ : indique que vous êtes en un simple utilisateur
Le signe # : indique que vous êtes en mode super-user.
5. L’invité de commandes (utilisation du Shell)
5.1 Syntaxe d’une commande :
Commande [option] [paramètres]
Option : 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 „ ;’
5.2 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
man nom-commande :
manuel pour afficher une page d’aide (forme de commande, option,...)
exemple : man man : plus d’information sur l’utilisation du man
Remarque : commande --help ou commande -h : une option commune à la majorité des commandes pour afficher l’aide (exp : ls --help, man -h)
adduser user1 : ajoute l’utilisateur user1
passwd user1 : pour donner ou changer le mot de passe user1
addgroup grp1 : ajoute le groupe grp1
adduser user1 grp1 : ajoute l’utilisateur user1 au groupe grp1
groupadd grp2 : crée un groupe grp2
chgrp grp2 user1 : le groupe de user1 est maintenant grp2
userdel : pour supprimer un utilisateur ;
groupdel : pour supprimer un utilisateur ;
adduser –ingroup grp1 user1 : crée un utilisateur user1 dont le groupe principal est grp1 (consulter les fichiers : /etc/passwd, etc/group, /etc/shadow)
su user1 : bascule vers l’utilisateur user1
su - : bascule vert le super-utilisateur (administrateur)
ifconfig eth0 192.168.10.10 : configure la carte reseau ethernet eth0 et lui affecte l’adresse indiquée.
mount –t vfat /dev/hdc1 /mnt/hd1 : montage de la partition 1 du disk 3 sur le répertoire /mnt/hd1, si le point de mount est déclare dans /etc/fstab, l’utilisateur peut le monter, s’il lui est permis. Autrement il faut être (unmount pour démonter)
Exemple : pour lire un CDROM
Consulter le fichier fstab (par cat /etc/fstab) pour savoir si le point de montage (dans notre cas, c’est /dev/hdc)
Créer un répertoire : mkdir tt (tt répertoire pour contenir le point de montage)
Monter par : mount /dev/hdc tt
Accéder au répertoire tt pour utiliser votre CDROM
Exercice : comment monter un flash disk ?
N.B : il est déconseillé de se loger en superutilisateur (root). Si à un moment donné nous avons besoin de lancer une commande d’administrateur, il suffit d’utiliser « su –» (switch user), qui permet de passer momentanément en root.
... ... ...
Chapitre 3 Prise en main du système Linux
1. Arborescence du système de fichiers :
Structure hiérarchique des fichiers et répertoires
La racine est dénoté par `/`
Les chemins sont séparés par `/`
Les noms des objets sont des séquences de maximum 255 caractères sensibles à la casse.
Il est préférable de ne pas utiliser les caractères : ?, *, &. `, ´,“,<,>
Il convient de se limiter à: - A à Z , a à z, 0 à 9, le caractère de soulignement ` _`, le tiret `-` et le point `.`
Le point ( . ) comme premier caractère d’un nom signifie un fichier caché.
Éviter des noms contenant des caractères accentués ou des blancs.
Le point ( . ) ne sépare pas forcement le nom de son extension
/boot : contient les fichiers nécessaires au démarrage du système.
/bin : contient les commandes de base (binaire)
/sbin : ontient les commandes du super utilisateur (administrateur)
/usr/bin, /usr/sbin,…: contient des fichiers binaires
/etc : contient les fichiers de configuration du système et des services
/home : contient les répertoires personnels des utilisateurs simples
/root : contient le répertoire personnel de l’administrateur.
/usr : contient le reste des programmes du système et les logiciels.
/dev: contient les noms périphériques.
/mnt/ , /media/ : contient les points de montage d`autres systèmes de fichiers. /proc : est un répertoire virtuel, n'a pas d'existence sur disque, contient les informations sur les processus. Faire par exemple cat /proc/meminfo, pour des informations sur la mémoire.
2. Quelques commandes de base :
La commande man
syntaxe : man [options] nom_de_commande
description : Elle permet d’afficher un manuel en ligne sur la commande spécifiée. Cet affichage s’effectue en mode console. La commande q permet de quitter le manuel.
options : -h : affiche l’aide concernant la commande man et donc permet notamment de savoir que q permet de quitter.
-w or --path : affiche le lieu où est stocké le fichier contenant le manuel de la commande.
La commande ls
syntaxe : ls [options] [chemin_d’un_repertoire]
description : Affiche l’ensemble des fichiers passés en argument puis la liste des fichiers contenus dans les répertoires passés en argument. Par défaut, elle affiche le répertoire courant “.”. options : -l : permet d’obtenir des informations détaillées sur chaque fichier listé (date, taille, droits, etc.).
-a : permet d’afficher tous les fichiers contenus dans un répertoire, y compris les fichiers
commençant par un point(les fichiers cachés).
-R : permet d’afficher récursivement le contenu des sous-répertoires.
--color , --color=yes: permet d’afficher les fichiers en couleur selon leur type.
--color=no : annule l’affichage en couleur des fichiers.
exemples : ls . : lister le répertoire courant
ls .. : lister le répertoire parent
ls -lrt /etc : Donne la liste des fichiers et répertoires de /etc avec les détails (option -l) trie par temps (-t) en ordre inverse (-r)
ls -l > f1.txt: le symbole « > » redirige la sortie de « ls » vers le fichier f1.txt avec écrasement. Si on utilise « > > » il y aura ajout à la fin (append).
La commande cd
syntaxe : cd [chemin]
description : Elle permet de se déplacer dans l’arborescence du système de fichier.
Le chemin peut-être absolu ou relatif.
exemples : cd .. : permet de remonter d’un cran dans l’arborescence.
cd ou cd ~ : permet de se placer directement à la racine de votre répertoire de travail.
cd - : pour retourner au répertoire précédent
cd /usr/local : déplacement selon un chemin absolu.
cd bin : déplacement selon un chemin relatif.
remarques : - chemin absolu : chemin d’accès complet à partir la racine (/)
Par exemple : /usr/local/seminaires/apprentissage/text1
- chemin relatif : spécifier le chemin d’accès relativement au répertoire courant
Par exemple :seminaires/apprentissage/text1 représente le nom relatif de text1
par rapport au répertoire courant /usr/local
Chapitre 1 Introduction & Historique
1. Système d'exploitation (OS)
1.1 Définition:
Le système d'exploitation est le logiciel le plus important d'un ordinateur. C’est un ensemble de programmes qui permettent l'utilisation de l'ordinateur et la gestion de ses ressources (processeurs, mémoires, disques, périphériques, communication interprocessus et inter-machines, …etc.).
…
2. UNIX
2.1 Historique
Unix est né aux laboratoires Bell en 1969, Développé par Ken Thompson et Dennis Ritchie (le premier à avoir développé le langage C).
En 1973, Unix a pu être réécrit, presque entièrement, en C ( pour faciliter la Portabilité)
Code source vendu à un prix bas aux sociétés.
Plusieurs sociétés ( IBM , Sun ,…) se sont intéressées au système et elles ont repris son développement pour avoir leur propre version ( Solaris:Sun , AIX:IBM, HP-UX: HP, FreeBSD:Université de Berkely ,…)
2.2 Caractéristiques d’Unix :
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)
C’est le système le plus utilisé (Dans les universités, les centres de recherches, les serveurs d’Internet, …)
Unix produit commercial (système payant)
Remarque : L’objectif des chercheurs dans le temps était de rendre UNIX accessible sans frais.
3. LINUX : Linux est une version librement diffusable de l’Unix.
3.1 Historique
En 1991, En Finlande un autre noyau était disponible : c’est « Linux » par Linus Torvalds (jeune étudiant à l’université d’Helsinki, né le 28/12/1969)
Des milliers de personnes participent à son développement
Code source est disponible sur Internet (logiciel libre et gratuit)
Remarque : Le nom LINUX peut signifier, au choix :
LINUs uniX
Linux Is Not UniX
3.2 Logiciel libre
Logiciel libre = Logiciel Open Source
Un logiciel libre est un logiciel dont la licence prévoit:
La disponibilité des codes sources.
La possibilité de modifier, améliorer, adapter le logiciel sous réserve que ces modifications soient rendues accessibles à toute personne intéressée.
La possibilité de copier et de diffuser le logiciel sous réserve que les termes de la licence ne soient pas modifiés.
Le noyau (ou kernel) développer par Linus Torvalds est l’élément essentiel de toutes les distributions Linux existantes.
Chaque distribution essaye d’offrir de la valeur ajoutée sous la forme des outils d’installation et d’administration.
Une distribution Linux = noyau + outils d’installation + outils d’administration
+ un ensemble de logiciels d’application
3.4 Exemples des distributions
Red Hat Linux (USA www.redhat.com) [05 CD]
Mandrake Linux (France www.linux-mandrake.com)
SuSE Linux (Allemagne www.suse.com)
Debian (Internet www.debian.org) [23 CD d’installation]
Fedora:(www.fedora.org) [ version libre de Red Hat ]
Ubuntu(www.ubuntu.com) [version de debian]
KNOPPIX, slackware, Mandriva…
3.5 Domaines d’utilisation de Linux ?
Station de travail : Multimédia et bureautique (openoffice, koffice,...)
Réseaux et Internet : serveur Web (Apache), messagerie (sendmail), Explorateur (FireFox de Mozila)….
Développement : C/C++, Delphi, Java, PHP,…
SGBD ( Oracle, Informix, MySQL, PostgreSQL,…)
Recherche scientifique
…
...
Chapitre 2 Le Système Linux
1. Accès à la Machine sous Linux
Le système linux étant un système multi-utilisateur, pour y a accéder on doit entrer un nom et mot de passe utilisateur.
Utilisateur simple : droits restreints et chaque utilisateur possède un répertoire de travail.
Super Utilisateur ou Administrateur (root) : tous les droits.
b) Organisation d’utilisateurs en groupes: chaque utilisateur doit appartenir à un groupe
c) Connexion au système : login/passaword requis et la connexion se fait de deux mode différents :
Mode texte ou console (exécution des commandes Shell)
Mode graphique (à l’aide du serveur de graphisme X-Window)
2. Position du noyau Linux dans une distribution
Noyau Linux : ensemble de programmes pour gérer la machine et ses ressources
Shell : Interpréteur de commandes
Pilotes: Drivers des périphériques (disques durs, carte graphique, carte réseau, imprimantes,…)
Logiciels d’applications : différents logiciels
- X-Window : pour fournir un environnement de graphisme
- KDE et Gnome : pour gérer l’interface graphique (fenêtres,…)
- …
3. Le Shell :
C'est l'interface entre les utilisateurs et le système. Le Shell est un interpréteur qui exécute les commandes une à une après traduction de l'instruction (écrit en langage évolué) en langage interne (langage machine).
… … …
4. La distribution Red Hat:
a) Connexion en mode graphique : voir interface graphique
b) Connexion en mode texte : Si les login/password sont valides alors un message de la forme
~ : caractère spécial désigne le répertoire de travail de l’utilisateur connecté
Le signe $ : indique que vous êtes en un simple utilisateur
Le signe # : indique que vous êtes en mode super-user.
5. L’invité de commandes (utilisation du Shell)
5.1 Syntaxe d’une commande :
Commande [option] [paramètres]
Option : non 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 „ ;’
5.2 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
man nom-commande :
manuel pour afficher une page d’aide (forme de commande, option,...)
exemple : man man : plus d’information sur l’utilisation du man
Remarque : commande --help ou commande -h : une option commune à la majorité des commandes pour afficher l’aide (exp : ls --help, man -h)
adduser user1 : ajoute l’utilisateur user1
passwd user1 : pour donner ou changer le mot de passe user1
addgroup grp1 : ajoute le groupe grp1
adduser user1 grp1 : ajoute l’utilisateur user1 au groupe grp1
groupadd grp2 : crée un groupe grp2
chgrp grp2 user1 : le groupe de user1 est maintenant grp2
userdel : pour supprimer un utilisateur ;
groupdel : pour supprimer un utilisateur ;
adduser –ingroup grp1 user1 : crée un utilisateur user1 dont le groupe principal est grp1 (consulter les fichiers : /etc/passwd, etc/group, /etc/shadow)
su user1 : bascule vers l’utilisateur user1
su - : bascule vert le super-utilisateur (administrateur)
ifconfig eth0 192.168.10.10 : configure la carte reseau ethernet eth0 et lui affecte l’adresse indiquée.
mount –t vfat /dev/hdc1 /mnt/hd1 : montage de la partition 1 du disk 3 sur le répertoire /mnt/hd1, si le point de mount est déclare dans /etc/fstab, l’utilisateur peut le monter, s’il lui est permis. Autrement il faut être (unmount pour démonter)
Exemple : pour lire un CDROM
... ... ...
Chapitre 3 Prise en main du système Linux
1. Arborescence du système de fichiers :
Structure hiérarchique des fichiers et répertoires
La racine est dénoté par `/`
Les chemins sont séparés par `/`
Les noms des objets sont des séquences de maximum 255 caractères sensibles à la casse.
Il est préférable de ne pas utiliser les caractères : ?, *, &. `, ´,“,<,>
Il convient de se limiter à: - A à Z , a à z, 0 à 9, le caractère de soulignement ` _`, le tiret `-` et le point `.`
Le point ( . ) comme premier caractère d’un nom signifie un fichier caché.
Éviter des noms contenant des caractères accentués ou des blancs.
Le point ( . ) ne sépare pas forcement le nom de son extension
/boot : contient les fichiers nécessaires au démarrage du système.
/bin : contient les commandes de base (binaire)
/sbin : ontient les commandes du super utilisateur (administrateur)
/usr/bin, /usr/sbin,…: contient des fichiers binaires
/etc : contient les fichiers de configuration du système et des services
/home : contient les répertoires personnels des utilisateurs simples
/root : contient le répertoire personnel de l’administrateur.
/usr : contient le reste des programmes du système et les logiciels.
/dev: contient les noms périphériques.
/mnt/ , /media/ : contient les points de montage d`autres systèmes de fichiers. /proc : est un répertoire virtuel, n'a pas d'existence sur disque, contient les informations sur les processus. Faire par exemple cat /proc/meminfo, pour des informations sur la mémoire.
2. Quelques commandes de base :
La commande man
syntaxe : man [options] nom_de_commande
options : -h : affiche l’aide concernant la commande man et donc permet notamment de savoir que q permet de quitter.
-w or --path : affiche le lieu où est stocké le fichier contenant le manuel de la commande.
La commande ls
syntaxe : ls [options] [chemin_d’un_repertoire]
description : Affiche l’ensemble des fichiers passés en argument puis la liste des fichiers contenus dans les répertoires passés en argument. Par défaut, elle affiche le répertoire courant “.”. options : -l : permet d’obtenir des informations détaillées sur chaque fichier listé (date, taille, droits, etc.).
-a : permet d’afficher tous les fichiers contenus dans un répertoire, y compris les fichiers
commençant par un point(les fichiers cachés).
-R : permet d’afficher récursivement le contenu des sous-répertoires.
--color , --color=yes: permet d’afficher les fichiers en couleur selon leur type.
--color=no : annule l’affichage en couleur des fichiers.
exemples : ls . : lister le répertoire courant
ls .. : lister le répertoire parent
ls -lrt /etc : Donne la liste des fichiers et répertoires de /etc avec les détails (option -l) trie par temps (-t) en ordre inverse (-r)
ls -l > f1.txt: le symbole « > » redirige la sortie de « ls » vers le fichier f1.txt avec écrasement. Si on utilise « > > » il y aura ajout à la fin (append).
La commande cd
syntaxe : cd [chemin]
description : Elle permet de se déplacer dans l’arborescence du système de fichier.
Le chemin peut-être absolu ou relatif.
exemples : cd .. : permet de remonter d’un cran dans l’arborescence.
cd ou cd ~ : permet de se placer directement à la racine de votre répertoire de travail.
cd - : pour retourner au répertoire précédent
cd /usr/local : déplacement selon un chemin absolu.
cd bin : déplacement selon un chemin relatif.
remarques : - chemin absolu : chemin d’accès complet à partir la racine (/)
- chemin relatif : spécifier le chemin d’accès relativement au répertoire courant
Par exemple :seminaires/apprentissage/text1 représente le nom relatif de text1