BAC PRO MRIM decouvertelinux.doc 15/04/2015
Page 1 sur 20
DECOUVERTE DE LINUX
A/ INTRODUCTION
1/ Historique et génèse de Linux
Linus B.Torvalds est à l'origine de ce système d'exploitation entièrement libre. Au début des
années 90, il voulait mettre au point son propre système d'exploitation pour son projet de fin
d'étude. Linus Torvalds avait pour intention de développer une version d'UNIX pouvant être
utilisé sur une architecture de type 80386. Le premier clone d'UNIX fonctionnant sur PC a été
Minix, écrit par Andrew Tanenbaum, un système d'exploitation minimal pouvant être utilisé sur
PC. Linus Torvalds décida donc d'étendre les possibilités de Minix, en créant ce qui allait devenir
Linux. Amusées par cette initiative, de nombreuses personnes ont contribué à aider Linus
Torvalds à réaliser ce système, si bien qu'en 1991 une première version du système a vu le jour.
C'est en mars 1992 qu'a été diffusée la première version ne comportant quasiment aucun bug.
Avec le nombre croissant de développeurs travaillant sur ce système, celui-ci a rapidement pu
intégrer des redéveloppements libres des outils présents sous les systèmes UNIX commerciaux.
De nouveaux outils pour Linux apparaissent désormais à une vitesse vertigineuse.
L'originalité de ce système réside dans le fait que Linux n'a pas été développé dans un but
commercial. En effet aucune ligne de code n'a été copiée des systèmes UNIX originaux (en effet
Linux s'inspire de nombreuses versions d'UNIX commerciales: BSD UNIX, System V.). Ainsi,
tout le monde, depuis sa création, est libre de l'utiliser mais aussi de l'améliorer.
2/ Notions de noyau et de distribution
Linux est architecturé autour d'un noyau (en anglais kernel) chargé de prendre en charge le
matériel. On appelle distribution l'assemblage d'un ensemble de logiciels autour d'un noyau Linux
afin de fournir un système clé en main. Le noyau d'une distribution peut-être mis à jour afin de
permettre la prise en compte de matériels récents, toutefois cette manipulation consistant à
recompiler le noyau est délicate car elle nécessite un certain niveau de connaissance du système
et du matériel. La recompilation du noyau est à réserver aux spécialistes ou bien aux utilisateurs
prêts à rendre inutilisable leur système dans le but d'apprendre.
La plupart des distributions proposent également une installation graphique qui leur est propre
ainsi qu'un système de gestion de paquetages permettant d'installer automatiquement des
logiciels en gérant les dépendances (les logiciels sous Linux sont parfois liés à des librairies
externes ou s'appuient sur d'autres logiciels).
Chaque distribution possède ses avantages et ses inconvénients. En effet si certaines sont plus
adaptées à des débutants et proposent des interfaces graphiques évoluées, d'autres privilégient
la sécurité ou l'évolutivité. Les distributions les plus connues sont:
La distribution RedHat ;
La distribution Debian ;
La distribution SuSe ;
La distribution Knoppix ;
La distribution Slackware ;
La distribution Mandriva.
BAC PRO MRIM decouvertelinux.doc 15/04/2015
Page 2 sur 20
3 Les caractéristiques du système
Linux est un système d'exploitation proche des systèmes UNIX pouvant être exécuté sur
différentes plates-formes matérielles : x86 (c'est-à-dire des plates-formes à base de
processeurs Intel, AMD, etc.), Sparc, PowerPC, Alpha, ARM, etc. Ainsi le système Linux peut
fonctionner aussi bien sur des ordinateurs personnels que des consoles de jeu ou des assistants
personnels !
Linux est ainsi un système multi plate-forme. Il est également multi-utilisateurs (plusieurs
personnes peuvent en même temps travailler sur le même ordinateur), mais aussi multi-tâches
(plusieurs applications peuvent être lancées en même temps sans qu'aucune n'affecte les autres)
et multi-processeurs.
Linux est considéré comme un système fiable, robuste et puissant. Il est d'ailleurs capable de
fonctionner avec très peu de ressources sur des ordinateurs bas de gamme très peu puissants.
Le système Linux possède notamment les avantages suivants :
Le support des standards de l'internet, c'est-à-dire des protocoles TCP/IP, la famille de
protocoles utilisée sur Internet. Linux est donc un moyen gratuit de créer un réseau
local, de se connecter à Internet et de mettre en place un serveur.
Une sécurité accrue due à la transparence de son code source et de la réactivité de la
communauté lors des annonces de vulnérabilités.
Un cloisonnement des espaces mémoire et de l'espace disque couplé à une gestion pointue
des droits permettant de gérer un grand nombre d'utilisateurs avec un niveau de risque
minimal.
Un noyau entièrement configurable en fonction du matériel de la machine sur laquelle le
système est installé afin de maximiser les performances.
4 Le système X
X est une interface graphique, qui a été développée au MIT, permettant de créer des
applications graphiques fonctionnant sur diverses plateformes.
X-Window est l'interface graphique des stations UNIX. X-Window est en quelque sorte aux
systèmes Unix ce que l'interface Windows est au DOS (n'allez surtout pas dire X-windows au
risque de vous faire massacrer par un fanatique d'UNIX). L'avantage majeur de ce système est
l'utilisation d'une interface graphique en complément à certaines commandes.
Sous Linux il existe une implémentation libre du système X-Window appelée XFree86. XFree86
supporte un nombre très important de cartes vidéos, mais certaines ne sont pas supportées.
Toutefois avec la communauté du libre, le portage des pilotes des nouvelles cartes graphiques est
de plus en plus rapide !
BAC PRO MRIM decouvertelinux.doc 15/04/2015
Page 3 sur 20
B/ LE SHELL
1/ Introduction au shell
L'interpréteur de commandes est l'interface entre l'utilisateur et le système d'exploitation,
d'où son nom anglais «shell», qui signifie «coquille».
Le shell est ainsi chargé de faire l'intermédiaire le système d'exploitation et l'utilisateur grâce
aux lignes de commandes saisies par ce dernier. 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.
Le shell est ainsi un fichier exécutable chargé d'interpréter les commandes, de les transmettre
au système et de retourner le résultat. Il existe plusieurs shells, les plus courants étant sh
(appelé «Bourne shell»), bash («Bourne again shell»), csh («C Shell»), Tcsh («Tenex C shell»), ksh
(«Korn shell») et zsh («Zero shell»). Leur nom correspond généralement au nom de l'exécutable.
Chaque utilisateur possède un shell par défaut, qui sera lancé à l'ouverture d'une invite de
commande. Le shell par défaut est précisé dans le fichier de configuration /etc/passwd dans le
dernier champ de la ligne correspondant à l'utilisateur. Il est possible de changer de shell dans
une session en exécutant tout simplement le fichier exécutable correspondant, par exemple :
/bin/bash
2/ Invite de commande (prompt)
Le shell s'initialise en lisant sa configuration globale (dans un fichier du répertoire /etc/), puis
en lisant la configuration propre à l'utilisateur (dans un fichier caché, dont le nom commence par
un point, situé dans le répertoire de base de l'utilisateur, c'est-à-dire
/home/nom_de_l_utilisateur/.fichier_de_configuration), puis il affiche une invite de commande
(en anglais prompt) comme suit :
machine:/repertoire/courant$
Par défaut dans la plupart des shells le prompt est composé du nom de la machine, suivi de deux
points (:), du répertoire courant, puis d'un caractère indiquant le type d'utilisateur connecté :
«$» indique qu'il s'agit d'un utilisateur normal
«#» indique qu'il s'agit de l'administrateur, appelé «roo
BAC PRO MRIM decouvertelinux.doc 15/04/2015
Page 4 sur 20
3/ Notion de ligne de commande
Une ligne de commande est une chaîne de caractère constituée d'une commande, correspondant à
un fichier exécutable du système ou bien d'une commande du shell ainsi que des arguments
(paramètres) optionnels :
ls -al /home/jf/
Dans la commande ci-dessus, ls est le nom de la commande, -al et /home/jean-francois/ sont des
arguments. Les arguments commençant par - sont appelés options. Pour chaque commande il
existe généralement un certain nombre d'options pouvant être détaillées en tapant une des
commandes suivantes :
commande
--help
commande
-?
man
commande
4/ Entrées-sorties standard
Lors de l'exécution d'une commande, un processus est créé. Celui-ci va alors ouvrir trois flux :
stdin, appelée entrée standard, dans lequel le processus va lire les données d'entrée. Par
défaut stdin correspond au clavier ; STDIN est identifié par le numéro 0 ;
stdout, appelée sortie standard, dans lequel le processus va écrire les données de sortie.
Par défaut stdin correspond à l'écran ; STDOUT est identifié par le numéro 1 ;
stderr, appelée erreur standard, dans lequel le processus va écrire les messages
d'erreur. Par défaut stderr correspond à l'écran. STDERR est identifié par le numéro 2 ;
Par défaut lorsque l'on exécute un programme, les données sont donc lues à partir du clavier et
le programme envoie sa sortie et ses erreurs sur l'écran, mais il est possible de lire les données à
partir de n'importe quel périphérique d'entrée, voire à partir d'un fichier et d'envoyer la sortie
sur un périphérique d'affichage, un fichier, etc.
5/ Redirections
Linux, comme tout système de type Unix, possède des mécanismes permettant de rediriger les
entrées-sorties standards vers des fichiers.
Ainsi, l'utilisation du caractère " > " permet de rediriger la sortie standard d'une commande
située à gauche vers le fichier situé à droite :
ls -al /home/jf/ > toto.txt
echo "Toto" > /etc/
monfichierdeconfiguration
BAC PRO MRIM decouvertelinux.doc 15/04/2015
Page 5 sur 20
La commande suivante est équivalente à une copie de fichiers :
cat toto > toto2
La redirection > " a pour but de créer un nouveau fichier. Ainsi, si un fichier du même nom
existait, celui-ci sera écrasé. La commande suivante crée tout simplement un fichier vide :
> fichier
L'emploi d'un double caractère " >> " permet de concaténer la sortie standard vers le fichier,
c'est-à-dire ajouter la sortie à la suite du fichier, sans l'écraser.
De manière analogue, le caractère " < " indique une redirection de l'entrée standard. La
commande suivante envoie le contenu du fichier toto.txt en entrée de la commande cat, dont le
seul but est d'afficher le contenu sur la sortie standard (exemple inutile mais formateur) :
cat < toto.txt
Enfin l'emploi de la redirection " << " permet de lire sur l'entrée standard jusqu'à ce que la
chaîne située à droite soit rencontrée. Ainsi, l'exemple suivant va lire l'entrée standard jusqu'à
ce que le mot STOP soit rencontré, puis va afficher le résultat :
cat << STOP
6/ Tubes de communication (pipes)
Les tubes (en anglais " pipes ", littéralement tuyaux) constituent un mécanisme de communication
propre à tous les systèmes UNIX. Un tube, symbolisé par une barre verticale (caractère «|»),
permet d'affecter la sortie standard d'une commande à l'entré standard d'une autre, comme un
tuyau permettant de faire communiquer l'entrée standard d'une commande avec la sortie
standard d'une autre.
Ainsi dans l'exemple suivant, la sortie standard de la commande ls -al est envoyée sur le
programme sort chargé de trier le résultat par ordre alphabétique :
ls -al | sort
Il est possible de cette façon de chaîner un certain nombre de commandes par tubes successifs.
Dans l'exemple suivant la commande affiche tous les fichiers du répertoire courant, sélectionne
les lignes contenant le mot "zip" (grâce à la commande grep) et compte le nombre de lignes total :
ls -l | grep zip | wc -l
1 / 20 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !