Fork me on GitHub

Introduction à Linux

L’objectif de ce cours est de découvrir le fonctionnement et les possibilités du système d’exploitation Linux.

Préambule

Pourquoi étudier Linux ?

Linux (également appelé GNU/Linux) est un système d’exploitation appartenant à la famille UNIX. Il est l’un des représentants emblématiques des logiciels libres qui garantissent à leurs utilisateurs la liberté d’étude, d’adaptation et de modification. Le code source de Linux est consultable, modifiable et redistribuable à loisir.

Pourquoi l’étudier ? Tout simplement parce que Linux est utilisé dans de nombreux types de matériels, du supercalculateur au téléphone portable en passant bien sûr par les serveurs de l’Internet. En effet, Linux présente de nombreuses qualités :

Un nombre croissant de grandes sociétés (IBM, ORACLE…) parient sur Linux. Il est à l’origine du système d’exploitation Android installé sur de très nombreux terminaux portables.

Histoire de Linux

La toute première version de Linux a été créée en 1991 par un étudiant finlandais nommé Linus Torvalds. Mis à disposition du public, ce système a suscité l’intérêt d’un nombre croissant de personnes qui ont voulu participer à son développement. Ce succès ne s’est pas démenti jusqu’à aujourd’hui, où des milliers de développeurs salariés ou bénévoles travaillent à l’amélioration du système.

Les différentes versions de Linux

La philosophie défendue par Linux implique que chacun peut adapter le système à ses besoins, à condition de rendre les modifications publiques (principe de la licence GPL). Aussi, de nombreuses sociétés ont proposé leur propre version de Linux à partir des sources communes. Ces versions sont appelées des distributions.

Parmi les plus connues, citons Fedora (anciennement Red Hat), Debian, Ubuntu et Mint.

Certaines distributions peuvent démarrer sans installation, directement depuis un CD-Rom ou une clé USB (exemple : Knoppix). Cela permet de tester les fonctionnalités de Linux sans être obligé de modifier le partitionnement de la machine.

Architecture

Le noyau de Linux

Linux est architecturé autour d’un noyau (ou kernel). Celui-ci reprend des bases issues du monde UNIX. Il offre un fonctionnement multitâche préemptif et peut gérer plusieurs utilisateurs simultanément.

Le noyau Linux est modulaire : il est possible de charger ou décharger dynamiquement des modules (pour gérer un périphérique spécifique, par exemple). Le code source de ce noyau (écrit en langage C) est disponible gratuitement sur le site http://kernel.org. On peut donc télécharger les sources, puis les compiler pour obtenir uner version installable du noyau. Cette manipulation est réservée aux utilisateurs curieux et avertis.

Le numéro du noyau identifie la version de Linux utilisée. Ce numéro est de la forme X.Y.Z :

La chronologie des versions du noyau Linux est rassemblée sur cette page.

La gestion des utilisateurs

Contrairement à Windows, Linux a dès l’origine implémenté une gestion des utilisateurs très stricte, basée sur la notion de droits. L’administrateur du système (qui possède tous les droits) se nomme root.

L’arborescence des répertoires

Linux adopte une arborescence des répertoires totalement différente de celle des systèmes Windows, qui peut dérouter l’utilisateur débutant.

Le schéma ci-dessous présente les principaux répertoires du système.

On constate que la racine est identifiée par le caractère / (contrairement au \ du monde Windows).

Les principaux répertoires sont :

La ligne de commande

Sous Linux, il est possible de piloter l’intégralité du système en mode console, en utilisant un terminal.

Il existe de nombreuses commandes, dont certaines sont réservées à l’administrateur root. Voici quelques exemples :

Scripts shell

Linux dispose également d’un moyen d’automatiser l’exécution de plusieurs commandes, par le biais des scripts shell Un script shell Linux est un fichier de type texte dont l’extension est .sh. En voici un exemple :

#!/bin/bash

# déclaration d'une variable chaîne
msg = "Hello World"

# affichage de la variable
echo $msg

Le langage des scripts shell Linux est très riche et offre de nombreuses possibilités.

Les applications disponibles

Les applications disponibles sous Linux sont très nombreuses. On peut citer :

Les principales absences dans la logithèque du monde Linux sont les logiciels Microsoft (Office, Visual Studio) et les jeux.