Système d’exploitation GNU/Linux#

GNU_and_Tux_2.png

Le système d’exploitation GNU/Linux

Le système d’exploitation linux est basé sur le système d’exploitation UNIX utilisé dans les années 1980. On le doit à Richard Stallman inventeur du système GNU et Linus Thorvald inventeur du noyau linux qui ont réunis leurs travaux pour obtenir le système d’exploitation GNU/LINUX.

Profondément attachés au logiciel libre, ce système d’exploitation a évolué grâce à de nombreux développeurs qui fournissent différentes versions selon les usages souhaités.

Le système d’exploitation Linux est un système d’exploitation distribué. Cela signifie qu’il existe plusieurs versions de cet OS. Comme le code source est accessible, il est possible de le modifier et de le personnaliser. Lorsque la personnalisation est achevée, il est possible de le distribuer en le proposant au téléchargement.

Il existe déjà de très nombreuses distributions dont les plus connues sont :

Les systèmes d’exploitation GNU/Linux sont multi-tâches et multi-utilisateurs.

Les systèmes d’exploitation GNU/Linux fournissent un mode console ou shell. Cela signifie qu’ils peuvent fonctionner sans interface graphique.

Note

Lorsqu’une interface graphique est installée sur un système Linux, le programme Terminal ouvre une fenêtre du type console. On peut alors accéder à toutes les commandes de base linux. L’utilisateur est directement positionné dans son répertoire personnel.

console.png

Terminal linux#

Les commandes de base linux#

Pour intervenir sur le système, on utilise dans un terminal des commandes Linux. Elles permettent :

  • de créer des fichiers, écrire dans un fichier, supprimer les fichiers, etc

  • de créer des répertoires, supprimer des répertoires, etc

  • d’exécuter des programmes, télécharger et installer des programmes, de les supprimer, etc

  • de gérer les utilisateurs, les groupes, etc.

La saisie d’une commande consiste à envoyer au système une instruction qui exécutera le programme associé à la commande.

Commande who

La commande who renvoie le nom de l’utilisateur connecté sur la machine.

who.png

Commande pwd

La commande pwd permet de savoir dans quel répertoire l’utilisateur se trouve:

pwd.png

Commande ls

La commande ls affiche le contenu d’un répertoire : dossiers et fichiers:

ls.png

La commande accepte des options qui permettent d’afficher plus d’informations. Les options sont précédées d’un tiret.

L’option -l affiche en détail le contenu d’un répertoire.

ls-l.png

Commande cd

La commande cd pour change directory permet de se déplacer dans l’arborescence de fichier du système linux. Il faut indiquer le chemin et le nom du dossier dans lequel on veut se placer.

Le chemin peut être absolu ou alors relatif.

  • un chemin absolu indique tous les répertoires depuis la racine jusqu’au dossier souhaité.

  • un chemin relatif indique tous les répertoires depuis le dossier où l’on se trouve jusqu’au dossier souhaité.

Avec un chemin absolu:

cd1.png

Avec un chemin relatif:

cd2.png

On peut remonter dans l’arborescence avec un chemin absolu ou alors en utilisant 2 points .. :

cd-pt-pt.png

Commande mkdir

La commande mkdir crée un nouveau répertoire. Il faut indiquer le nom du répertoire à la fin de la commande.

Aucun message n’est affiché après la commande. Pour vérifier que le répertoire est bien créé, il suffit de taper la commande ls.

mkdir.png

Commande cat

La commande cat affiche le contenu d’un fichier en indiquant le nom du fichier.

cat.png

Commande cp

La commande cp, abbréviation de copy permet de faire une copie d’un fichier sous un autre nom.

En indiquant un chemin vers un autre dossier, la copie du fichier sera dans le dossier indiqué.

Aucun message n’est affiché à la fin de la commande. Il suffit de faire un ls pour vérifier.

cp.png

Commande mv

La commande mv déplace un fichier ou un dossier. Il faut indiquer le nom du fichier ou dossier et indiquer le chemin vers le dossier qui va accueillir les éléments déplacés.

Aucun message n’est affiché à la fin de la commande.

mv.png

Commande rm

La commande rm, abbréviation de remove supprime un fichier que l’on indique.

Là aussi, aucun message n’est affiché après la commande.

rm.png

Commande echo

La commande echo affiche un message en console. Le message est écrit à la fin de la commande.

echo.png

Commande tree

La commande tree affiche l’arborescence du dossier où est exécutée la commande.

Avec l’option L on peut préciser la profondeur à afficher : 1 pour un niveau de sous-dossier, 2 pour 2 niveaux de sous-dossiers, etc.

tree.png

Gestion des fichiers#

Le système d’exploitation Linux est un ensemble organisé de fichiers. Les fichiers sont classés dans des répertoires selon leur fonction. L’ensemble de ces répertoires constituent une arborescence.

Un répertoire contient tous les autres. C’est le répertoire racine noté /.

Dans le répertoire racine, on a plusieurs répertoires dédiés au système regroupant les programmes de base, les fichiers de configuration, les fichiers des utilisateurs. Par exemple :

  • bin contient les programmes des commandes de base linux

  • etc contient les fichiers de configuration système

  • home contient les répertoires personnels des utilisateurs

  • root est le répertoire personnel du super utilisateur root qui administre tout le système Linux.

  • dev est le dossiser contenant les fichiers des différents périphériques de la machine. C’est l’abbréviation de device qui signifie périphérique.

  • proc contient les informations systèmes

  • usr est un dossier qui contient les programmes installés par l’utilisateur.

arborescence de fichiers

Arborescence des fichiers dans un OS linux#

Gestion des utilisateurs#

Les utilisateurs

Les systèmes d’exploitation Linux sont multi-utilisateurs. Chaque utilisateur possède un identifiant de connexion unique appelé login.

À chaque identifiant de connexion est associé un identifiant numérique unique nommé UID acronyme de User IDentifier.

Par exemple, un utilisateur nommé toto est enregistré sur le système d’exploitation.

La commande id affiche l’UID de l’utilisateur Toto.

id.png

Les systèmes Linux ont un utilisateur spécial nommé root dont l’UID vaut 0. Cet utilisateur est le super utilisateur c’est à dire l”administrateur du système d’exploitation.

Groupes

Les utilisateurs peuvent être réunis en groupes.

Un utilisateur appartient à un groupe principal et éventuellement à des groupes secondaires.

Comme l’identifiant, le groupe principal à un identifiant numérique, nommé GID acronyme de Group IDentifier.

Les groupes secondaires ont aussi un nom unique et un identifiant numérique unique.

Par exemple, notre utilisateur toto appartient au groupe principal toto et au groupes secondaire nsi.

Gestion des permissions#

Les systèmes d’exploitation Linux attribuent des permissions de lecture, écriture et exécution aux fichiers.

Les permissions se classent en trois parties : propriétaire - groupe - autres utilisateurs

  • Utilisateur propriétaire du fichier u : lecture r, écriture w, exécution x

  • Groupe propriétaire du fichier g : lecture r, écriture w, exécution x

  • Autres utilisateurs o : lecture r, écriture w, exécution x

La commande ls avec l’option l affiche les permissions sur les dossiers et les fichiers.

permission1.png

Sur la capture précédente, on observe:

  • L’utilisateur toto a le droit de lire, écrire le fichier exolinux.txt

  • Le groupe nsi a le droit de lire et écrire le fichier exolinux.txt

  • Les autres utilisateurs ont seulement le droit de lire le fichier exolinux.txt.

Modifier les permissions

La commande chmod permet de modifier les permissions d’un fichier pour l’utilisateur propriétaire, le groupe ou les autres utilisateurs.

  1. Utilisateur propriétaire :

    • Pour ajouter : chmod u+ permissions fichier

    • Pour enlever : chmod u- permissions fichier

    chmodu.png
  2. Groupe propriétaire :

    • Pour ajouter : chmod g+ permissions fichier

    • Pour enlever : chmod g- permissions fichier

    chmodg.png
  3. Autres utilisateurs :

    • Pour ajouter : chmod o+ permissions fichier

    • Pour enlever : chmod o- permissions fichier

    chmodo.png
  4. Pour tous les utilisateurs :

    • Pour ajouter : chmod a+ permissions fichier

    • Pour enlever : chmod a- permissions fichier

    chmoda.png