Module B - Systèmes d'exploitation

Préparé par Luc Baron
Le 25 septembre 2020

1 Introduction

1.1 Objectifs

Ce document a pour objectif de présenter un aperçu des systèmes d'exploitation Windows et Unix. Il s'adresse aux futurs ingénieurs non spécialistes qui doivent utiliser ces systèmes d'exploitation afin de communiquer et mettre en oeuvre des fonctionnalités sur des postes de travail et des serveurs distants. Ce document est accompagné de démonstrations informatiques sous forme de capsules vidéo et d'une séance de travail pratique sur Windows et/ou MacOS X, et Linux sur le serveur cogito.meca.polymtl.ca.

1.2 Définition

Golftheman à commons.wikimedia.org
Fig. B.1 - Interaction (source Wikipédia)

Un système d’exploitation (simplement appelé OS pour en anglais Operating system) est une couche logicielle qui facilite aux applications l’utilisation des ressources matérielles d’un ordinateur. Ainsi, il permet aux applications, telles que Word, Chrome, Matlab, Zoom et autres, de réaliser des tâches telles que l’accès et la sauvegarde de données sur disque ou la communication de données, sons et vidéos avec une grande variété de matériels. Grâce aux systèmes d'exploitation, les applications ne communiquent plus directement avec les ressources matérielles, mais plutôt à travers Windows, MacOS X, Linux, ... C'est plutôt à eux de savoir comment communiquer avec les ressources matérielles. Si une application communique directement avec le matériel, alors cela est fait au prix d'une perte de généralité, c'est-à-dire d'avoir une application qui ne fonctionnerait qu'avec ce matériel spécifique. Par exemple, une marque spécifique de carte réseau plutôt que simplement d'avoir une carte réseau fonctionnelle.

1.3 Développement des OS

Nous présentons l'évolution des deux grandes familles d'OS, soit Windows et Unix. Depuis le début des ordinateurs, plusieurs OS ont été développés, mais plusieurs n'ont pas eu de succès commercial et ont disparu.


La famille Windows a débuté en 1981 chez Microsoft avec l'OS DOS (en anglais Disk Operating System) pour gérer les premiers ordinateurs personnels. Il s'agissait d'une console de commandes où l'utilisateur devrait taper des commandes au clavier sans aucune interface graphique, ni souris. L'utilisation de la souris est rendue possible en 1990 grâce à Windows 3.xx qui ajoute une couche graphique à DOS. Le premier OS entièrement graphique et indépendant de DOS est arrivé en 1991 avec Windows NT (en anglais New Technology). C'est la base de toutes les versions suivantes de Windows : 95, 98, XT, 7, 8 et 10.


La famille Unix a débuté en 1972 chez AT&T avec un OS multitâche et multi-utilisateur pour gérer de grands ordinateurs (voir fig. B.2). Il s'agissait là aussi d'une console de commandes où l'utilisateur devait taper des commandes au clavier sans aucune interface graphique, ni souris. Le développement d'Unix s'est poursuivi selon trois branches différentes. Premièrement, AT&T a poursuivi en interne le développement d'Unix jusqu'en 1990. AT&T a également développé et commercialisé une version avec interface graphique et souris, appelée System III et System V jusqu'en 1997. Finalement, l'Université de Californie à Berkeley a poursuivi le développement d'Unix et distribué la version BSD (en anglais Berkeley Software Distribution) jusqu'en 1994. Grandement inspiré d'Unix, Linux est développé depuis 1991 par une communauté de développeurs sous licence libre et gratuite. Il existe plusieurs distributions, telles que Debian, Ubuntu, Red Hat et Fedora. Encore basé sur Unix (plus spécifiquement FreeBSD et NeXTSTEP), Apple a introduit en 2001 MacOS X, aussi appelé la version 10.xx, pour ses ordinateurs. Finalement, Android et iOS sont arrivés en 2007 pour téléphone et tablette numérique encore une fois construits à partir d'Unix.


OS Année Développeur et version
Unix 1972-... Créé par AT&T pour gérer les premiers ordinateurs avec une console de commandes Unix. C'était déjà un système multitâche et multi-utilisateur.
DOS 1981-1990 Créé par Microsoft pour gérer les premiers ordinateurs personnels IBM avec une console de commandes DOS (en anglais Disk Operating System).
MacOS 1984-2001 Créé par Apple pour gérer les premiers ordinateurs Macintosch avec interface graphique et souris.
NeXTSTEP 1986-1996 Créé par Steve Jobs, lorsqu'il n'était plus chez Apple, pour gérer les stations de travail avec souris et interface graphique sur une base Unix.
OS/2 1987-2006 Créé par Microsoft pour IBM pour gérer la 2e génération d'ordinateur personnel IBM avec interface graphique et souris sans la base DOS. Seul IBM l'a utilisé sur ses ordinateurs.
Windows 3.x 1990-1995 Créé par Microsoft comme ajout à DOS pour gérer les ordinateurs personnels avec interface graphique et souris.
Linux 1991-... Créé par une communauté de développeurs pour gérer des ordinateurs personnels avec interface graphique et souris. Grandement inspiré d'Unix, il est construit uniquement de logiciel libre. Il existe plusieurs distributions telles que Debian, Ubuntu, Red Hat ou Fedora.
Windows NT 1991-... Créé par Microsoft pour gérer les ordinateurs personnels avec interface graphique et souris sans la base DOS. Windows NT (pour New Technology) est la base sur laquelle toutes les versions suivantes de Windows sont construites, telles que Windows XT en 2001, Windows 7 en 2009, Windows 8 en 2012 et Windows 10 en 2015.
MacOS X 2001-... Créé par Apple pour gérer les ordinateurs d'Apple sur une base Unix (10.xx), telle que MacOS X High Sierra (10.13) en 2017, Mojave (10.14) en 2018 et Catalina (10.15) en 2019.
Android 2007-... Créé par Google pour gérer les téléphones et tablettes numériques sur une base Unix.
iOS 2007-... Créé par Apple pour gérer les téléphones et tablettes numériques sur une base Unix.
Tableau B.2 - Genèse des OS basés sur Unix (source Wikipédia)

En résumé, la grande majorité des pour ordinateur personnel ou appareil mobile (téléphone et tablette numérique) sont aujourd'hui construit autour d'Unix. Seule exception, Windows qui fonctionne sur un très grand nombre d'ordinateurs personnels.

1.4 Entrepôt de fichiers

Les systèmes d'exploitation possèdent une structure arborescente de répertoires dans laquelle on dépose les fichiers. Cette structure permet de séparer les fichiers des utilisateurs de ceux du système d'exploitation et des applications. Ainsi, chaque utilisateur possède un répertoire personnel afin d'y déposer ses fichiers, par exemple C:\Users\utilisateur1 sur Windows ou /home/utilisateur1 sur Unix. Noter l'usage de \ sous Windows et / sous Unix. La structure arborescente permet à chaque utilisateur de classer ses fichiers dans des répertoires additionnels qu'il peut créer dans son répertoire de base (aussi appelé son home directory).


Un fichier peut être exécutable ou non exécutable. Les fichiers exécutables sont le résultat de la compilation d'un programme en une série de codes binaires que le processeur peut exécuter. Les fichiers non exécutables sont simplement des fichiers de données enregistrées en format binaire ou en format texte. Les fichiers de données binaires peuvent être, par exemple, un fichier .zip où le texte initial est comprimé en codes binaires afin d'occuper moins d'espace. Un fichier de données texte contient habituellement que des codes de caractères ASCII que le matériel d'affichage et d'impression est capable de représenter avec une fonte de caractères. Il est possible d'utiliser la commande type sous Windows ou more sous Unix, afin d'afficher un fichier de données texte. Il est également possible d'utiliser un éditeur de texte, tel que Notepad++ sous Windows ou emacs sous Unix pour modifier un fichier texte. Attention, notepad (sans le ++) de Windows n'est pas un éditeur de texte pur, puisqu'il ajoute des codes binaires de contrôle des structures de texte, comme le fait encore plus intensément Word. Finalement, les fichiers sont reconnus exécutables par le système d'exploitation lorsqu'ils portent l'extension .exe sous Windows ou possèdent la permission exécutable sous Unix.

2 Windows

Cette section présente l'arborescence des dossiers et fichiers, ainsi que les principales commandes du système d'exploitation Windows. Les exemples sont obtenus avec d'un poste Windows 10. Les étudiants n'ayant pas cette version de Windows peuvent expérimenter sur les postes Windows 10 des salles informatiques de Polytechnique.

2.1 Interface graphique et console

La figure B.3 montre l'interface graphique de gestion des fichiers et la console de commandes de Windows 10. Les deux fenêtres présentent le contenu du dossier de l'utilisateur baron, c'est-à-dire os (C:) << Utilisateurs > baron ou C:\Users\baron. Selon ces deux visions, il y a 12 répertoires en plus des 2 répertoires standards (. le répertoire actif et .. le répertoire parent). Ces deux répertoires standards sont affichés dans la fenêtre console et n'apparaissent pas dans la fenêtre graphique. La console est en réalité un fichier exécutable (extension .exe) situé dans le répertoire C:\Windows\System32\ comme beaucoup d'autres commandes Windows. Il est possible d'ouvrir plusieurs fenêtres consoles par le menu Démarrer, puis taper cmd dans la zone Taper ici pour rechercher. Il est possible de fermer chacune des fenêtres avec la commande exit.


Win
Fig. B.3 - Interface graphique et console de commandes sur le répertoire actif C:\Users\baron.

2.2 Arborescence et parcours

La figure B.4 montre l'arborescence du dossier des utilisateurs située dans C:\Users. L'utilisateur baron est propriétaire du dossier C:\Users\baron sur lequel il possède toute autorité pour créer, modifier ou effacer des fichiers et dossiers. Le dossier de l'utilisateur baron contient par défaut plusieurs dossier standards, tels que Desktop, Documents, Downloads et autres. L'utilisateur baron a créé dans son dossier Documents les dossiers Dossier1 et Dossier2, et déposé le fichier Tampon.png. Il a également déposé le fichier Plan.pdf dans le Dossier1 et le fichier Zoom.pdf sur son bureau, c'est-à-dire le dossier Desktop.

Win
Fig. B.4 - Arborescence des dossiers et fichiers de C:\Users

Il existe deux types de parcours d'accès à un dossier ou un fichier, soient le parcourt absolu ou un parcourt relatif au dossier actif ou courant. Le tableau B.5 illustre des parcours relatifs et absolus équivalents dans l'arborescence de la figure B.4 lorsque le répertoire actif est C:\Users\baron\Documents.

Dossier actif: C:\Users\baron\Documents\
Parcours relatif :                         Parcours absolu :
   ..\..\..\                          <=>  C:\
   ..\..\                             <=>  C:\Users\
   ..\..\alibaba\                     <=>  C:\Users\alibaba\
   ..\Desktop\                        <=>  C:\Users\baron\Desktop\
   Dossier1\                          <=>  C:\Users\baron\Documents\Dossier1\
   Dossier2\                          <=>  C:\Users\baron\Documents\Dossier2\
   ..\Downloads\                      <=>  C:\Users\baron\Downloads\

   ..\Desktop\Zoom.pdf                <=>  C:\Users\baron\Desktop\Zoom.pdf
   Tampon.png                         <=>  C:\Users\baron\Documents\Tampon.png
   Dossier1\Plan.pdf                  <=>  C:\Users\baron\Documents\Dossier1\Plan.pdf
Tableau B.5 - Parcours relatifs et absolus équivalents de l'arborescence de la figure B.4

2.2.1 Parcours absolu

Un parcours absolu doit débuter par la lettre du disque suivi de : (exemple: C:). Il doit obligatoirement être suivi de \ indiquant la racine des dossiers de ce disque, puis optionnellement des noms de dossiers séparés par un \. La colonne de droite du tableau B.5 illustre des parcourts absolus vers des dossiers et fichiers de la figure B.4.

2.2.2 Parcours relatif

Un parcours relatif ne débute jamais par la lettre d'un disque, ni par la racine \. Il indique le chemin à parcourir entre le dossier actif et le dossier ou fichier de destination. Tel que montré à la figure B.3, le dossier actif (aussi appelé dossier courant) est affiché dans l'invite de commande de la console, tout juste à gauche du symbole >. La colonne de gauche du tableau B.5 illustre des parcourts relatifs pour accéder à des dossiers et fichiers de la figure B.4 lorsque le dossier actif est C:\Users\baron\Documents.

2.3 Commandes dans la console

Il est nécessaire de connaître les commandes de la console afin d'écrire des scriptes de commandes pour l'automatisation de fonctionnalités. Dans tous les exemples, les parcours absolus et relatifs peuvent être utilisés.

2.3.1 Navigation

La commande de navigation cd (en anglais change directory) permet de déplacer le dossier actif vers un dossier spécifique. L'invite de commande permet d'afficher le dossier actif. La commande dir (en anglais directory) permet d'afficher la liste des dossiers et fichiers d'un dossier spécifique. Les commandes de la figure B.6 sont :

  1. le dossier actif est la racine C:\;
  2. cd \Users\baron\Dossier1 déplace de façon absolue le dossier actif vers le dossier C:\Users\baron\Dossier1;
  3. dir affiche le contenu du dossier actif, c'est-à-dire C:\Users\baron\Dossier1;
  4. cd .. déplace de façon relative le dossier actif vers le dossier parent C:\Users\baron;
  5. dir affiche le contenu du dossier actif, c'est-à-dire C:\Users\baron;
  6. dir .. affiche le contenu du dossier parent du dossier actif, c'est-à-dire C:\Users.

Win
Fig. B.6 - Commandes de navigation cd et dir.

2.3.2 Manipulation de fichiers

La commande de manipulation cp (en anglais copy) permettent de copier un fichier ou plusieurs fichiers vers un dossier spécifique. La commande rm (en anglais remove) permet d'effacer un ou plusieurs fichiers d'un dossier spécifique. Les commandes de la figure B.7 sont :

  1. dir affiche le contenu du dossier actif, c'est-à-dire C:\Users\baron;
  2. dir Dossier1 affiche le contenu du dossier relatif Dossier1;
  3. copy Tampon.png Dossier2\ copie le fichier Tampon.png du dossier actif vers le dossier relatif Dossier2, c'est-à-dire dans C:\Users\baron\Dossier2;
  4. copy Dossier1\Plan.pdf Dossier2\Nouveau.pdf copie le fichier Plan.pdf du dossier relatif Dossier1 vers le dossier relatif Dossier2 avec le nom Nouveau.pdf, c'est-à-dire dans C:\Users\baron\Dossier2;
  5. del Tampon.png efface le fichier Tampon.png du dossier actif;
  6. dir Dossier2 affiche le contenu du dossier relatif Dossier2, c'est-à-dire C:\Users\baron\Dossier2;
  7. del Dossier2\* efface tous les fichiers (indiqué par le symbole *) du dossier relatif Dossier2;
  8. dir Dossier2 affiche le contenu du dossier relatif Dossier2 maintenant vide;
  9. copy Dossier1\Plan.pdf .\ copie le fichier Plan.pdf du dossier relatif Dossier1 vers le dossier actif (indiqué par .\);
  10. dir affiche le contenu du dossier actif C:\Users\baron qui contient de nouveau le fichier Plan.pdf.

Win Win
Fig. B.7 - Manipulation de fichiers                     Fig. B.8 - Manipulation de dossiers.

2.3.3 Manipulation de dossiers

La commande mkdir (en anglais make directory) permet de créer un dossier dans un dossier spécifique. La commande rmdir (en anglais remove directory) permet d'effacer un dossier d'un dossier spécifique si ce dossier est déjà vide. Les commandes de la figure B.8 sont :

  1. dir affiche le contenu du dossier actif, c'est-à-dire C:\Users\baron;
  2. mkdir \Users\baron\Dossier3 créer le dossier absolu C:\Users\baron\Dossier3;
  3. mkdir Dossier1\Dossier4 créer le dossier relatif Dossier1\Dossier3;
  4. copy Plan.pdf Dossier3\Nouveau.pdf copie le fichier Plan.pdf du dossier actif vers le dossier relatif Dossier3 avec le nom Nouveau.pdf;
  5. copy Plan.pdf Dossier1\Dossier4\ copie le fichier Plan.pdf du dossier actif vers le dossier relatif Dossier2\Dossier4\;
  6. dir Dossier3 affiche le contenu du dossier relatif Dossier3, le fichier Nouveau.pdf a été ajouté à Dossier3;
  7. dir Dossier1\Dossier4 affiche le contenu du dossier relatif Dossier1\Dossier4, le fichier Plan.pdf a été ajouté à Dossier4;
  8. del Dossier3\Nouveau.pdf efface le fichier Nouveau.pdf du dossier relatif Dossier3;
  9. rmdir Dossier3 efface le dossier relatif Dossier3 maintenant vide;
  10. del Dossier1\Dossier4\* efface tous les fichiers (indiqué par le symbole *) du dossier relatif Dossier1\Dossier4;
  11. , une réponse o/n (pour oui/no) est demandé;
  12. rmdir Dossier1\Dossier4 efface le dossier relatif Dossier1\Dossier4 maintenant vide;
  13. dir affiche le contenu du dossier actif, c'est-à-dire C:\Users\baron qui contient le fichier Plan.pdf.

3 Unix

Cette section présente l'arborescence des dossiers et fichiers, ainsi que les principales commandes de la console d'un système de type Unix. Même si les exemples sont obtenus avec un poste MacOS X 10.15 Catalina, les étudiants auront tous accès à un poste Linux avec le serveur cogito.meca.polymtl.ca avec un compte utilisateur de format tixxx. Ainsi, il est nécessaire de comprendre le fonctionnement des commandes dans un environnement Unix.

3.1 Interface graphique et console

La figure B.9 montre l'interface graphique de gestion des fichiers et dossiers et la console de commandes de MacOS X. Les deux fenêtres présentent le contenu du dossier de l'utilisateur baron, c'est-à-dire Utilisateurs > baron ou /Users/baron. Selon ces deux visions, il existe 3 dossiers utilisateurs, dont 2 utilisateurs standards (Invité et Partagés). De plus, on remarque dans la fenêtre graphique la traduction en français de quelques noms de dossiers qui pourtant apparaissent en anglais dans la console. On comprend donc que seul l'affichage a été traduit, mais que le fonctionnement interne de MacOS X utilise les noms de répertoires anglais. Par exemple, les dossiers /Guest, /Desktop et /Downloads de la console sont, respectivement, affichés Invité, Bureau et Téléchargements dans la fenêtre graphique.


Tel que montré de la figure B.9, les dossiers Desktop et Documents sont des liens vers iCloud. Ainsi, ils sont identifiés avec un @ dans la section permission de la console, et n'apparaissent pas dans la liste des dossiers de l'utilisateur baron, mais plutôt dans la section iCloud de l'interface graphique. En général, le symbole @ à la fin des permissions d'un dossier ou fichier signifie qu'il y a des attributs additionnels que l'on peut afficher avec la commande ls -@l.


Unix
Fig. B.9 - Interface graphique et console de commandes sur le dossier actif /Users/baron.

La console est une application, appelée Terminal.app ayant les permissions d'exécution (c'est-à-dire rwxr-xr-x), situé dans le répertoire /System/Applications/Utilitaires/ comme plusieurs autres outils Unix. Il est possible d'ouvrir plusieurs consoles par le menu Terminal, puis choisir Coquille logiciel > Nouvelle fenêtre. Sur Linux/Unix, il est possible d'ouvrir plusieurs consoles avec la commande xterm & et fermer ces fenêtres avec la commande exit.

3.2 Arborescence et parcours

La figure B.10 montre l'arborescence du répertoire des utilisateurs située dans C:\Users. L'utilisateur baron est propriétaire du dossier C:\Users\baron sur lequel il possède toute autorité pour créer, modifier ou effacer des dossiers et fichiers. Le dossier de l'utilisateur baron contient par défaut plusieurs dossiers standards, tels que Desktop, Documents, Downloads et plusieurs autres. L'utilisateur baron a créé les dossiers Dossier1 et Dossier2, et déposé le fichier Tampon.png. Il a également déposé le fichier Plan.pdf dans le Dossier1.

Unix
Fig. B.10 - Arborescence des répertoires et fichiers de /Users

Il existe deux types de parcours d'accès à un dossier ou un fichier, soient le parcourt absolu ou un parcourt relatif au dossier actif. Le tableau B.11 illustre des parcourts relatifs et absolus équivalents dans l'arboresence de la figure B.10 lorsque le dossier actif est /Users/baron.

Dossier actif: /Users/baron/Dossier2/
Parcours relatif :                         Parcours absolu :
   ../../../                          <=>  /
   ../../                             <=>  /Users/
   ../../Guest/                       <=>  /Users/Guest/
   ../Desktop/                        <=>  /Users/baron/Desktop/
   ../Dossier1/                       <=>  /Users/baron/Dossier1/
   ../Downloads/                      <=>  /Users/baron/Downloads/

   ../Tampon.png                      <=>  /Users/baron/Tampon.png
   ../Dossier1/Plan.pdf               <=>  /Users/baron/Dossier1/Plan.pdf
Tableau B.11 - Parcours relatifs et absolus équivalents de l'arborescence de la figure B.10

3.2.1 Parcours absolu

Un parcours absolu doit obligatoirement débuter par / indiquant la racine des dossiers, puis optionnellement des noms de sous-dossiers séparés par un /. La colonne de droite du tableau B.11 illustre des parcours absolus vers des dossiers et fichiers de la figure B.10.

3.2.2 Parcours relatif

Un parcours relatif ne débute jamais par la racine /. Il indique le chemin à parcourir entre le dossier actif et le dossier ou fichier de destination. Tel que montré à la figure B.9, le dossier actif (aussi appelé dossier courant) est affiché dans l'invite de commande de la console, tout juste à gauche du symbole $. La colonne de gauche du tableau B.11 illustre des parcours relatifs pour accéder à des dossiers et fichiers de la figure B.10 lorsque le dossier actif est /Users/baron.

3.3 Commandes dans la console

Il est nécessaire de connaître les commandes de la console afin d'écrire des scriptes de commandes pour l'automatisation de fonctionnalités. Dans tous les exemples, les parcours absolus et relatifs peuvent être utilisés.

3.3.1 Navigation

La commande de navigation cd (en anglais change directory) permet de déplacer le dossier actif vers un dossier spécifique. La commande pwd (en anglais print working directory) permet d'afficher le dossier actif. La commande ls (en anglais list) permet d'afficher la liste des dossiers et fichiers d'un dossier spécifique. Les commandes de la figure B.12 sont :

  1. pwd affiche le dossier actif, c'est-à-dire le dossier racine /;
  2. cd déplace de façon absolue le dossier actif vers le dossier /Users/baron/Dossier1;
  3. ls affiche le contenu du dossier actif, c'est-à-dire /Users/baron/Dossier1;
  4. cd .. déplace de façon relative le dossier actif vers le dossier parent /Users/baron;
  5. ls -l affiche le contenu long du dossier actif, c'est-à-dire /Users/baron;
  6. ls .. affiche le contenu du dossier parent du dossier actif, c'est-à-dire /Users.

Unix Unix
Fig. B.12 - Navigation (pwd, ls et cd)                           Fig. B.13 - Manipulation de fichiers (cp et rm).

3.3.2 Manipulation de fichiers

La commande de manipulation cp (en anglais copy) permettent de copier un fichier ou plusieurs fichiers vers un dossier spécifique. La commande rm (en anglais remove) permet d'effacer un ou plusieurs fichiers d'un dossier spécifique. Les commandes de la figure B.13 sont :

  1. pwd affiche le dossier actif, c'est-à-dire /Users/baron pour l'utilisateur baron;
  2. ls affiche le contenu du dossier actif, c'est-à-dire /Users/baron;
  3. ls Dossier1 affiche le contenu du dossier relatif Dossier1;
  4. cp Tampon.png Dossier2/ copie le fichier Tampon.png du dossier actif vers le dossier relatif Dossier2, c'est-à-dire dans /Users/baron/Dossier2;
  5. cp Dossier1/Plan.pdf Dossier2/Nouveau.pdf copie le fichier Plan.pdf du dossier relatif Dossier1 vers le dossier relatif Dossier2 avec le nom Nouveau.pdf, c'est-à-dire dans /Users/baron/Dossier2;
  6. rm Tampon.png efface le fichier Tampon.png du dossier actif;
  7. ls -l Dossier2 affiche le contenu long du dossier relatif Dossier2, c'est-à-dire /Users/baron/Dossier2;
  8. rm Dossier2/* efface tous les fichiers (indiqué par le symbole *) du dossier relatif Dossier2;
  9. ls Dossier2 affiche le contenu du dossier relatif Dossier2 maintenant vide;
  10. cp Dossier1/Plan.pdf ./ copie le fichier Plan.pdf du dossier relatif Dossier1 vers le dossier actif (indiqué par ./);
  11. ls affiche le contenu du dossier actif /Users/baron qui contient de nouveau le fichier Plan.pdf.

3.3.3 Manipulation de dossiers

La commande mkdir (en anglais make directory) permet de créer un dossier dans un dossier spécifique. La commande rmdir (en anglais remove directory) permet d'effacer un dossier d'un dossier spécifique si ce dossier est déjà vide. Les commandes de la figure B.14 sont :

  1. pwd affiche le dossier actif, c'est-à-dire /Users/baron pour l'utilisateur baron;
  2. ls affiche le contenu du dossier actif, c'est-à-dire /Users/baron;
  3. mkdir /Users/baron/Dossier3 créer le dossier absolu /Users/baron/Dossier3;
  4. mkdir Dossier1/Dossier4 créer le dossier relatif Dossier1/Dossier3;
  5. cp Plan.pdf Dossier3/Nouveau.pdf copie le fichier Plan.pdf du dossier actif vers le dossier relatif Dossier3 avec le nom Nouveau.pdf;
  6. cp Plan.pdf Dossier1/Dossier4/ copie le fichier Plan.pdf du dossier actif vers le dossier relatif Dossier2/Dossier4/;
  7. ls Dossier3 affiche le contenu du dossier relatif Dossier3, le fichier Nouveau.pdf a été ajouté à Dossier3;
  8. rm Dossier3/Nouveau.pdf efface le fichier Nouveau.pdf du dossier relatif Dossier3;
  9. rmdir Dossier3 efface le dossier relatif Dossier3 maintenant vide;
  10. ls affiche le contenu du dossier actif, le Dossier3 a été effacé;
  11. rm -ir Dossier1/Dossier4 efface, avec iteraction, les fichiers et le dossier relatif Dossier1/Dossier4, une réponse y/n (pour yes/no) est demandée avant chaque opération;
  12. ls Dossier1 affiche le contenu du dossier relatif Dossier1 qui ne contient plus que le fichier Plan.pdf.

Unix Unix
Fig. B.14 - Manipulation des dossiers (mkdir et rmdir)                     Fig. B.15 - Gestion des permissions (chmod).

3.3.4 Gestion des permissions

La figure B.16 présente les permissions associées au Dossier4 et au fichier Plan.pdf. La colonne 1 contient d s'il s'agit d'un dossier, sinon - pour un fichier. Les trois séquences, chacune de 3 colonnes, contiennent dans l'ordre les permissions accordées à l'utilisateur (désigné u), à son groupe utilisateur (désigné g) et aux autres utilisateurs (désigné o, pour other). Chaque séquence de 3 colonnes contient dans l'ordre les permissions de lecture r pour read, d'écriture w pour write et d'exécution x pour execute. Si la permission n'est pas accordée, alors la lettre est remplacée par -. Chaque séquence peut être représenté par un nombre octal (base 8) où une lettre est un 1 et le - est 0. Sachant que 1002 = 48; 0102 = 28 et 0012 = 18, alors il suffit d'additionner les trois nombres octaux. Par exemple, la permission du groupe du dossier Dossier4 est : r-x = 1012 = 1002 + 0012 = 48 + 18 = 58. Le Dossier4 appartient à l'utilisateur baron qui fait partie du groupe d'utilisateur staff. La permission d'exécution associée à un dossier correspond à permettre la navigation à l'intérieur du dossier, alors que pour un fichier c'est la façon de désigner les fichiers exécutables par le processeur et qui sont habituellement le résultat d'une compilation.


Unix
Fig. B.16 - Permissions d'un fichier et d'un dossier.

La commande chmod (en anglais change mode) permet de modifier les permissions d'un ou plusieurs fichiers ou dossiers. Les commandes de la figure B.15 sont :

  1. pwd affiche le dossier actif, c'est-à-dire /Users/baron/Dossier1;
  2. ls -l affiche le contenu long du dossier actif, c'est-à-dire /Users/baron/Dossier1;
  3. chmod 750 Dossier4 assigne de façon absolue les permissions 7508 au dossier Dossier4;
  4. chmod go-r Plan.pdf retire la permission de lecture au groupe et autre utilisateur au fichier Plan.pdf;
  5. ls -l affiche le contenu long du dossier actif, c'est-à-dire /Users/baron/Dossier1;
  6. chmod o=rx Dossier4 assigne les permissions de lecture et d'exécution aux autres utilisateurs du dossier Dossier4;
  7. chmod go=r Plan.pdf assigne la permission de lecture au groupe et autres utilisateurs du fichier Plan.pdf;
  8. ls -l affiche le contenu long du dossier actif, c'est-à-dire /Users/baron/Dossier1.

4 Linux sur cogito

Les étudiants du cours disposent d'un serveur Linux situé dans la salle des serveurs avec un compte individuel de format tixxx où xxx sont trois chiffres. Le serveur cogito.meca.polymtl.ca est disponible en tout temps durant la session. Cependant, il est situé derrière le pare-feu du réseau informatique. Cela signifie qu'il est accessible seulement avec un VPN (Virtual Private Network). Polytechnique propose d'utiliser le VPN Cisco AnyConnect qui doit être configuré selon les paramètres décrits à polymtl.ca/si ou sur le site Moodle du cours. Cogito n'accepte que des connexions sécurisées SSH et SFTP. Nous présentons ci-dessous des moyens d'établir une connexion SSH et SFTP à partir d'un poste Windows et d'un poste MacOS X. Les étudiants sont libres d'utiliser un autre moyen de connexion à distance vers cogito.

4.1 À partir d'un poste Windows

Pour un poste Windows (version 7 et +), nous proposons d'utiliser le client SSH et SFTP appelé SSHSecureShellClient-3.2.9. C'est un client plutôt ancien, mais qui a l'avantage d'être gratuit et facile à trouver sur le Web. Les figures B.17 et B.18 présentent respectivement la console SSH et la fenêtre SFTP. Il suffit d'établir une connexion à cogito avec une des deux fenêtres et l'utilisateur peut ouvrir l'autre fenêtre directement. Toutes les commandes Unix pour MacOS X peuvent être utilisées sur cogito dans la console SSH. Cependant, cogito utilise le dossier /home pour les utilisateurs plutôt que /Users. La fenêtre SFTP présente à sa gauche les dossiers locaux du poste Windows et à sa droite les dossiers distants de cogito. Pour le téléchargement, il suffit de faire un cliquer-glisser déposer entre le bureau et la fenêtre des dossiers de cogito. Le bouton contextuel de droite sur un fichier de la figure B.18 permet de modifier les permissions de ce fichier.


Unix Unix
Fig. B.17 - Client SSH sur Windows                     Fig. B.18 - Client SFTP sur Windows.

4.2 À partir d'un poste MacOS X

Pour un poste MacOS X (version 10.13 et +), nous proposons d'utiliser directement l'application Terminal disponible sur MacOS X sans avoir à acheter un client SSH/SFTP à la boutique Apple. Le Terminal exige l'entrée de commandes, mais a l'avantage d'être gratuit. Les figures B.19 et B.20 présentent respectivement la console SSH et la console SFTP. Les deux consoles peuvent fonctionner en parallèle dans des fenêtres séparées.


La connexion SSH est établie avec : ssh tixxx@cogito.meca.polymtl.ca, puis le mot de passe. Toutes les commandes Unix pour MacOS X peuvent être utilisées sur cogito dans la console SSH. Cependant, cogito utilise le dossier /home pour les utilisateurs plutôt que /Users. Finalement, on utilise exit pour fermer la connexion SSH.


La connexion SFTP est établie avec : sftp tixxx@cogito.meca.polymtl.ca, puis le mot de passe. Les commandes SFTP peuvent être alors utilisées, telles que: help pour aide, ls pour lister les fichiers distants sur cogito, lls pour lister les fichiers locaux du Mac, put pour envoyer un fichier à cogito (upload) et get pour recevoir un fichier de cogito (download). Finalement, on utilise quit pour fermer la connexion SFTP.


Unix Unix
Fig. B.19 - Client SSH sur MacOS X                     Fig. B.20 - Client SFTP sur MacOS X

5 Lexiques

Ce lexique présente un résumé les principales commandes des systèmes d'exploitation Windows et Unix.


Commande OS Fonction
dir dossier Windows Affiche le contenu du dossier spécifié ou du dossier actif.
cd dossier Windows Déplace le dossier actif vers le dossier spécifié.
copy src dest Windows Copie la source (src) vers la destination (dest).
del src Windows Enlève le ou les fichiers sources (src).
mkdir dossier Windows Créer le nouveau dossier spécifié.
rmdir dossier Windows Efface le dossier spécifié s'il est vide.
type fichier Windows Affiche le contenu du fichier texte.
pwd Unix Affiche le dossier actif.
ls -parm dossier Unix Affiche le contenu du dossier spécifié ou du dossier actif.
cd dossier Unix Déplace le dossier actif vers le dossier spécifié.
cp src dest Unix Copie la source (src) vers la destination (dest).
rm src Unix Enlève le ou les fichiers sources (src).
mkdir dossier Unix Créer le nouveau dossier spécifié.
rmdir dossier Unix Efface le dossier spécifié s'il est vide.
chmod dossier Unix Modifie les propriétés du dossier spécifié.
more fichier Unix Affiche le contenu du fichier texte.
ssh usager@poste Unix Connexion SSH avec usager vers le poste spécifié.
exit Unix Ferme la connexion SSH vers cogito.
sftp usager@poste Unix Connexion SFTP avec usager vers le poste spécifié.
quit Unix Ferme la connexion SFTP vers cogito.

Copyright 2020 Polytechnique Montréal par Luc Baron