Système d Exploitation UNIX-Like

Dimension: px
Commencer à balayer dès la page:

Download "Système d Exploitation UNIX-Like"

Transcription

1 Système d Exploitation UNIX-Like Benoît Darties Université de Bourgogne Franche-Comté LE2I - Laboratoire Electronique Informatique et Image ESIREM 1

2 Avant propos Ce que contient ce cours... Contenu du cours Concepts des systèmes d exploitation Notions de structuration de l information sur un système Organisation des fichiers, répertoires Commandes élémentaires UNIX Outils génériques (Expressions régulières,...) Scripting / programmation sous UNIX 2

3 Avant propos L objectif de ce cours Objectifs Devenir des utilisateurs d un système UNIX avec notions d administration, de scripting,... mais pas seulement! Savoir s approprier des concepts nouveaux Aller au delà de ce qui sera vu Savoir se poser les bonnes questions! à quoi ca sert? Comprendre l utilité pour pouvoir s en servir au bon moment Pourquoi est-ce ca marche comme ca? Pourquoi ce choix a été fait plutôt qu un autre? Aurait-on pu faire mieux? 3

4 Avant propos Les erreurs à éviter Listes des erreurs classiques à éviter Se contenter d écouter, sans se questionner Avoir une vision cloisonnée au contenu cours, sans essayer de voir au delà Ne pas poser de questions surtout par peur de passer pour un idiot auprès des autres rien n est évident, et vos camarades ne sont pas meilleurs attendre la fin du cours pour poser une question en aparté (encore pire) Poser une question à son voisin plutôt qu au prof Ne pas savoir pourquoi vous êtes là à écouter ce cours 4

5 Avant propos Pré-requis Pré-requis du cours Algèbre booléenne : et, ou, ou exclusif Convertir un nombre binaire en décimal Convertir un nombre décimal en binaire Puissances de 2 usuelles : 2, 4, 8, 16, 32, 64,... Dénombrement sur des mots binaires de taille n Bit, octet, notation hexadécimale d un octet 5

6 Avant propos Questions 1 Convertir en décimal 2 Convertir 47 en binaire 3 Combien de possibilités pour un mot binaire de 10 bits? 4 Combien d octet dans la notation hexadécimale AF EE 03? 5 Convertir 4A en binaire, puis en décimal. Réponse : 6

7 Avant propos Questions 1 Convertir en décimal 2 Convertir 47 en binaire 3 Combien de possibilités pour un mot binaire de 10 bits? 4 Combien d octet dans la notation hexadécimale AF EE 03? 5 Convertir 4A en binaire, puis en décimal. Réponse : 6

8 Avant propos Questions 1 Convertir en décimal 2 Convertir 47 en binaire 3 Combien de possibilités pour un mot binaire de 10 bits? 4 Combien d octet dans la notation hexadécimale AF EE 03? 5 Convertir 4A en binaire, puis en décimal. Réponse : = = 36 6

9 Avant propos Questions 1 Convertir en décimal 2 Convertir 47 en binaire 3 Combien de possibilités pour un mot binaire de 10 bits? 4 Combien d octet dans la notation hexadécimale AF EE 03? 5 Convertir 4A en binaire, puis en décimal. Réponse : = = /2 = 23[1]/2 = 11[1]/2 = 5[1]/2 = 2[1]/2 = 1[0]/2 = 0[1] Lecture à l envers :

10 Avant propos Questions 1 Convertir en décimal 2 Convertir 47 en binaire 3 Combien de possibilités pour un mot binaire de 10 bits? 4 Combien d octet dans la notation hexadécimale AF EE 03? 5 Convertir 4A en binaire, puis en décimal. Réponse : = = /2 = 23[1]/2 = 11[1]/2 = 5[1]/2 = 2[1]/2 = 1[0]/2 = 0[1] Lecture à l envers : =

11 Avant propos Questions 1 Convertir en décimal 2 Convertir 47 en binaire 3 Combien de possibilités pour un mot binaire de 10 bits? 4 Combien d octet dans la notation hexadécimale AF EE 03? 5 Convertir 4A en binaire, puis en décimal. Réponse : = = /2 = 23[1]/2 = 11[1]/2 = 5[1]/2 = 2[1]/2 = 1[0]/2 = 0[1] Lecture à l envers : = (2 caractères = possibilités = 256 = 2 8 = 1 octet) 5 Binaire : Décimal : = 56 6

12 Avant propos 1 À la découverte des systèmes d exploitation, et UNIX 2 La gestion de fichiers sous UNIX 3 Processus 4 Gestion des entrées-sorties 5 Les outils 6 Premiers scripts 7

13 À la découverte des systèmes d exploitation, et UNIX Table des matières 1 À la découverte des systèmes d exploitation, et UNIX 2 La gestion de fichiers sous UNIX 3 Processus 4 Gestion des entrées-sorties 5 Les outils 6 Premiers scripts 8

14 À la découverte des systèmes d exploitation, et UNIX De la nécessité des systèmes d exploitation Table des matières 1 À la découverte des systèmes d exploitation, et UNIX 2 La gestion de fichiers sous UNIX Rappels (?) sur le codage d une information Fichiers, arborescences et navigation Le système de fichiers Droits d accès et restrictions Manipulation de fichiers Fichiers, utilisateurs multiples, et configurations originales Stockage des fichiers sur les blocs d un disque 3 Processus 4 Gestion des entrées-sorties 9

15 À la découverte des systèmes d exploitation, et UNIX De la nécessité des systèmes d exploitation Notion de Programme et Processus Un programme Suite d instructions interprétables par un ordinateur. Décrit dans un langage binaire et stocké dans un fichier. Un processus Un processus est une instance d un programme chargé dans la mémoire d un ordinateur décrit l état d avancement d un programme exécuté par l ordinateur. Une fois les instructions entièrement exécutées, il disparait. Pour 1 programme 0, 1, ou n processus possibles. Analogie : une recette de cuisine (programme), et l action de cuisiner cette recette (processus) 10

16 À la découverte des systèmes d exploitation, et UNIX De la nécessité des systèmes d exploitation Notion de Programme et Processus Un programme Suite d instructions interprétables par un ordinateur. Décrit dans un langage binaire et stocké dans un fichier. Un processus Un processus est une instance d un programme chargé dans la mémoire d un ordinateur décrit l état d avancement d un programme exécuté par l ordinateur. Une fois les instructions entièrement exécutées, il disparait. Pour 1 programme 0, 1, ou n processus possibles. Analogie : une recette de cuisine (programme), et l action de cuisiner cette recette (processus) 10

17 À la découverte des systèmes d exploitation, et UNIX De la nécessité des systèmes d exploitation Exécution d un processus Objectif d un processus Exécuter les instructions du programme Manipuler le matériel (disques, imprimante, mémoire) Effectuer des calculs Ressources requises Un processus manipule des valeurs, stockées dans des variables et effectue des opérations sur ces dernières. Pour s exécuter correctement, il a besoin de deux ressources primordiales : De la mémoire : stockage des données, des variables De la puissance de calcul : opérations sur les variables 11

18 À la découverte des systèmes d exploitation, et UNIX De la nécessité des systèmes d exploitation Exécution d un processus Objectif d un processus Exécuter les instructions du programme Manipuler le matériel (disques, imprimante, mémoire) Effectuer des calculs Ressources requises Un processus manipule des valeurs, stockées dans des variables et effectue des opérations sur ces dernières. Pour s exécuter correctement, il a besoin de deux ressources primordiales : De la mémoire : stockage des données, des variables De la puissance de calcul : opérations sur les variables 11

19 À la découverte des systèmes d exploitation, et UNIX De la nécessité des systèmes d exploitation Contrôle du matériel par un processus Discussion processus - matériel Pour manipuler un périphérique, un processus pourrait directement "discuter" avec ce dernier, à condition qu il sache comment dialoguer avec ce dernier Inconvénient : le processus doit savoir comment dialoguer avec le périphérique. Si le périphérique change, le processus doit alors apprendre à dialoguer avec le nouveau périphérique Intérêt du système d exploitation (SE) - Operating System (OS) l OS sert d interface entre le processus et le périphérique Le processus n a plus besoin de savoir comment dialoguer avec le périphérique. S il veut dialoguer avec un périphérique, il envoie son instruction au système d exploitation, qui la communique au périphérique via son pilote (driver). 12

20 À la découverte des systèmes d exploitation, et UNIX De la nécessité des systèmes d exploitation Contrôle du matériel par un processus Discussion processus - matériel Pour manipuler un périphérique, un processus pourrait directement "discuter" avec ce dernier, à condition qu il sache comment dialoguer avec ce dernier Inconvénient : le processus doit savoir comment dialoguer avec le périphérique. Si le périphérique change, le processus doit alors apprendre à dialoguer avec le nouveau périphérique Intérêt du système d exploitation (SE) - Operating System (OS) l OS sert d interface entre le processus et le périphérique Le processus n a plus besoin de savoir comment dialoguer avec le périphérique. S il veut dialoguer avec un périphérique, il envoie son instruction au système d exploitation, qui la communique au périphérique via son pilote (driver). 12

21 À la découverte des systèmes d exploitation, et UNIX Caractéristiques des systèmes d exploitation Table des matières 1 À la découverte des systèmes d exploitation, et UNIX 2 La gestion de fichiers sous UNIX Rappels (?) sur le codage d une information Fichiers, arborescences et navigation Le système de fichiers Droits d accès et restrictions Manipulation de fichiers Fichiers, utilisateurs multiples, et configurations originales Stockage des fichiers sur les blocs d un disque 3 Processus 4 Gestion des entrées-sorties 13

22 À la découverte des systèmes d exploitation, et UNIX Caractéristiques des systèmes d exploitation Rôle d un système d exploitation Rôle principal Exécuter les processus : fournir les ressources nécessaires Assurer la liaison entre les ressources matérielles, les applications (processus), et l utilisateur Missions générales Gestion du processeur (ressource de calcul) Gestion de la mémoire Gestion des entrées-sorties (communication matériel) Exécution des applications Gestion des fichiers et droits d accès Diagnostic de la machine 14

23 À la découverte des systèmes d exploitation, et UNIX Caractéristiques des systèmes d exploitation Question 1 Combien de systèmes d exploitation connaissez vous? 2 Combien existe-t il de systèmes d exploitation à votre avis? 15

24 À la découverte des systèmes d exploitation, et UNIX Caractéristiques des systèmes d exploitation Les systèmes d exploitation sont partout! Ordinateurs Serveurs, mainframes Périphériques réseau : commutateurs, routeurs, box internet PDA, Liseuses numériques Tablettes, smartphones Calculatrices Capteurs, TV connectées Même pour des lego (BrickOS)... Remarque Des centaines de systèmes d exploitation listés sur wikipedia (en) : https: //en.wikipedia.org/wiki/list_of_operating_systems 16

25 À la découverte des systèmes d exploitation, et UNIX Caractéristiques des systèmes d exploitation Caractéristiques d un système d exploitation Gestion des utilisateurs Un système d exploitation peut être : Mono-utilisateur : un seul utilisateur du système (accès total) Multi-utilisateurs : plusieurs utilisateurs peuvent travailler Notion de comptes utilisateurs Besoin d un espace personnel Mécanismes de sécurité pour protéger la confidentialité 17

26 À la découverte des systèmes d exploitation, et UNIX Caractéristiques des systèmes d exploitation Caractéristiques d un système d exploitation Gestion des processus Un système d exploitation peut être : Mono-tâche : un seul processus est exécuté à la fois Multi-tâches : plusieurs processus peuvent s exécuter en simultané a Plus difficile à gérer Besoin de mécanismes pour partager les ressources entre processus exécutés a. en apparence, car en réalité : c est plus compliqué 18

27 À la découverte des systèmes d exploitation, et UNIX Caractéristiques des systèmes d exploitation Questions Pouvez-vous citer des exemples de systèmes 1 Mono-utilisateur et mono-tâche : 2 Mono-utilisateur et multi-tâches : 3 Multi-utilisateurs et multi-tâches : 19

28 À la découverte des systèmes d exploitation, et UNIX Caractéristiques des systèmes d exploitation Questions Pouvez-vous citer des exemples de systèmes 1 Mono-utilisateur et mono-tâche : Calculatrice, MS-DOS 2 Mono-utilisateur et multi-tâches : 3 Multi-utilisateurs et multi-tâches : 19

29 À la découverte des systèmes d exploitation, et UNIX Caractéristiques des systèmes d exploitation Questions Pouvez-vous citer des exemples de systèmes 1 Mono-utilisateur et mono-tâche : Calculatrice, MS-DOS 2 Mono-utilisateur et multi-tâches : ipads, Smartphones 3 Multi-utilisateurs et multi-tâches : 19

30 À la découverte des systèmes d exploitation, et UNIX Caractéristiques des systèmes d exploitation Questions Pouvez-vous citer des exemples de systèmes 1 Mono-utilisateur et mono-tâche : Calculatrice, MS-DOS 2 Mono-utilisateur et multi-tâches : ipads, Smartphones 3 Multi-utilisateurs et multi-tâches : Windows 8, Mac OS X 19

31 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX Table des matières 1 À la découverte des systèmes d exploitation, et UNIX 2 La gestion de fichiers sous UNIX Rappels (?) sur le codage d une information Fichiers, arborescences et navigation Le système de fichiers Droits d accès et restrictions Manipulation de fichiers Fichiers, utilisateurs multiples, et configurations originales Stockage des fichiers sur les blocs d un disque 3 Processus 4 Gestion des entrées-sorties 20

32 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX UNIX Présentation d UNIX Système d exploitation multi-utilisateurs multi-tâches Créé en 1969 : plus de 50 ans d histoire Référence dans le monde académique et l industrie informatique Source d inspiration pour nombreux OS : UNIX-like Forces : possède un interpréteur de commande, le shell, qui permet une intéraction poussée utilisateur - système repose sur de nombreux petits utilitaires ayant chacun une action spécifique, et commutables entre eux Forte interaction avec le langage C 21

33 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX Ken Thompson (gauche) - Dennis Ritchie (droite) 22

34 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX Naissance d UNIX 1964 Système Multics (MULTiplexed Information and Computing Service) par le MIT, Bell Labs et GE 1969 S inspirant de Multics, Ken Thompson, ingénieur Bell Labs, crée un système d exploitation mono-utilisateur en langage assembleur, qu il baptise Unics 1970 Unics renommé en Unix, puis UNIX Trop difficile à maintenir en langage assembleur. Ken Thompson définit le B, un nouveau langage de programmation inspiré du BCPL, dans l optique de réécrire UNIX Dennis Ritchie s inspire du B pour définir un nouveau langage, le New B, renommé ensuite C 1972 UNIX entièrement réécrit en C 23

35 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX Naissance d UNIX 1964 Système Multics (MULTiplexed Information and Computing Service) par le MIT, Bell Labs et GE 1969 S inspirant de Multics, Ken Thompson, ingénieur Bell Labs, crée un système d exploitation mono-utilisateur en langage assembleur, qu il baptise Unics 1970 Unics renommé en Unix, puis UNIX Trop difficile à maintenir en langage assembleur. Ken Thompson définit le B, un nouveau langage de programmation inspiré du BCPL, dans l optique de réécrire UNIX Dennis Ritchie s inspire du B pour définir un nouveau langage, le New B, renommé ensuite C 1972 UNIX entièrement réécrit en C 23

36 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX Naissance d UNIX 1964 Système Multics (MULTiplexed Information and Computing Service) par le MIT, Bell Labs et GE 1969 S inspirant de Multics, Ken Thompson, ingénieur Bell Labs, crée un système d exploitation mono-utilisateur en langage assembleur, qu il baptise Unics 1970 Unics renommé en Unix, puis UNIX Trop difficile à maintenir en langage assembleur. Ken Thompson définit le B, un nouveau langage de programmation inspiré du BCPL, dans l optique de réécrire UNIX Dennis Ritchie s inspire du B pour définir un nouveau langage, le New B, renommé ensuite C 1972 UNIX entièrement réécrit en C 23

37 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX Naissance d UNIX 1974 UNIX version 5. Depuis 1956, A T&T (dont dépend Bell Labs) ne peut commercialiser autre chose que des équipements téléphoniques. UNIX est alors donné avec code source aux universités (moyennant licence de faible coût) 1975 UNIX version 6. Première version à être commerciales autorisées Branches de développement : La branche de recherche d AT&T : UNIX versions 8 à 10 La branche commerciale d AT&T : System III, System V L université de Californie à Berkeley : Berkeley Software Distribution jusqu en s Apparition des UNIX-like (dont Linux), guerre des UNIX 24

38 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX Naissance d UNIX 1974 UNIX version 5. Depuis 1956, A T&T (dont dépend Bell Labs) ne peut commercialiser autre chose que des équipements téléphoniques. UNIX est alors donné avec code source aux universités (moyennant licence de faible coût) 1975 UNIX version 6. Première version à être commerciales autorisées Branches de développement : La branche de recherche d AT&T : UNIX versions 8 à 10 La branche commerciale d AT&T : System III, System V L université de Californie à Berkeley : Berkeley Software Distribution jusqu en s Apparition des UNIX-like (dont Linux), guerre des UNIX 24

39 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX Naissance d UNIX 1974 UNIX version 5. Depuis 1956, A T&T (dont dépend Bell Labs) ne peut commercialiser autre chose que des équipements téléphoniques. UNIX est alors donné avec code source aux universités (moyennant licence de faible coût) 1975 UNIX version 6. Première version à être commerciales autorisées Branches de développement : La branche de recherche d AT&T : UNIX versions 8 à 10 La branche commerciale d AT&T : System III, System V L université de Californie à Berkeley : Berkeley Software Distribution jusqu en s Apparition des UNIX-like (dont Linux), guerre des UNIX 24

40 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX 25

41 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX UNIX aujourd hui Présence d UNIX / UNIX-like Linux depuis 1990 Mac OS X : dérivé d UNIX Solaris et Open Solaris Free BSD / Net BSD / Open BSD Et bien d autres... La famille Linux Nombreuses distributions orientées particuliers Distribution = noyau Linux + packages spécifiques Interface graphique spécifiques, outils différents, outils de d installation et de mise à jour des programmes différents, fréquence des maj,... Mais globalement : même système d exploitation 26

42 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX UNIX aujourd hui Présence d UNIX / UNIX-like Linux depuis 1990 Mac OS X : dérivé d UNIX Solaris et Open Solaris Free BSD / Net BSD / Open BSD Et bien d autres... La famille Linux Nombreuses distributions orientées particuliers Distribution = noyau Linux + packages spécifiques Interface graphique spécifiques, outils différents, outils de d installation et de mise à jour des programmes différents, fréquence des maj,... Mais globalement : même système d exploitation 26

43 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX L architecture UNIX Application Shell Noyau Matériel Applications Noyau Shell 27

44 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX Au coeur du système : le noyau (kernel) Le noyau : la partie principale du système d exploitation Gestion des ressources Communication entre logiciel et matériel Niveau d abstraction pour le matériel Communication inter-processus Gestion du système de fichiers Support réseau Modèle de pilotes pour le matériel Comporte de nombreuses fonctions qui permettent un accès direct au matériel (disques durs, mémoire,...) 28

45 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX Le shell UNIX (anglais : coquille) Le shell UNIX est un programme qui permet d accéder aux fonctionnalités du système d exploitation (1/2) Logiciel du système d exploitation Interaction entre l utilisateur et le système d exploitation lancement / arrêt des programme, contrôle des processus, manipulation des fichiers,... Interprétation et exécution des instructions de l utilisateur : Interpréteur de commandes Outil très puissant et programmable : manipulation de variables Le shell se présente sous la forme d une interface en ligne de commande accessible depuis la console à partir d un terminal. 29

46 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX Exemple de shell UNIX lancé avec l outil terminal (équivalent windows : cmd.exe) 30

47 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX Le shell UNIX Le shell UNIX est un programme qui permet d accéder aux fonctionnalités du système d exploitation (2/2) Il n existe pas qu un seul shell, mais plusieurs possibles bash, tcsh, csh, sh,... Mêmes fonctions générales Syntaxe, commandes internes, et comportements par défauts peuvent varier légèrement à modérément selon les shells Ligne de commande vs graphiques 31

48 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX Accès à un système UNIX Utilisation d UNIX UNIX est un système multi-utilisateurs Besoin d un compte utilisateur pour pouvoir s authentifier sur le système d exploitation Une fois authentifié : possibilité de lancer des applications Différentes classes d utilisateurs 32

49 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX Utilisateurs du système Utilisateurs standards Peuvent exécuter des applications, gérer un espace personnel Ne sont pas autorisés à installer / supprimer des applications Ne peuvent pas modifier les parties sensibles du système Administrateurs Possèdent tous les droits d un utilisateur standard Peuvent également modifier les parties sensibles du système : configuration, accès aux espaces personnels des utilisateurs,... Utilisateurs virtuels Dédiés à l exécution de certains services et applications 33

50 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX Utilisateurs du système Utilisateurs standards Peuvent exécuter des applications, gérer un espace personnel Ne sont pas autorisés à installer / supprimer des applications Ne peuvent pas modifier les parties sensibles du système Administrateurs Possèdent tous les droits d un utilisateur standard Peuvent également modifier les parties sensibles du système : configuration, accès aux espaces personnels des utilisateurs,... Utilisateurs virtuels Dédiés à l exécution de certains services et applications 33

51 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX Utilisateurs du système Utilisateurs standards Peuvent exécuter des applications, gérer un espace personnel Ne sont pas autorisés à installer / supprimer des applications Ne peuvent pas modifier les parties sensibles du système Administrateurs Possèdent tous les droits d un utilisateur standard Peuvent également modifier les parties sensibles du système : configuration, accès aux espaces personnels des utilisateurs,... Utilisateurs virtuels Dédiés à l exécution de certains services et applications 33

52 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX Utilisateurs du système Remarque Utilisateurs organisés en groupes Permet de gérer des accès en fonction de communautés Chaque utilisateur appartient à au moins un groupe 34

53 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX Utilisateurs du système Utilisateurs UNIX caractérisés par sept éléments 1 Identifiant, ou login 2 Mot de passe 3 UID : User ID, ou numéro d identifiant utilisateur 4 GID : Group ID, ou numéro d identifiant du groupe par défaut 5 Nom : Nom réel de l utilisateur 6 Répertoire personnel : Répertoire propre à l utilisateur, dans lequel il peut stocker des fichiers. 7 Shell : Le premier programme à être lancé lorsque l utilisateur s authentifie sur le système. 35

54 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX Utilisation d un système UNIX Accès au système Saisie de l identifiant puis du mot de passe En mode console le mot de passe n est pas affiché, ni même les caractères * : tout taper à l aveugle Exécution de commandes Ouverture d un terminal qui exécute un shell Saisie des commandes et exécution Déconnexion du système Via l interface graphique commandes logout ou exit en ligne de commande 36

55 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX Utilisation d un système UNIX Accès au système Saisie de l identifiant puis du mot de passe En mode console le mot de passe n est pas affiché, ni même les caractères * : tout taper à l aveugle Exécution de commandes Ouverture d un terminal qui exécute un shell Saisie des commandes et exécution Déconnexion du système Via l interface graphique commandes logout ou exit en ligne de commande 36

56 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX Utilisation d un système UNIX Accès au système Saisie de l identifiant puis du mot de passe En mode console le mot de passe n est pas affiché, ni même les caractères * : tout taper à l aveugle Exécution de commandes Ouverture d un terminal qui exécute un shell Saisie des commandes et exécution Déconnexion du système Via l interface graphique commandes logout ou exit en ligne de commande 36

57 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX Notion de commandes Une commande Programme : effectue une suite d instruction Interaction entre l utilisateur et le système d exploitation Action précise et bien définie Commandes UNIX : agit sur le système, effectue une opération, renvoie un résultat,... Syntaxe : Propre à chaque commande Commande simples Commande avec option et arguments Commande : quoi faire? Option : comment le faire? Argument : sur quoi le faire? 37

58 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX Saisie des commandes dans le shell (notez le prompt) 38

59 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX Exécution de premières commandes La commande date Affiche l heure et le jour configurés sur le système La commande hostname Affiche le nom de la machine à l écran La commande echo Affiche à l écran un message passé en argument 1 benoit$ date 2 Lun 20 jul :33:21 CEST 3 4 benoit$ hostname 5 Galactica 6 7 benoit$ echo "hello world" 8 hello world 39

60 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX Exécution de premières commandes La commande date Affiche l heure et le jour configurés sur le système La commande hostname Affiche le nom de la machine à l écran La commande echo Affiche à l écran un message passé en argument 1 benoit$ date 2 Lun 20 jul :33:21 CEST 3 4 benoit$ hostname 5 Galactica 6 7 benoit$ echo "hello world" 8 hello world 39

61 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX Exécution de premières commandes La commande date Affiche l heure et le jour configurés sur le système La commande hostname Affiche le nom de la machine à l écran La commande echo Affiche à l écran un message passé en argument 1 benoit$ date 2 Lun 20 jul :33:21 CEST 3 4 benoit$ hostname 5 Galactica 6 7 benoit$ echo "hello world" 8 hello world 39

62 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX Exécution de premières commandes La commande date Affiche l heure et le jour configurés sur le système La commande hostname Affiche le nom de la machine à l écran La commande echo Affiche à l écran un message passé en argument 1 benoit$ date 2 Lun 20 jul :33:21 CEST 3 4 benoit$ hostname 5 Galactica 6 7 benoit$ echo "hello world" 8 hello world 39

63 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX Variables et shell On peut manipuler des variables dans le shell Création d une variable par simple affectation : opérateur = syntaxe : nomvar=valeur Non typées, mais besoin d un identificateur (nom) : Ne peut pas commencer par un chiffre Caractères autorisés : 0..9, A..Z, a..z, _ Récupérer la valeur d une variable : $nomvar Afficher à l écran la valeur d une variable : echo $nomvar 1 benoit$ A=bonjour 2 benoit$ B=5 3 4 benoit$ echo $A 5 bonjour 6 benoit$ echo A 7 A 8 benoit$ echo A vaut $A et B vaut $B 9 A vaut bonjour et B vaut 5 40

64 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX Variables et shell Certaines variables existent déjà : Variables d environnement Créées par le shell, mais accessibles à l utilisateur. Accès identique, mais leur valeur est gérée par le shell Exemple de quelques variables d environnement Nom Contenu RANDOM Génère un nombre aléatoire entre 0 et LOGNAME Affiche le nom de l utilisateur HOSTNAME Affiche le nom de la machine Autres variables vues dans la suite du cours liste complète en aide-mémoire, ou commande set 41

65 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX Variables et shell 1 benoit$ echo $HOSTNAME 2 Galactica 3 4 benoit$ echo $LOGNAME 5 benoit 6 7 benoit$ echo $RANDOM benoit$ echo $RANDOM benoit$ echo $RANDOM benoit$ echo $RANDOM

66 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX Question 1 Créez une variable nommée prénom et affectez-lui votre prénom 2 Créez une variable nommée nom et affectez-lui votre nom 3 Affichez un message de bienvenue personnalisé à votre prénom et nom 43

67 À la découverte des systèmes d exploitation, et UNIX présentation d UNIX Question 1 Créez une variable nommée prénom et affectez-lui votre prénom 2 Créez une variable nommée nom et affectez-lui votre nom 3 Affichez un message de bienvenue personnalisé à votre prénom et nom Réponse : 1 prenom= benoit 2 nom= darties 3 echo "bonjour $prenom $nom. Comment allez-vous?" 43

68 À la découverte des systèmes d exploitation, et UNIX La documentation UNIX Table des matières 1 À la découverte des systèmes d exploitation, et UNIX 2 La gestion de fichiers sous UNIX Rappels (?) sur le codage d une information Fichiers, arborescences et navigation Le système de fichiers Droits d accès et restrictions Manipulation de fichiers Fichiers, utilisateurs multiples, et configurations originales Stockage des fichiers sur les blocs d un disque 3 Processus 4 Gestion des entrées-sorties 44

69 À la découverte des systèmes d exploitation, et UNIX La documentation UNIX Trouver de l aide Nombreuses sources de documentation Tutoriels, forum de discussion, moteur de recherches, RFC, wiki, livres... Documentation incluse dans le système man : commandes externes, fonctions, programmes,... help : commandes internes Ces documents font office de référence dans la communauté UNIX 45

70 À la découverte des systèmes d exploitation, et UNIX La documentation UNIX Trouver de l aide 1 benoit$ help echo 2 echo: echo [-nee] [arg...] 3 Output the ARGs. If -n is specified, the trailing newline is 4 suppressed. If the -e option is given, interpretation of the 5 following backslash-escaped characters is turned on: 6 \a alert (bell) 7 \b backspace 8 \c suppress trailing newline 9 \E escape character 10 \f form feed 11 \n new line 12 \r carriage return 13 \t horizontal tab 14 \v vertical tab 15 \\ backslash 16 \0nnn the character whose ASCII code is NNN (octal). NNN can be 17 0 to 3 octal digits You can explicitly turn off the interpretation of the above characters 20 with the -E option. 46

71 À la découverte des systèmes d exploitation, et UNIX La documentation UNIX Trouver de l aide 1 benoit$ help hostname 2 -bash: help: no help topics match hostname. Try help help or man -k hostname or info hostname. 3 4 benoit$ man hostname 5 HOSTNAME(1) BSD General Commands Manual HOSTNAME(1) 6 NAME 7 hostname -- set or print name of current host system 8 SYNOPSIS 9 hostname [-fs] [name-of-host] 10 DESCRIPTION 11 The hostname utility prints the name of the current host. The super-user can set the hostname by supplying an argument. To keep the hostname between reboots, run scutil --set HostName name-of-host. 12 Options: 13 -f Include domain information in the printed name. This is the default behavior. 14 -s Trim off any domain information from the printed name. 15 SEE ALSO 16 gethostname(3), scutil(8) 17 HISTORY 18 The hostname command appeared in 4.2BSD. 19 BSD December 7, 2006 BSD 47

72 À la découverte des systèmes d exploitation, et UNIX La documentation UNIX Avant de demander de l aide : RFTM (Read The Fucking Manual)! 48

73 À la découverte des systèmes d exploitation, et UNIX La documentation UNIX Expressions similaires RTFM : Read The Fucking Manual GIYF : Google Is Your Friend GETA : Google Est Ton Ami STFW : Search The Fucking Web LMGTFY : Let Me Google That For You Cherchez d abord par vous-même avant de demander de l aide! 49

74 La gestion de fichiers sous UNIX Table des matières 1 À la découverte des systèmes d exploitation, et UNIX 2 La gestion de fichiers sous UNIX 3 Processus 4 Gestion des entrées-sorties 5 Les outils 6 Premiers scripts 50

75 La gestion de fichiers sous UNIX Rappels (?) sur le codage d une information Table des matières 1 À la découverte des systèmes d exploitation, et UNIX 2 La gestion de fichiers sous UNIX 3 Processus 4 Gestion des entrées-sorties 5 Les outils 6 Premiers scripts 51

76 La gestion de fichiers sous UNIX Rappels (?) sur le codage d une information Fichier et codage De l information vers le fichier Toute information (image, texte, vidéo) peut se représenter sous une forme binaire Information binaire : Cette transformation est le résultat de l application de règles de conversions strictes et connues, le format de données Pour une information données (exemple image), plusieurs formats de données possibles (gif, jpeg, png, bmp,...) 52

77 La gestion de fichiers sous UNIX Rappels (?) sur le codage d une information Exemple d encodage d une image Codage d une image noir et blanc vers suite d octets 8 premiers bits : largeur de l image en pixels 8 bits suivants : hauteur de l image en pixels lecture séquentielle des lignes de l image, en commençant en haut. Pour chaque pixel noir, ajout d un bit à 1, pour chaque pixel blanc, ajout d un bit à 0. On recommence jusqu à la dernière ligne. image 8 7 pixels

78 La gestion de fichiers sous UNIX Rappels (?) sur le codage d une information Exemple d encodage d une image Codage d une image noir et blanc vers suite d octets 8 premiers bits : largeur de l image en pixels 8 bits suivants : hauteur de l image en pixels lecture séquentielle des lignes de l image, en commençant en haut. Pour chaque pixel noir, ajout d un bit à 1, pour chaque pixel blanc, ajout d un bit à 0. On recommence jusqu à la dernière ligne. image 8 7 pixels

79 La gestion de fichiers sous UNIX Rappels (?) sur le codage d une information Exemple d encodage d une image Codage d une image noir et blanc vers suite d octets 8 premiers bits : largeur de l image en pixels 8 bits suivants : hauteur de l image en pixels lecture séquentielle des lignes de l image, en commençant en haut. Pour chaque pixel noir, ajout d un bit à 1, pour chaque pixel blanc, ajout d un bit à 0. On recommence jusqu à la dernière ligne. image 8 7 pixels

80 La gestion de fichiers sous UNIX Rappels (?) sur le codage d une information Exemple d encodage d une image Codage d une image noir et blanc vers suite d octets 8 premiers bits : largeur de l image en pixels 8 bits suivants : hauteur de l image en pixels lecture séquentielle des lignes de l image, en commençant en haut. Pour chaque pixel noir, ajout d un bit à 1, pour chaque pixel blanc, ajout d un bit à 0. On recommence jusqu à la dernière ligne. image 8 7 pixels

81 La gestion de fichiers sous UNIX Rappels (?) sur le codage d une information Exemple d encodage d une image Codage d une image noir et blanc vers suite d octets 8 premiers bits : largeur de l image en pixels 8 bits suivants : hauteur de l image en pixels lecture séquentielle des lignes de l image, en commençant en haut. Pour chaque pixel noir, ajout d un bit à 1, pour chaque pixel blanc, ajout d un bit à 0. On recommence jusqu à la dernière ligne. image 8 7 pixels

82 La gestion de fichiers sous UNIX Rappels (?) sur le codage d une information Exemple d encodage d une image Codage d une image noir et blanc vers suite d octets 8 premiers bits : largeur de l image en pixels 8 bits suivants : hauteur de l image en pixels lecture séquentielle des lignes de l image, en commençant en haut. Pour chaque pixel noir, ajout d un bit à 1, pour chaque pixel blanc, ajout d un bit à 0. On recommence jusqu à la dernière ligne. image 8 7 pixels

83 La gestion de fichiers sous UNIX Rappels (?) sur le codage d une information Exemple d encodage d une image Codage d une image noir et blanc vers suite d octets 8 premiers bits : largeur de l image en pixels 8 bits suivants : hauteur de l image en pixels lecture séquentielle des lignes de l image, en commençant en haut. Pour chaque pixel noir, ajout d un bit à 1, pour chaque pixel blanc, ajout d un bit à 0. On recommence jusqu à la dernière ligne. image 8 7 pixels

84 La gestion de fichiers sous UNIX Rappels (?) sur le codage d une information Exemple d encodage d une image Codage d une image noir et blanc vers suite d octets 8 premiers bits : largeur de l image en pixels 8 bits suivants : hauteur de l image en pixels lecture séquentielle des lignes de l image, en commençant en haut. Pour chaque pixel noir, ajout d un bit à 1, pour chaque pixel blanc, ajout d un bit à 0. On recommence jusqu à la dernière ligne. image 8 7 pixels

85 La gestion de fichiers sous UNIX Rappels (?) sur le codage d une information Exemple d encodage d une image Question En utilisant le même format de données, quelle image obtient-on avec la séquence suivante? premiers bits : largeur de l image en pixels 8 bits suivants : hauteur de l image en pixels lecture séquentielle des lignes de l image, en commençant en haut. Pour chaque pixel noir, ajout d un bit à 1, pour chaque pixel blanc, ajout d un bit à 0. On recommence jusqu à la dernière ligne. 54

86 La gestion de fichiers sous UNIX Rappels (?) sur le codage d une information Exemple d encodage d une image Question En utilisant le même format de données, quelle image obtient-on avec la séquence suivante? premiers bits : largeur de l image en pixels 8 bits suivants : hauteur de l image en pixels lecture séquentielle des lignes de l image, en commençant en haut. Pour chaque pixel noir, ajout d un bit à 1, pour chaque pixel blanc, ajout d un bit à 0. On recommence jusqu à la dernière ligne. 54

87 La gestion de fichiers sous UNIX Rappels (?) sur le codage d une information Exemple d encodage d un texte Codage d un texte comportant des lettres et ponctuation 26 caractères + les caractères _,. Chaque caractère est associé à son indice dans l alphabet : A = 1, B=2, C=3,..., Z=26 le caractère _ = 0, le caractère, = 27 et. = 28 Total : 29 caractères de 0 à 28. Chaque caractère être codé de manière unique avec 5 bits (car 2 5 = 32 > 29) I N F O T R O Message Décimal binaire 55

88 La gestion de fichiers sous UNIX Rappels (?) sur le codage d une information Exemple d encodage d un texte Codage d un texte comportant des lettres et ponctuation 26 caractères + les caractères _,. Chaque caractère est associé à son indice dans l alphabet : A = 1, B=2, C=3,..., Z=26 le caractère _ = 0, le caractère, = 27 et. = 28 Total : 29 caractères de 0 à 28. Chaque caractère être codé de manière unique avec 5 bits (car 2 5 = 32 > 29) I N F O T R O Message Décimal binaire 55

89 La gestion de fichiers sous UNIX Rappels (?) sur le codage d une information Exemple d encodage d un texte Codage d un texte comportant des lettres et ponctuation 26 caractères + les caractères _,. Chaque caractère est associé à son indice dans l alphabet : A = 1, B=2, C=3,..., Z=26 le caractère _ = 0, le caractère, = 27 et. = 28 Total : 29 caractères de 0 à 28. Chaque caractère être codé de manière unique avec 5 bits (car 2 5 = 32 > 29) I N F O T R O Message Décimal binaire 55

90 La gestion de fichiers sous UNIX Rappels (?) sur le codage d une information Exemple d encodage d un texte Codage d un texte comportant des lettres et ponctuation 26 caractères + les caractères _,. Chaque caractère est associé à son indice dans l alphabet : A = 1, B=2, C=3,..., Z=26 le caractère _ = 0, le caractère, = 27 et. = 28 Total : 29 caractères de 0 à 28. Chaque caractère être codé de manière unique avec 5 bits (car 2 5 = 32 > 29) I N F O T R O Message Décimal binaire 55

91 La gestion de fichiers sous UNIX Rappels (?) sur le codage d une information Exemple de décodage d un texte Question En utilisant le même format de données, quel texte obtient-on avec la séquence suivante? caractères + les caractères _, et. Chaque caractère est associé à son indice dans l alphabet : A = 1, B=2, C=3,..., Z=26 le caractère _ = 0, le caractère, = 27 et. = 28 Total : 29 caractères. Chaque caractère codé avec 5 bits 56

92 La gestion de fichiers sous UNIX Rappels (?) sur le codage d une information Exemple de décodage d un texte Question En utilisant le même format de données, quel texte obtient-on avec la séquence suivante? A _ D C X P U I U F B, R P Q. 26 caractères + les caractères _, et. Chaque caractère est associé à son indice dans l alphabet : A = 1, B=2, C=3,..., Z=26 le caractère _ = 0, le caractère, = 27 et. = 28 Total : 29 caractères. Chaque caractère codé avec 5 bits 56

93 La gestion de fichiers sous UNIX Rappels (?) sur le codage d une information Fichier et information Un fichier est une suite d octets, qui décrit une information Le codage cette information en octets, et son décodage (interprétation) serait grace au format de fichier L extension d un fichier (ex.jpg,.doc,.mp3) est simplement une indication sur le format supposé d un fichier Mais cette indication peut-être fausse : si on change l extension Changer l extension d un fichier ne change pas son codage 57

94 La gestion de fichiers sous UNIX Fichiers, arborescences et navigation Table des matières 1 À la découverte des systèmes d exploitation, et UNIX 2 La gestion de fichiers sous UNIX 3 Processus 4 Gestion des entrées-sorties 5 Les outils 6 Premiers scripts 58

95 La gestion de fichiers sous UNIX Fichiers, arborescences et navigation Les fichiers sous UNIX Concept de fichiers Sous UNIX, tout est vu comme des fichiers : Fichiers réguliers : documents vidéos, images, texte Répertoires Périphériques Mécanismes de communication entre processus Le concept de système de fichier Un système de fichier (FS pour Filesystem) a pour objectif : d organiser les fichiers sur un support (disque, clé USB,...) de définir comment stocker et accéder à leur contenu de stocker des propriétés et informations diverses sur ces fichiers pour permettre leur traitement (accès, sécurité,...) 59

96 La gestion de fichiers sous UNIX Fichiers, arborescences et navigation Les fichiers sous UNIX Concept de fichiers Sous UNIX, tout est vu comme des fichiers : Fichiers réguliers : documents vidéos, images, texte Répertoires Périphériques Mécanismes de communication entre processus Le concept de système de fichier Un système de fichier (FS pour Filesystem) a pour objectif : d organiser les fichiers sur un support (disque, clé USB,...) de définir comment stocker et accéder à leur contenu de stocker des propriétés et informations diverses sur ces fichiers pour permettre leur traitement (accès, sécurité,...) 59

97 La gestion de fichiers sous UNIX Fichiers, arborescences et navigation Organisation en arborescence Les fichiers sont organisés en arborescence, dont la racine est / / etc home... tmp usr var arnaud benoit bin sbin Bureau MP3 Videos 60

98 La gestion de fichiers sous UNIX Fichiers, arborescences et navigation Organisation en arborescence Structure arborescente La racine est / Chaque répertoire peut contenir des fichiers ou des sous-répertoires Une seul arborescence générale Identification des répertoires Chaque répertoire possède un chemin unique depuis la racine, qui définit son nom. Par exemple : /home/benoit/mp3 /tmp /usr/sbin 61

99 La gestion de fichiers sous UNIX Fichiers, arborescences et navigation Question Vous voulez savoir si vous êtes le descendant de Napoleon, et si oui trouver la lignée qui vous connecte. De quelle information (minimale) devez-vous disposer sur n importe quel individu? (deux méthodes possibles) Réponse : 62

100 La gestion de fichiers sous UNIX Fichiers, arborescences et navigation Question Vous voulez savoir si vous êtes le descendant de Napoleon, et si oui trouver la lignée qui vous connecte. De quelle information (minimale) devez-vous disposer sur n importe quel individu? (deux méthodes possibles) Réponse : 62

101 La gestion de fichiers sous UNIX Fichiers, arborescences et navigation Question Vous voulez savoir si vous êtes le descendant de Napoleon, et si oui trouver la lignée qui vous connecte. De quelle information (minimale) devez-vous disposer sur n importe quel individu? (deux méthodes possibles) Réponse : 1 Pour chaque individu, connaitre la liste de ses enfants 62

102 La gestion de fichiers sous UNIX Fichiers, arborescences et navigation Question Vous voulez savoir si vous êtes le descendant de Napoleon, et si oui trouver la lignée qui vous connecte. De quelle information (minimale) devez-vous disposer sur n importe quel individu? (deux méthodes possibles) Réponse : 1 Pour chaque individu, connaitre la liste de ses enfants 2 Pour chaque individu, connaître ses parents 62

103 La gestion de fichiers sous UNIX Fichiers, arborescences et navigation Organisation en arborescence Remarque (A noter pour la suite) En plus de contenir des fichiers et des sous-répertoires, un répertoire contient également son répertoire parent (!?) Par ailleurs, un répertoire se contient lui-même (?!) Pour un répertoire, son répertoire parent est identifié par.. Un répertoire peut s identifier lui-même par. Ces liens ne sont pour l instant pas présentés Les fichiers commençant par un. sont des fichiers cachés 63

104 La gestion de fichiers sous UNIX Fichiers, arborescences et navigation Répertoire de départ Répertoire personnel (ou répertoire maison) Chaque utilisateur possède un répertoire personnel C est son répertoire de départ lorsqu il lance un shell Le caractère ~ désigne ce répertoire pour l utilisateur en cours Il est aussi contenu dans la variable d environnement $HOME Enfin, la séquence ~user1 désigne le répertoire personnel de l utilisateur user1 Pour visualiser le contenu de ces variables : echo 1 benoit$ echo ~ 2 /home/benoit 3 4 benoit$ echo $HOME 5 /home/benoit 6 7 benoit$ echo ~arnaud 8 /home/arnaud 64

105 La gestion de fichiers sous UNIX Fichiers, arborescences et navigation Navigation dans l arborescence Notion de répertoire de travail (ou répertoire courant) Répertoire de travail : répertoire dans lequel l utilisateur se situe à un instant donné Un utilisateur est toujours dans un répertoire de travail Affichage du répertoire de travail : commande pwd, ou variable d environnement $PWD (visualisé avec commande echo) 1 benoit$ echo $PWD 2 /home/benoit 3 4 benoit$ pwd 5 /home/benoit 65

106 La gestion de fichiers sous UNIX Fichiers, arborescences et navigation Navigation dans l arborescence Changer de répertoire (de travail) : commande cd commande cd (change directory) + chemin du nouveau répertoire : permet de changer de répertoire chemin absolu, cad défini depuis la racine / ou relatif, cad défini à partir du répertoire de travail et de caractères joker, tel que ~, ou encore :.. : désigne le répertoire parent d un répertoire. : désigne le répertoire courant (lui-même) Si pas de chemin précisé : retour au répertoire personnel cd - : retour au répertoire de travail précédent 66

107 La gestion de fichiers sous UNIX Fichiers, arborescences et navigation / etc home... tmp usr var arnaud benoit bin sbin Bureau MP3 Videos 67

108 La gestion de fichiers sous UNIX Fichiers, arborescences et navigation 1 benoit$ pwd 2 /home/benoit 3 4 benoit$ cd / 5 benoit$ pwd 6 / 7 8 benoit$ cd /usr/bin 9 benoit$ pwd 10 /usr/bin benoit$ cd ~arnaud 13 benoit$ pwd 14 /home/arnaud benoit$ cd../benoit/mp3 17 benoit$ pwd 18 /home/benoit/mp benoit$ cd - 21 /home/arnaud 68

109 La gestion de fichiers sous UNIX Fichiers, arborescences et navigation Question On vous propose l arborescence suivante :... benoit Bureau MP3 Videos Rock Metal FilmsHD Divx Metallica IronMaiden Quel sera le répertoire de travail, si l on tape les commandes suivantes à partir du répertoire personnel de benoit (en rouge)? 1 cd./mp3/metal/metallica 2 cd./videos/./././divx/././. 3 cd Videos/../MP3/./Metal/././Metallica/./../. 4 cd./bureau/./../.bureau/./././rock 69

110 La gestion de fichiers sous UNIX Fichiers, arborescences et navigation Navigation dans l arborescence Lister le contenu d un répertoire : commande ls commande ls (list directory) : affiche le contenu (fichier et sous-répertoires) d un répertoire peut prendre des arguments : répertoires dont on souhaite lister le contenu. sans argument : liste le contenu du répertoires de travail 1 benoit$ pwd 2 /home/benoit 3 4 benoit$ ls 5 Bureau MP3 Videos 6 7 benoit$ ls /usr 8 bin sbin 9 10 benoit$ ls.. / 11..: 12 arnaud benoit /: 15 etc home tmp usr var 70

111 La gestion de fichiers sous UNIX Fichiers, arborescences et navigation Quelques répertoires usuels sous UNIX Nom Contenu / Racine du système d exploitation /home Contient les répertoires des utilisateurs /bin Commandes essentielles aux utilisateurs /usr/bin La plupart des commandes des utilisateurs /sbin Commandes essentielles avec droits administrateur requis /usr/sbin La plupart des commandes avec droits administrateur requis /tmp Répertoire pour fichier temporaires /var Pour fichier dans lesquels le système écrit périodiquement /var/log Monitoring de l activité du système /etc Fichiers de configuration /usr Programmes, librairies, documentation, en-têtes,... /mnt Pour rattacher des clés USB, disques externes,...(parfois /media ) 71

112 La gestion de fichiers sous UNIX Fichiers, arborescences et navigation Organisation en arborescence Rattachement des périphériques de stockage Un disque logique (clé USB, DVD,...) = sous-arborescence Rattachée à l arborescence générale lorsque périphérique actif Généralement : rattaché dans répertoire /mnt ou /media Montage de partition : mount + point de montage Permet, par ex., de rattacher l arboresence décrivant le système de fichier de la clé USB à l arborescence du système. Cette opération se fait généralement automatiquement quand le système détecte l insertion d une clé USB + ajout raccourci sur le bureau 72

113 La gestion de fichiers sous UNIX Le système de fichiers Table des matières 1 À la découverte des systèmes d exploitation, et UNIX 2 La gestion de fichiers sous UNIX 3 Processus 4 Gestion des entrées-sorties 5 Les outils 6 Premiers scripts 73

114 La gestion de fichiers sous UNIX Le système de fichiers Représentation des fichiers et de l arborescence Objectifs du système de fichier L objectif d un système de fichier est de définir les méthodes et mécanismes principaux permettant de : Stocker les fichiers : données mais également informations complémentaires, appelées méta-données : propriétaire, date de création, etc... Organiser ces derniers selon une arborescence définir comment cette arborescence est codée Plusieurs systèmes de fichiers existants : FAT16, FAT32, NTFS, ext2, ext3, wbfs,...chacun avec ses propres caractéristiques 74

115 La gestion de fichiers sous UNIX Le système de fichiers Adressage d un espace disque Notion de blocs (anglais : clusters) Sur la quasi-totalité des supports (disques durs, clés USB) : Espace de stockage divisé en blocs d octets de taille identique Taille de ces blocs définie par le système de fichier Découpage en blocs fixé lors du formatage du disque Données d un fichier : contenues sur un ou plusieurs blocs Visualisation des blocs et de leur état par divers logiciels Remarque Chaque bloc possède un identifiant unique : adresse / numéro Cette adresse a une taille fixe, exprimée en bits (ex. 16 bits) Conséquence : on ne peut pas avoir un nombre de blocs illimité 75

116 La gestion de fichiers sous UNIX Le système de fichiers Adressage d un espace disque Notion de blocs (anglais : clusters) Sur la quasi-totalité des supports (disques durs, clés USB) : Espace de stockage divisé en blocs d octets de taille identique Taille de ces blocs définie par le système de fichier Découpage en blocs fixé lors du formatage du disque Données d un fichier : contenues sur un ou plusieurs blocs Visualisation des blocs et de leur état par divers logiciels Remarque Chaque bloc possède un identifiant unique : adresse / numéro Cette adresse a une taille fixe, exprimée en bits (ex. 16 bits) Conséquence : on ne peut pas avoir un nombre de blocs illimité 75

117 La gestion de fichiers sous UNIX Le système de fichiers 76

118 La gestion de fichiers sous UNIX Le système de fichiers pause Question Soit un disque dur formaté avec un système de fichier particulier, et ayant les caractéristiques suivantes : Le disque est de taille 4 To La taille de chaque bloc est de 64 Ko Taille d une adresse de bloc : 20 bits Quel est le problème? Tout l espace ne peut pas être adressé! Taille d une adresse : 20 bits 2 20 adresses de blocs possibles Ko 67 Go utilisables au maximum 77

119 La gestion de fichiers sous UNIX Le système de fichiers pause Question Soit un disque dur formaté avec un système de fichier particulier, et ayant les caractéristiques suivantes : Le disque est de taille 4 To La taille de chaque bloc est de 64 Ko Taille d une adresse de bloc : 20 bits Quel est le problème? Tout l espace ne peut pas être adressé! Taille d une adresse : 20 bits 2 20 adresses de blocs possibles Ko 67 Go utilisables au maximum 77

120 La gestion de fichiers sous UNIX Le système de fichiers Organisation des fichier en blocs Relation entre fichiers et blocs 1/2 En fonction de sa taille, un fichier occupe un ou plusieurs blocs Chaque bloc utilisé l est pour un et un seul fichier Taille réelle du fichier vs espace occupé sur le disque Besoin de stocker la taille réelle d un fichier, et pas juste le nombre de blocs occupés Importance de la taille d un bloc sur l espace perdu, le nombre de blocs d un fichier, la vitesse d accès,... 78

121 La gestion de fichiers sous UNIX Le système de fichiers Organisation des fichier en blocs Relation entre fichiers et blocs 2/2 Si tous les blocs qui constituent un fichier sont consécutifs, le fichier est dit défragmenté Sinon : fichier fragmenté Multiples causes à la fragmentation d un disque Défragmentation de disque : réordonner les contenus des blocs afin que pour un fichier donné, les blocs qui le composent soient consécutifs Remarque Pour un fichier donné, il faudra stocker la liste de tous les blocs qui le composent. Problème difficile. 79

122 La gestion de fichiers sous UNIX Le système de fichiers Organisation des fichier en blocs Relation entre fichiers et blocs 2/2 Si tous les blocs qui constituent un fichier sont consécutifs, le fichier est dit défragmenté Sinon : fichier fragmenté Multiples causes à la fragmentation d un disque Défragmentation de disque : réordonner les contenus des blocs afin que pour un fichier donné, les blocs qui le composent soient consécutifs Remarque Pour un fichier donné, il faudra stocker la liste de tous les blocs qui le composent. Problème difficile. 79

123 La gestion de fichiers sous UNIX Le système de fichiers 80

124 La gestion de fichiers sous UNIX Le système de fichiers 81

125 La gestion de fichiers sous UNIX Le système de fichiers 82

126 La gestion de fichiers sous UNIX Le système de fichiers 83

127 La gestion de fichiers sous UNIX Le système de fichiers Codage de l arborescence sur les systèmes UNIX Table d attributs des fichiers Table multi-colonnes où chaque ligne correspond à un fichier. Contient les informations générales sur les fichiers : propriétaire, taille, dates d accès,... Tous les fichiers représentés : fichiers réguliers, répertoires,... Chaque fichier est identifié par un numéro unique : son inode Permet de récupérer la liste des blocs qui contiennent les données du fichier Remarque Le nom du fichier n est pas stocké dans la table d attributs!!!!(?) 84

128 La gestion de fichiers sous UNIX Le système de fichiers Codage de l arborescence sur les systèmes UNIX Table d attributs des fichiers Table multi-colonnes où chaque ligne correspond à un fichier. Contient les informations générales sur les fichiers : propriétaire, taille, dates d accès,... Tous les fichiers représentés : fichiers réguliers, répertoires,... Chaque fichier est identifié par un numéro unique : son inode Permet de récupérer la liste des blocs qui contiennent les données du fichier Remarque Le nom du fichier n est pas stocké dans la table d attributs!!!!(?) 84

129 La gestion de fichiers sous UNIX Le système de fichiers Visualiser l inode d un fichier Commande ls avec option -i Permet de visualiser l inode d un fichier Avec paramètres : inode du fichier paramètre Sans paramètres : inode de tous les fichiers du répertoire courant 1 benoit$ ls -i fichier.jpg fichier.jpg 3 4 benoit$ ls -i 5 42 Bureau 675 MP Videos 191 Fichier.jpg 85

130 La gestion de fichiers sous UNIX Le système de fichiers Liste des attributs couramment stockés dans la table d attributs Inode Propriétaire (UID) Groupe (GID) Type de fichier Droits sur le fichier Taille du fichier Nombre de liens pointant sur le fichier Nombre de blocs utilisés Date de création / accès / modification Adresses des blocs du fichier et bien d autres... 86

131 La gestion de fichiers sous UNIX Le système de fichiers Exemple d une table d attribut des fichiers Num inode Propriétaire... Type Taille (Benoit)... Répertoire (Benoit)... Répertoire (Benoit)... Répertoire (Benoit)... Répertoire (Benoit)... Répertoire (Benoit)... Répertoire (Benoit)... Répertoire (Benoit)... Répertoire (Benoit)... Régulier (Benoit)... Répertoire (Benoit)... Régulier (Benoit)... Régulier (Benoit)... Répertoire

132 La gestion de fichiers sous UNIX Le système de fichiers Visualiser les informations de d un fichier Commande stat Affiche les informations d un ou plusieurs fichiers Permet de spécifier un format des champs a afficher avec -f %N : nom %HT : type de fichiers %i : inode %b : nombre de blocs alloués %z : taille Plus d info : man stat 1 benoit$ stat fichier.jpg rw-rw-rw- 1 benoit staff "Jul 6 02:59: " "Jul 6 04:36: " "Jul 6 04:36: " "Jul 6 02:59: " fichier. jpg 3 4 benoit$ stat -f "\%N \%i : \%z" fichier.jpg 5 fichier.jpg 191 : benoit$ stat -f "Le fichier \%N de type \%HT occupe \%b bloc(s)" fichier.jpg 8 Le fichier fichier.jpg de type Regular File occupe 48 bloc(s) 88

133 La gestion de fichiers sous UNIX Le système de fichiers Codage de l arborescence sur les systèmes UNIX Codage de l arborescence : Un répertoire est vu comme un fichier : il possède un numéro d inode, et une entrée dans la table des attributs Quand un fichier est un répertoire : Les données de ce répertoire sont la liste des fichiers réguliers et sous-répertoires qu il contient Données : liste d éléments associant un numéro d Inode (un fichier décrit dans la table d attributs) à un nom de fichier Exemple de données d un fichier répertoire Le fichier répertoire d inode 42 contient les éléments suivants : Num inode Nom de fichier vacances.jpg 249 EnterSandman.mp3 89

134 La gestion de fichiers sous UNIX Le système de fichiers Codage de l arborescence sur les systèmes UNIX Codage de l arborescence : Un répertoire est vu comme un fichier : il possède un numéro d inode, et une entrée dans la table des attributs Quand un fichier est un répertoire : Les données de ce répertoire sont la liste des fichiers réguliers et sous-répertoires qu il contient Données : liste d éléments associant un numéro d Inode (un fichier décrit dans la table d attributs) à un nom de fichier Exemple de données d un fichier répertoire Le fichier répertoire d inode 42 contient les éléments suivants : Num inode Nom de fichier vacances.jpg 249 EnterSandman.mp3 89

135 La gestion de fichiers sous UNIX Le système de fichiers Conventions Chaque répertoire contient son propre numéro d inode associé au nom. Chaque répertoire contient le numéro d inode de son répertoire parent, associé au nom.. Le répertoire racine / possède le numéro d inode 2 Le répertoire racine / est son propre parent 90

136 La gestion de fichiers sous UNIX Le système de fichiers / (2) Inode Nom fichier home Inode Nom fichier arnaud 23 benoit home (16) Inode Nom fichier arnaud (24) benoit (23) Inode Nom fichier Bureau Inode Nom fichier vacances.jpg 249 EnterSandman.mp3 Bureau (42) vacances.jpg (135) EnterSandMan.mp3 (249) 91

137 La gestion de fichiers sous UNIX Le système de fichiers Remarque Si un fichier (qu il soit régulier ou répertoire) est contenu dans un répertoire, on dit qu il possède un lien physique vers le répertoire. Inode Nom fichier arnaud 23 benoit Inode Nom fichier Inode Nom fichier vacances.jpg 249 EnterSandman.mp3 / (2) home (16) arnaud (24) benoit (23) Bureau (42) Inode Nom fichier home Inode Nom fichier Bureau vacances.jpg (135) EnterSandMan.mp3 (249) 92

138 La gestion de fichiers sous UNIX Le système de fichiers Question Sur le dernier schéma présenté, combien comptez-vous de liens physiques pour les fichiers suivants : vacances.jpg arnaud benoit home / 93

139 La gestion de fichiers sous UNIX Le système de fichiers Question Sur le dernier schéma présenté, combien comptez-vous de liens physiques pour les fichiers suivants : vacances.jpg : 1 arnaud : 2 benoit : 3 home : 4 / : 3 94

140 La gestion de fichiers sous UNIX Le système de fichiers Notion de liens physiques Question Généralisation : 1 Combien un répertoire vide contient-il de liens physiques? 2 Combien un répertoire contient-il de liens physiques? Réponse : 95

141 La gestion de fichiers sous UNIX Le système de fichiers Notion de liens physiques Question Généralisation : 1 Combien un répertoire vide contient-il de liens physiques? 2 Combien un répertoire contient-il de liens physiques? Réponse : 95

142 La gestion de fichiers sous UNIX Le système de fichiers Notion de liens physiques Question Généralisation : 1 Combien un répertoire vide contient-il de liens physiques? 2 Combien un répertoire contient-il de liens physiques? Réponse :

143 La gestion de fichiers sous UNIX Le système de fichiers Notion de liens physiques Question Généralisation : 1 Combien un répertoire vide contient-il de liens physiques? 2 Combien un répertoire contient-il de liens physiques? Réponse : le nombre de sous-répertoires qu il contient 95

144 La gestion de fichiers sous UNIX Le système de fichiers Remarque Questions ouvertes : vue la méthode de codage de l arborescence : 1 Un fichier de type fichier régulier pourrait-il apparaître dans plusieurs répertoires quelconques? 2 Un fichier de type répertoire pourrait-il apparaître dans plusieurs répertoires quelconques? Remarque Ajouter un fichier dans un répertoire revient simplement à ajouter un lien physique du fichier vers le répertoire Supprimer un fichier revient en fait à supprimer un lien physique du fichier vers le répertoire qui contenait le fichier 96

145 La gestion de fichiers sous UNIX Le système de fichiers Remarque Questions ouvertes : vue la méthode de codage de l arborescence : 1 Un fichier de type fichier régulier pourrait-il apparaître dans plusieurs répertoires quelconques? 2 Un fichier de type répertoire pourrait-il apparaître dans plusieurs répertoires quelconques? Remarque Ajouter un fichier dans un répertoire revient simplement à ajouter un lien physique du fichier vers le répertoire Supprimer un fichier revient en fait à supprimer un lien physique du fichier vers le répertoire qui contenait le fichier 96

146 La gestion de fichiers sous UNIX Droits d accès et restrictions Table des matières 1 À la découverte des systèmes d exploitation, et UNIX 2 La gestion de fichiers sous UNIX 3 Processus 4 Gestion des entrées-sorties 5 Les outils 6 Premiers scripts 97

147 La gestion de fichiers sous UNIX Droits d accès et restrictions De la nécessité de droits d accès... Commandes vues jusqu à présent : exécutées dans un système idéal, supposé sans restrictions. Sans restrictions, tout utilisateur pourrait naviguer n importe où dans l arborescence, créer et supprimer des fichiers où bon lui semble,... Conséquence : accès à des informations personnelles, altération du système Besoin de mécanismes permettant de garantir la confidentialité de certaines données par rapport aux utilisateurs, ou de protéger certaines parties sensibles du système 98

148 La gestion de fichiers sous UNIX Droits d accès et restrictions Fichiers et propriétaire Notion de propriétaire et groupe pour un fichier Un fichier, quelle que soit sa nature, possède un et un seul propriétaire a. Généralement : le créateur du fichier Il est également associé à un et un seul groupe d utilisateurs. Généralement : le groupe par défaut du créateur du fichier Visualiser le propriétaire et le groupe d un fichier : commande ls avec option -l a. L utilisation des ACL - Access Control List, n est pas abordée 1 benoit$ ls -l fichier.jpg 2 -rw-r--r-- 1 benoit staff jul 02:59 fichier.jpg 99

149 La gestion de fichiers sous UNIX Droits d accès et restrictions Fichiers et propriétaire Classe d utilisateurs Pour un fichier, les utilisateurs sont partitionnés en trois classes : u : le propriétaire du fichier (user) g : les membres du groupe associé au fichier (group) o : tous les autres utilisateurs (others) Les droits d accès et d utilisation d un fichier (vus après) sont gérés de manière indépendante pour chacune de ces classes d utilisateurs 100

150 La gestion de fichiers sous UNIX Droits d accès et restrictions Actions possibles sur fichiers En fonction de son type, des droits sur un fichier vont différer : Fichier régulier r : droit de lecture (read) w : droit d écriture (write) x : droit d exécution (execute) : n a de sens que pour un programme ou un script Fichier répertoire r : droit de lister le contenu du répertoire (read) w : droit d écriture dans le répertoire (write) ajout / suppression de fichiers dans le répertoire x : droit de navigation et positionnement dans le répertoire 101

151 La gestion de fichiers sous UNIX Droits d accès et restrictions Actions possibles sur fichiers En fonction de son type, des droits sur un fichier vont différer : Fichier régulier r : droit de lecture (read) w : droit d écriture (write) x : droit d exécution (execute) : n a de sens que pour un programme ou un script Fichier répertoire r : droit de lister le contenu du répertoire (read) w : droit d écriture dans le répertoire (write) ajout / suppression de fichiers dans le répertoire x : droit de navigation et positionnement dans le répertoire 101

152 La gestion de fichiers sous UNIX Droits d accès et restrictions Droits sur les fichiers 3 classes d utilisateurs 3 types de droits par utilisateur Soit 9 types droits (2 9 combinaisons) : propriétaire groupe autres r w x r w x r w x Exemples de droits possibles Fichier exécutable protégé en écriture r - x r - x r - x Fichier accessible et exécutable pour le propriétaire seulement r w x Fichier non exécutable éditable seulement par son propriétaire, et qui ne peut pas être lu par les autres. r w - r

153 La gestion de fichiers sous UNIX Droits d accès et restrictions Droits sur les fichiers 3 classes d utilisateurs 3 types de droits par utilisateur Soit 9 types droits (2 9 combinaisons) : propriétaire groupe autres r w x r w x r w x Exemples de droits possibles Fichier exécutable protégé en écriture r - x r - x r - x Fichier accessible et exécutable pour le propriétaire seulement r w x Fichier non exécutable éditable seulement par son propriétaire, et qui ne peut pas être lu par les autres. r w - r

154 La gestion de fichiers sous UNIX Droits d accès et restrictions Visualisation des droits : commande ls Visualiser les droits actuellement appliqués sur un fichier : commande ls avec option -l 1 benoit$ ls -l fichier.jpg 2 -rw-r--r-- 1 benoit staff jul 02:59 fichier.jpg Modifier les droits : commande chmod Exemples Commande chmod (change file mode) appliquée sur fichier Specificateur de droits construit à partir de symboles u : user, g : group, o : others, a : all (par défaut : all) = : affectation, + : ajout, - suppression r : lecture, w : écriture, x : exécution / navigation chmod u+rwx file.txt chmod ug=rw file.txt chmod -w file.txt chmod go+rx-w file.txt chmod u=rwx,go=rw file.txt chmod u=rw,go=u-w file.txt 103

155 La gestion de fichiers sous UNIX Droits d accès et restrictions Visualisation des droits : commande ls Visualiser les droits actuellement appliqués sur un fichier : commande ls avec option -l 1 benoit$ ls -l fichier.jpg 2 -rw-r--r-- 1 benoit staff jul 02:59 fichier.jpg Modifier les droits : commande chmod Exemples Commande chmod (change file mode) appliquée sur fichier Specificateur de droits construit à partir de symboles u : user, g : group, o : others, a : all (par défaut : all) = : affectation, + : ajout, - suppression r : lecture, w : écriture, x : exécution / navigation chmod u+rwx file.txt chmod ug=rw file.txt chmod -w file.txt chmod go+rx-w file.txt chmod u=rwx,go=rw file.txt chmod u=rw,go=u-w file.txt 103

156 La gestion de fichiers sous UNIX Droits d accès et restrictions Visualisation des droits : commande ls Visualiser les droits actuellement appliqués sur un fichier : commande ls avec option -l 1 benoit$ ls -l fichier.jpg 2 -rw-r--r-- 1 benoit staff jul 02:59 fichier.jpg Modifier les droits : commande chmod Exemples Commande chmod (change file mode) appliquée sur fichier Specificateur de droits construit à partir de symboles u : user, g : group, o : others, a : all (par défaut : all) = : affectation, + : ajout, - suppression r : lecture, w : écriture, x : exécution / navigation chmod u+rwx file.txt chmod ug=rw file.txt chmod -w file.txt chmod go+rx-w file.txt chmod u=rwx,go=rw file.txt chmod u=rw,go=u-w file.txt 103

157 La gestion de fichiers sous UNIX Droits d accès et restrictions Un exemple guidé 1 benoit$ ls -l file.txt 2 -rw-rw-rw- 1 benoit staff 0 7 jul 01:43 file.txt 3 4 benoit$ chmod u+x file.txt 5 benoit$ ls -l file.txt 6 -rwxrw-rw- 1 benoit staff 0 7 jul 01:43 file.txt 7 8 benoit$ chmod go-r file.txt 9 benoit$ ls -l file.txt 10 -rwx-w--w- 1 benoit staff 0 7 jul 01:43 file.txt benoit$ chmod u=rx file.txt 13 benoit$ ls -l file.txt 14 -r-x-w--w- 1 benoit staff 0 7 jul 01:43 file.txt benoit$ chmod g=u,o-w+r file.txt 17 benoit$ ls -l file.txt 18 -r-xr-xr-- 1 benoit staff 0 7 jul 01:43 file.txt benoit$ chmod +rwx,go-w file.txt 21 benoit$ ls -l file.txt 22 -rwxr-xr-x 1 benoit staff 0 7 jul 01:43 file.txt 104

158 La gestion de fichiers sous UNIX Droits d accès et restrictions Droits sur les fichiers Peut être vu comme trois mot binaires de 3 chiffres chacun : un chiffre de valeur 1 représente une autorisation un chiffre de valeur 0 représente une interdiction Chaque mot binaire peut se transformer en une valeur décimale exemple : propriétaire groupe autres r w x r - x r - - notation en lettres notation binaire puissance de deux notation décimale 105

159 La gestion de fichiers sous UNIX Droits d accès et restrictions Droits sur les fichiers Peut être vu comme trois mot binaires de 3 chiffres chacun : un chiffre de valeur 1 représente une autorisation un chiffre de valeur 0 représente une interdiction Chaque mot binaire peut se transformer en une valeur décimale exemple : propriétaire groupe autres r w x r - x r - - notation en lettres notation binaire puissance de deux notation décimale 105

160 La gestion de fichiers sous UNIX Droits d accès et restrictions Question : Transformez cette notation à lettres en notation décimale propriétaire groupe autres r - x r w x - - x notation en lettres notation binaire puissance de deux notation décimale Question : Transformez cette notation décimale en notation à lettres propriétaire groupe autres notation décimale notation en lettres 106

161 La gestion de fichiers sous UNIX Droits d accès et restrictions Un exemple guidé 1 benoit$ ls -l file.txt 2 -rw-rw-rw- 1 benoit staff 0 7 jul 01:43 file.txt 3 4 benoit$ chmod 600 file.txt 5 benoit$ ls -l file.txt 6 -rw benoit staff 0 7 jul 01:43 file.txt 7 8 benoit$ chmod 742 file.txt 9 benoit$ ls -l file.txt 10 -rwxr---w- 1 benoit staff 0 7 jul 01:43 file.txt benoit$ chmod 145 file.txt 13 benoit$ ls -l file.txt xr--r-x 1 benoit staff 0 7 jul 01:43 file.txt benoit$ chmod 557 file.txt 17 benoit$ ls -l file.txt 18 -r-xr-xrwx 1 benoit staff 0 7 jul 01:43 file.txt 107

162 La gestion de fichiers sous UNIX Droits d accès et restrictions Droits d accès spéciaux Remarque Il existe d autres types de droits, représentés par une quatrième valeur octale setuid (+s), setgid (+s), sticky Bit (+t) abordés plus tard dans ce cours (chaque chose en son temps) 108

163 La gestion de fichiers sous UNIX Droits d accès et restrictions Droits D accès spéciaux setuid : set User ID on execution : (+s) sur fichier régulier : si exécutable, s exécutera avec les droits du propriétaire, et non de celui qui qui lancera le programme setgid : set Group ID on execution : (+s) sur fichier régulier : si exécutable, s exécutera avec les droits du groupe, et non de celui qui qui lancera le programme sur répertoire : les nouveaux fichiers créés dans ce répertoire hériteront du groupe du répertoire Sticky bit sur fichier exécutable : généralement pas d effet sur répertoire : les nouveaux fichiers créés dans ce répertoire ne pourront être supprimés que par leur propriétaire 109

164 La gestion de fichiers sous UNIX Manipulation de fichiers Table des matières 1 À la découverte des systèmes d exploitation, et UNIX 2 La gestion de fichiers sous UNIX 3 Processus 4 Gestion des entrées-sorties 5 Les outils 6 Premiers scripts 110

165 La gestion de fichiers sous UNIX Manipulation de fichiers Droits et navigation Droits nécessaires pour naviguer dans une arborescence Droits de navigation (+x) sur tous les répertoires ascendants (situés entre la racine et le répertoire visé) Droit de navigation (+x) sur le répertoire visé Si un des répertoires sans droit de navigation : accès refusé Droits nécessaires pour lister le contenu d un répertoire droit navigation (+x) sur tous les répertoires ascendants droit de lecture (+r) sur le répertoire visé 111

166 La gestion de fichiers sous UNIX Manipulation de fichiers Un exemple guidé 1 benoit$ pwd 2 /Users/benoit 3 4 benoit$ ls -l 5 drwxr-xr-x 2 benoit staff jul 12:14 monrep 6 drwxr-xr-x 2 benoit staff jul 12:07 Bureau 7 drwxr-xr-x 2 benoit staff jul 12:07 MP3 8 9 benoit$ cd monrep/ Galactica:monRep benoit$ pwd 12 /Users/benoit/monRep Galactica:monRep benoit$ cd benoit$ chmod -x monrep benoit$ cd monrep/ 19 bash: cd: monrep/: Permission denied benoit$ chmod u+x monrep/ benoit$ cd monrep/ Galactica:monRep benoit$ pwd 26 /Users/benoit/monRep 112

167 La gestion de fichiers sous UNIX Manipulation de fichiers Créer un fichier Créer un nouveau fichier (régulier ou répertoire) D une manière générale, créer un nouveau fichier revient à : ajouter une entrée dans la table d attributs des fichiers, ajouter un lien physique de cette nouvelle entrée vers le répertoire dans lequel sera contenu le fichier Droits nécessaires : Navigation (+x) jusqu au répertoire contenant le fichier Ecriture (+w) sur le répertoire qui contiendra le fichier 113

168 La gestion de fichiers sous UNIX Manipulation de fichiers Créer un nouveau fichier régulier : commande touch usage : touch nomfichier crée le fichier nomfichier s il n existait pas autre usage (originel) : change la date de dernier accès et modification de nomfichier Créer un nouveau répertoire : commande mkdir usage : mkdir [-p] nomrep Crée un répertoire nommé nomrep dans le répertoire de travail avec option -p, crée l ensemble des sous-répertoire si nomrep est une arborescence de répertoires 114

169 La gestion de fichiers sous UNIX Manipulation de fichiers Créer un nouveau fichier régulier : commande touch usage : touch nomfichier crée le fichier nomfichier s il n existait pas autre usage (originel) : change la date de dernier accès et modification de nomfichier Créer un nouveau répertoire : commande mkdir usage : mkdir [-p] nomrep Crée un répertoire nommé nomrep dans le répertoire de travail avec option -p, crée l ensemble des sous-répertoire si nomrep est une arborescence de répertoires 114

170 La gestion de fichiers sous UNIX Manipulation de fichiers Un exemple guidé 1 benoit$ mkdir GoT 2 benoit$ cd GoT/ 3 Galactica:GoT benoit$ pwd 4 /Users/benoit/GoT 5 6 Galactica:GoT benoit$ mkdir Stark 7 Galactica:GoT benoit$ cd Stark/ 8 Galactica:Enfants benoit$ pwd 9 /Users/benoit/GoT/Stark 10 Galactica:Stark benoit$ touch Ned.txt Galactica:Stark benoit$ mkdir Enfants 13 Galactica:Stark benoit$ cd Enfants/ 14 Galactica:Enfants benoit$ touch Robb.txt 15 Galactica:Enfants benoit$ cd Galactica:Stark benoit$ pwd 18 /Users/benoit/GoT/Stark 19 Galactica:Stark benoit$ touch./enfants/aria.txt 20 Galactica:Stark benoit$ touch./enfants/bran.txt./enfants/sansa.txt Galactica:Stark benoit$ cd Enfants/ 23 Galactica:Enfants benoit$ ls 24 Aria.txt Bran.txt Robb.txt Sansa.txt Galactica:Enfants benoit$ cd ~ 27 benoit$ pwd 28 /Users/benoit 29 benoit$ mkdir -p./got/lannister/enfants 30 benoit$ touch./got/lannister/enfants/joffrey.txt 115

171 La gestion de fichiers sous UNIX Manipulation de fichiers Résultat de l arborescence créée ~ GoT Lannister Stark Enfants Ned.txt Enfants Joffrey.txt Aria.txt Robb.txt Sansa.txt Bran.txt 116

172 La gestion de fichiers sous UNIX Manipulation de fichiers Lecture et modification de fichiers réguliers Droits nécessaires pour lire le contenu d un fichier régulier Navigation (+x) jusqu au répertoire contenant le fichier Droits de lecture (+r) sur le fichier Droits nécessaires pour modifier le contenu d un fichier régulier On suppose que le fichier existe déjà Navigation (+x) jusqu au répertoire contenant le fichier Droits d écriture (+w) sur le fichier Si le fichier n existe pas, il faut d abord le créer : cf droits création nouveau fichier. Remarque Droits similaire pour lire / modifier un fichier de type répertoire 117

173 La gestion de fichiers sous UNIX Manipulation de fichiers Copier le contenu d un fichier Copier le contenu d un fichier source vers un fichier destination Deux cas de figure : le fichier destination existe ou n existe pas Lecture du contenu du fichier source Ecriture du contenu vers le fichier destination Généralement, le contenu du fichier de destination est écrasé Après copie, les deux fichiers auront le même contenu Mais seront deux fichiers bien distincts : Deux entrées différentes dans la table d attributs des fichiers Deux inodes différents Blocs utilisés par les fichiers bien distincts La modification a postériori de l un n entrainera pas la modification de l autre 118

174 La gestion de fichiers sous UNIX Manipulation de fichiers Droits nécessaires Si le fichier destination existe Droits de navigation (+x) jusqu au fichier source Droits de navigation (+x) jusqu au fichier destination Droits de lecture (+r) sur le fichier source Droits d écriture (+w) sur le fichier destination Si le fichier destination n existe pas Copie du fichier source dans un autre répertoire Equivalent à création d un nouveau fichier destination, et copie d un fichier source vers un fichier destination existant Droits de navigation (+x) jusqu au fichier source Droits de lecture (+r) sur le fichier source Droits de navigation (+x) jusqu au répertoire de destination Droits d écriture (+w) sur le répertoire de destination 119

175 La gestion de fichiers sous UNIX Manipulation de fichiers Rappels : questions ouvertes Vu la méthode de codage de l arborescence : Un fichier de type fichier régulier pourrait-il apparaître dans plusieurs répertoires quelconques? Un fichier de type répertoire pourrait-il apparaître dans plusieurs répertoires quelconques? Conceptuellement : rien ne l empêche! Il suffit de pouvoir ajouter, dans la liste des entrées du répertoire destination, une entrée dont l inode correspond à un fichier source qui était déjà présent dans un autre répertoire Dit autrement : de créer un lien physique du fichier source vers le répertoire destination 120

176 La gestion de fichiers sous UNIX Manipulation de fichiers Création de liens physiques Dans la pratique : liens physiques sur fichiers réguliers On peut créer des liens physiques sur des fichiers réguliers vers n importe quel répertoire, si les droits le permettent Traduction : un fichier peut appartenir à plusieurs répertoires! Droits nécessaires : navigation (+x) jusqu au répertoire contenant le fichier source navigation et écriture (+wx) sur le répertoire de destination Dans la pratique : liens physiques sur répertoires restreints Un répertoire peut avoir plusieurs liens physiques (il en a déjà 2 de base : un dans lui même, un dans son répertoire parent) MAIS pas possible de créer ses propres liens physiques entre répertoires : interdit par l OS Risque de briser la structure arborescente 121

177 La gestion de fichiers sous UNIX Manipulation de fichiers Création de liens physiques Dans la pratique : liens physiques sur fichiers réguliers On peut créer des liens physiques sur des fichiers réguliers vers n importe quel répertoire, si les droits le permettent Traduction : un fichier peut appartenir à plusieurs répertoires! Droits nécessaires : navigation (+x) jusqu au répertoire contenant le fichier source navigation et écriture (+wx) sur le répertoire de destination Dans la pratique : liens physiques sur répertoires restreints Un répertoire peut avoir plusieurs liens physiques (il en a déjà 2 de base : un dans lui même, un dans son répertoire parent) MAIS pas possible de créer ses propres liens physiques entre répertoires : interdit par l OS Risque de briser la structure arborescente 121

178 La gestion de fichiers sous UNIX Manipulation de fichiers Création d un lien physique sur fichier régulier / (2) Inode Nom fichier home Inode Nom fichier arnaud 23 benoit home (16) Inode Nom fichier arnaud (24) benoit (23) Inode Nom fichier Bureau Inode Nom fichier vacances.jpg 249 EnterSandman.mp3 Bureau (42) vacances.jpg (135) EnterSandMan.mp3 (249) 122

179 La gestion de fichiers sous UNIX Manipulation de fichiers Création d un lien physique sur fichier régulier / (2) Inode Nom fichier home Inode Nom fichier arnaud 23 benoit home (16) Inode Nom fichier vacances.jpg arnaud (24) benoit (23) Inode Nom fichier Bureau Inode Nom fichier vacances.jpg 249 EnterSandman.mp3 Bureau (42) vacances.jpg (135) EnterSandMan.mp3 (249) 123

180 La gestion de fichiers sous UNIX Manipulation de fichiers Création d un lien physique sur fichier régulier Commande ln (ou link) usage : ln source destination Fichier avant création d un lien (options -l et -i ) : 1 ls -li /home/benoit/bureau/vacances.jpg rw-r--r-- 1 benoit staff jul 16:08 vacances.jpg Créeons un lien physique dans le répertoire /home/arnaud/ 1 ln /home/benoit/bureau/vacances.jpg /home/arnaud/ Le fichier est alors présent dans les deux répertoires : 1 ls -li /home/benoit/bureau/vacances.jpg rw-r--r-- 2 benoit staff jul 16:08 vacances.jpg 3 4 ls -li /home/arnaud/vacances.jpg rw-r--r-- 2 benoit staff jul 16:08 vacances.jpg 124

181 La gestion de fichiers sous UNIX Manipulation de fichiers Création d un lien physique sur fichier régulier Commande ln (ou link) usage : ln source destination Fichier avant création d un lien (options -l et -i ) : 1 ls -li /home/benoit/bureau/vacances.jpg rw-r--r-- 1 benoit staff jul 16:08 vacances.jpg Créeons un lien physique dans le répertoire /home/arnaud/ 1 ln /home/benoit/bureau/vacances.jpg /home/arnaud/ Le fichier est alors présent dans les deux répertoires : 1 ls -li /home/benoit/bureau/vacances.jpg rw-r--r-- 2 benoit staff jul 16:08 vacances.jpg 3 4 ls -li /home/arnaud/vacances.jpg rw-r--r-- 2 benoit staff jul 16:08 vacances.jpg 124

182 La gestion de fichiers sous UNIX Manipulation de fichiers Création d un lien physique sur fichier régulier Commande ln (ou link) usage : ln source destination Fichier avant création d un lien (options -l et -i ) : 1 ls -li /home/benoit/bureau/vacances.jpg rw-r--r-- 1 benoit staff jul 16:08 vacances.jpg Créeons un lien physique dans le répertoire /home/arnaud/ 1 ln /home/benoit/bureau/vacances.jpg /home/arnaud/ Le fichier est alors présent dans les deux répertoires : 1 ls -li /home/benoit/bureau/vacances.jpg rw-r--r-- 2 benoit staff jul 16:08 vacances.jpg 3 4 ls -li /home/arnaud/vacances.jpg rw-r--r-- 2 benoit staff jul 16:08 vacances.jpg 124

183 La gestion de fichiers sous UNIX Manipulation de fichiers Création d un lien physique sur fichier régulier Commande ln (ou link) usage : ln source destination Fichier avant création d un lien (options -l et -i ) : 1 ls -li /home/benoit/bureau/vacances.jpg rw-r--r-- 1 benoit staff jul 16:08 vacances.jpg Créeons un lien physique dans le répertoire /home/arnaud/ 1 ln /home/benoit/bureau/vacances.jpg /home/arnaud/ Le fichier est alors présent dans les deux répertoires : 1 ls -li /home/benoit/bureau/vacances.jpg rw-r--r-- 2 benoit staff jul 16:08 vacances.jpg 3 4 ls -li /home/arnaud/vacances.jpg rw-r--r-- 2 benoit staff jul 16:08 vacances.jpg 124

184 La gestion de fichiers sous UNIX Manipulation de fichiers Création d un lien physique sur fichier régulier Quelques observations Les deux fichiers sont identiques. En fait, il n y a qu un seul fichier, et deux liens physiques On peut même changer le nom d un lien sans affecter l autre! Un fichier, avec 2 noms différents Visualisation du nombre de liens physiques sur le résultat de ls -li de l exemple précédent, le chiffre après les droits est passé de 1 à 2 : c est le nombre de liens physiques du fichier. On peut vérifier sur les répertoires que le nombre de liens physiques correspond aux observations précédentes, à savoir : nombre de sous-répertoires

185 La gestion de fichiers sous UNIX Manipulation de fichiers Création d un lien physique sur fichier régulier Quelques observations Les deux fichiers sont identiques. En fait, il n y a qu un seul fichier, et deux liens physiques On peut même changer le nom d un lien sans affecter l autre! Un fichier, avec 2 noms différents Visualisation du nombre de liens physiques sur le résultat de ls -li de l exemple précédent, le chiffre après les droits est passé de 1 à 2 : c est le nombre de liens physiques du fichier. On peut vérifier sur les répertoires que le nombre de liens physiques correspond aux observations précédentes, à savoir : nombre de sous-répertoires

186 La gestion de fichiers sous UNIX Manipulation de fichiers Supprimer un fichier Suppression d un fichier... ou d un lien? On ne supprime pas vraiment des fichiers comme on pourrait le comprendre On se contente de supprimer des liens physiques et de remettre à disposition (libérer) les blocs qui étaient utilisés Conséquences Le contenu d un fichier supprimé n est jamais vraiment perdu juste après la suppression du fichier Il reste disponible jusqu à ce que les blocs qui étaient utilisés soient réaffectés à d autres, que leur contenu soit écrasé Logiciels de récupération de fichiers : scan des blocs du disque VS effacement en mode sécurisé : réécriture sur les blocs 126

187 La gestion de fichiers sous UNIX Manipulation de fichiers Supprimer un fichier Suppression d un fichier... ou d un lien? On ne supprime pas vraiment des fichiers comme on pourrait le comprendre On se contente de supprimer des liens physiques et de remettre à disposition (libérer) les blocs qui étaient utilisés Conséquences Le contenu d un fichier supprimé n est jamais vraiment perdu juste après la suppression du fichier Il reste disponible jusqu à ce que les blocs qui étaient utilisés soient réaffectés à d autres, que leur contenu soit écrasé Logiciels de récupération de fichiers : scan des blocs du disque VS effacement en mode sécurisé : réécriture sur les blocs 126

188 La gestion de fichiers sous UNIX Manipulation de fichiers Droits nécessaires à la suppression Droits nécessaires à la suppression d un fichier Droits identiques à la création d un fichier dans un répertoire! Navigation (+x) jusqu au répertoire contenant le fichier à supprimer Ecriture (+w) sur le répertoire qui contient le fichier Si le fichier est un répertoire, il doit être vide avant de pouvoir être supprimé! suppression de chacun de ses éléments. Remarque Aucun droit n est nécessaire sur le fichier lui-même! Droits nécessaires sur le répertoire le contenant uniquement Il est possible de supprimer des fichiers qui ne nous appartiennent pas, et sur lesquels l on a aucun drooit! 127

189 La gestion de fichiers sous UNIX Manipulation de fichiers Droits nécessaires à la suppression Droits nécessaires à la suppression d un fichier Droits identiques à la création d un fichier dans un répertoire! Navigation (+x) jusqu au répertoire contenant le fichier à supprimer Ecriture (+w) sur le répertoire qui contient le fichier Si le fichier est un répertoire, il doit être vide avant de pouvoir être supprimé! suppression de chacun de ses éléments. Remarque Aucun droit n est nécessaire sur le fichier lui-même! Droits nécessaires sur le répertoire le contenant uniquement Il est possible de supprimer des fichiers qui ne nous appartiennent pas, et sur lesquels l on a aucun drooit! 127

190 La gestion de fichiers sous UNIX Manipulation de fichiers Supprimer un fichier régulier Commande originelle : unlink usage : unlink nomfichier Supprime le lien physique référencé par nomfichier En reprenant l exemple précédent : 1 $ ls -li /home/arnaud/vacances.jpg rw-r--r-- 2 benoit staff jul 16:08 vacances.jpg 3 4 $ ls -li /home/benoit/bureau/vacances.jpg rw-r--r-- 2 benoit staff jul 16:08 vacances.jpg 6 7 $ unlink /home/benoit/desktop/vacances.jpg 8 9 $ ls -li /home/arnaud/vacances.jpg rw-r--r-- 1 benoit staff jul 16:08 vacances.jpg $ ls -li /home/benoit/bureau/vacances.jpg 13 ls : /home/benoit/bureau/vacances.jpg: No such file or directory 128

191 La gestion de fichiers sous UNIX Manipulation de fichiers Libération des blocs utilisés Lors de l appel à la commande unlink Suppression d un lien physique Le nombre de liens physiques de l inode est décrémenté dans la table d attributs des fichiers Si ce nombre atteint 0 : Aucun autre lien physique sur ce fichier Les blocs utilisés pour ce fichier sont libérés L entrée correspondant à ce fichier est supprimée de la table d attributs des fichiers Sinon : on ne fait rien de plus 129

192 La gestion de fichiers sous UNIX Manipulation de fichiers Supprimer un fichier répertoire Commande originelle : rmdir usage : rmdir nomrep Supprime le lien physique référencé par nomrep Le répertoire doit être vide Si le répertoire n est pas vide : supprimer chacun de ses fichiers réguliers, et pour chaque sous-répertoire faire la procédure de suppression de répertoire. Les liens physiques sont automatiquement gérés ici 1 benoit$ mkdir Series 2 benoit$ mkdir Series/TheWalkingDead 3 4 benoit$ rmdir Series 5 rmdir: Series: Directory not empty 6 7 benoit$ rmdir Series/TheWalkingDead 8 benoit$ rmdir Series 130

193 La gestion de fichiers sous UNIX Manipulation de fichiers Supprimer un fichier La commande ultime : rm usage : rm [-fr] nomrep, nomfichier Supprime fichiers réguliers, répertoires, même non vides Commande très dangereuse (!) Pas de retour possible sans l aide d utilitaires spécialisés Tellement dangereuse que demande de confirmation si le fichier à supprimer n a pas les droits d écriture option -f (force) : enlève la demande de confirmation option -r (recursive) : active la récursivité pour les répertoires. Si le répertoire n est pas vide, application de la commande dans chacun de ses sous-répertoires. Suppression du répertoire GoT et de tout son contenu : 1 benoit$ rm -fr./got 131

194 La gestion de fichiers sous UNIX Manipulation de fichiers Une commande dangereuse Contexte l utilisateur veut supprimer tout un album de Kyo contenu dans le sous-répertoire MP3/Kyo/300Lesions de son répertoire personnel. Il voulait taper : 1 $ cd ~ 2 $ rm -fr./mp3/kyo/300lesions Mais il tape : 1 $ cd ~ 2 $ rm -fr. /MP3/Kyo/300Lesions et le message d erreur suivant apparait (?) 1 rm: /MP3/Kyo/300Lesions: No such file or directory Bref : il vient de supprimer tout son répertoire personnel

195 La gestion de fichiers sous UNIX Manipulation de fichiers Une commande dangereuse Contexte l utilisateur veut supprimer tout un album de Kyo contenu dans le sous-répertoire MP3/Kyo/300Lesions de son répertoire personnel. Il voulait taper : 1 $ cd ~ 2 $ rm -fr./mp3/kyo/300lesions Mais il tape : 1 $ cd ~ 2 $ rm -fr. /MP3/Kyo/300Lesions et le message d erreur suivant apparait (?) 1 rm: /MP3/Kyo/300Lesions: No such file or directory Bref : il vient de supprimer tout son répertoire personnel

196 La gestion de fichiers sous UNIX Manipulation de fichiers Une commande dangereuse Contexte l utilisateur veut supprimer tout un album de Kyo contenu dans le sous-répertoire MP3/Kyo/300Lesions de son répertoire personnel. Il voulait taper : 1 $ cd ~ 2 $ rm -fr./mp3/kyo/300lesions Mais il tape : 1 $ cd ~ 2 $ rm -fr. /MP3/Kyo/300Lesions et le message d erreur suivant apparait (?) 1 rm: /MP3/Kyo/300Lesions: No such file or directory Bref : il vient de supprimer tout son répertoire personnel

197 La gestion de fichiers sous UNIX Manipulation de fichiers Une commande dangereuse Contexte l utilisateur veut supprimer tout un album de Kyo contenu dans le sous-répertoire MP3/Kyo/300Lesions de son répertoire personnel. Il voulait taper : 1 $ cd ~ 2 $ rm -fr./mp3/kyo/300lesions Mais il tape : 1 $ cd ~ 2 $ rm -fr. /MP3/Kyo/300Lesions et le message d erreur suivant apparait (?) 1 rm: /MP3/Kyo/300Lesions: No such file or directory Bref : il vient de supprimer tout son répertoire personnel

198 La gestion de fichiers sous UNIX Manipulation de fichiers Déplacer un fichier Déplacer un fichier d un répertoire source vers un répertoire destination : finalement très facile Revient à créer un nouveau lien physique vers le répertoire de destination, et à supprimer le lien physique du répertoire source Droits nécessaires au déplacement Pour la création du nouveau lien physique Navigation (+x) vers le répertoire de destination Ecriture (+w) sur le répertoire de destination Pour la suppression du lien physique de départ Navigation (+x) vers le répertoire source Ecriture (+w) sur le répertoire source Concept identique que le fichier à déplacer soit régulier ou répertoire 133

199 La gestion de fichiers sous UNIX Manipulation de fichiers Déplacer un fichier / répertoire La commande mv usage : mv source, destination Déplace le fichier / répertoire source dans le répertoire destination qui doit déjà exister destination peut également un nom de fichier régulier, auquel cas le fichier source sera renommé Déplacement du fichier vacances.jpg à la racine du répertoire personnel 1 benoit$ mv./bureau/vacances.jpg./ Puis renommage du fichier vacances.jpg en photo.jpg 1 benoit$ mv vacances.jpg photo.jpg Finalement on remet tout comme avant : 1 benoit$ mv photo.jpg./bureau/vacances.jpg 134

200 La gestion de fichiers sous UNIX Manipulation de fichiers Déplacer un fichier / répertoire La commande mv usage : mv source, destination Déplace le fichier / répertoire source dans le répertoire destination qui doit déjà exister destination peut également un nom de fichier régulier, auquel cas le fichier source sera renommé Déplacement du fichier vacances.jpg à la racine du répertoire personnel 1 benoit$ mv./bureau/vacances.jpg./ Puis renommage du fichier vacances.jpg en photo.jpg 1 benoit$ mv vacances.jpg photo.jpg Finalement on remet tout comme avant : 1 benoit$ mv photo.jpg./bureau/vacances.jpg 134

201 La gestion de fichiers sous UNIX Manipulation de fichiers Déplacer un fichier / répertoire La commande mv usage : mv source, destination Déplace le fichier / répertoire source dans le répertoire destination qui doit déjà exister destination peut également un nom de fichier régulier, auquel cas le fichier source sera renommé Déplacement du fichier vacances.jpg à la racine du répertoire personnel 1 benoit$ mv./bureau/vacances.jpg./ Puis renommage du fichier vacances.jpg en photo.jpg 1 benoit$ mv vacances.jpg photo.jpg Finalement on remet tout comme avant : 1 benoit$ mv photo.jpg./bureau/vacances.jpg 134

202 La gestion de fichiers sous UNIX Manipulation de fichiers Déplacer un fichier / répertoire La commande mv usage : mv source, destination Déplace le fichier / répertoire source dans le répertoire destination qui doit déjà exister destination peut également un nom de fichier régulier, auquel cas le fichier source sera renommé Déplacement du fichier vacances.jpg à la racine du répertoire personnel 1 benoit$ mv./bureau/vacances.jpg./ Puis renommage du fichier vacances.jpg en photo.jpg 1 benoit$ mv vacances.jpg photo.jpg Finalement on remet tout comme avant : 1 benoit$ mv photo.jpg./bureau/vacances.jpg 134

203 La gestion de fichiers sous UNIX Fichiers, utilisateurs multiples, et configurations originales Table des matières 1 À la découverte des systèmes d exploitation, et UNIX 2 La gestion de fichiers sous UNIX 3 Processus 4 Gestion des entrées-sorties 5 Les outils 6 Premiers scripts 135

204 La gestion de fichiers sous UNIX Fichiers, utilisateurs multiples, et configurations originales Changer le propriétaire d un fichier Peut-on changer le propriétaire d un fichier Seul un administrateur du système peut changer le propriétaire ou le groupe associé à un fichier Raisons (évidentes) de sécurité commandes chown et chgrp Permet de changer le propriétaire ou le groupe associé à un ou plusieurs fichiers usage : chown [-R] proprio[:groupe] fichier(s) usage : chgrp [-R] groupe fichier(s) option -R pour activer la récursivité pour les répertoires Nécessite des droits administrateurs 136

205 La gestion de fichiers sous UNIX Fichiers, utilisateurs multiples, et configurations originales Propriétaire à la création d un fichier Rappel Lorsqu un utilisateur crée un nouveau fichier, ce fichier prend comme propriétaire l identité de son créateur La création de ce fichier requiert la navigation (+x) vers le répertoire qui va contenir ce fichier, ainsi que l accès en écriture (+w) sur ce répertoire. Et rien d autre Il est donc possible de créer des fichiers et répertoires dans des répertoires dont on n est pas le propriétaire Pour la suppression d un fichier : droits identiques Ceci peut emmener à des situations originales

206 La gestion de fichiers sous UNIX Fichiers, utilisateurs multiples, et configurations originales On peut créer des situations originales Suppression de fichiers dont n on est pas propriétaire et sur lesquels on a aucun droit. Création de sous-répertoires dans le répertoire d un utilisateur, que l utilisateur ne pourra pas supprimer Utilisateur Arnaud : 1 Galactica:~ arnaud$ mkdir reppublic 2 Galactica:~ arnaud$ chmod 777 reppublic Utilisateur Benoit : 1 Galactica:~ arnaud$ mkdir reppublic/monrepprive 2 Galactica:~ arnaud$ chmod 000 reppublic/monrepprive Utilisateur Arnaud : 1 Galactica:~ arnaud$ rm -fr reppublic 2 rm reppublic: Permission denied reppublic doit être vide il faut supprimer MonRepPrive Mais impossible de naviguer et de lister son contenu. 138

207 La gestion de fichiers sous UNIX Fichiers, utilisateurs multiples, et configurations originales Utilisation du setuid / setgid sur les répertoires setiud et setgid sur des repertoires Appliqué sur un répertoire, le setuid / setgid permet de modifier le propriétaire / groupe par défaut à la création de tout fichier dans ce répertoire Permet d imposer que le propriétaire / groupe du nouveau fichier créé soit le même que celui du répertoire dans lequel le fichier est créé activer setuid et setgid : commande chmod setuid : chmod u+s repertoire setgid : chmod g+s repertoire En notation octale : ajout d une quatrième valeur en début de droits : (4) pour setuid, (2) pour setgid 139

208 La gestion de fichiers sous UNIX Fichiers, utilisateurs multiples, et configurations originales Propriétaire et exécutant d un programme Notion de propriétaire et exécutant d un programme Un programme est un fichier avec les droits d exécution Il possède donc un propriétaire et un groupe Quand un utilisateur exécute un programme, il crée un processus associé à ce programme Remarque Les droits ne sont (généralement) pas hérités du programme vers le processus! Le processus lancé possède les mêmes droits que l utilisateur qui est à l origine de sa création, et pas ceux du propriétaire du programme Raisons évidentes de sécurité Autrement, dérives possibles 140

209 La gestion de fichiers sous UNIX Fichiers, utilisateurs multiples, et configurations originales Propriétaire et exécutant d un programme Notion de propriétaire et exécutant d un programme Un programme est un fichier avec les droits d exécution Il possède donc un propriétaire et un groupe Quand un utilisateur exécute un programme, il crée un processus associé à ce programme Remarque Les droits ne sont (généralement) pas hérités du programme vers le processus! Le processus lancé possède les mêmes droits que l utilisateur qui est à l origine de sa création, et pas ceux du propriétaire du programme Raisons évidentes de sécurité Autrement, dérives possibles 140

210 La gestion de fichiers sous UNIX Fichiers, utilisateurs multiples, et configurations originales Utilisation du setuid sur les fichiers exécutables setuid sur les fichiers exécutables Appliqué sur un fichier exécutable, le setuid permet de modifier les droits d exécution d un processus Permet d imposer que les droits du processus soient ceux du propriétaire du programme, et pas ceux de l utilisateur qui exécute le programme activer setuid : commande chmod setuid : chmod u+s fichier En notation octale : ajout d une quatrième valeur en début de droits : (4) pour setuid Remarque : setgid inopérant sur les exécutables (plupart des shells) 141

211 La gestion de fichiers sous UNIX Fichiers, utilisateurs multiples, et configurations originales Utilisation du setuid sur les fichiers exécutables suid est à la fois formidable et dangereux Permet pour un utilisateur / administrateur de donner ses droits à celui qui exécute un programme Si le programme n a pas de faille : permet de donner l accès à des ressources supplémentaires, tout en contrôlant que l utilisateur ne fasse pas n importe quoi Mais si le programme peut être détourné : dangereux Heureusement, on ne peut (en théorie) changer les droits que des fichiers qui nous appartiennent Question : Si le propriétaire du shell bash (fichier exécutable /bin/bash) est l administrateur de la machine, quelle serait la conséquence d ajouter le suid au shell bash? 142

212 La gestion de fichiers sous UNIX Fichiers, utilisateurs multiples, et configurations originales Exemple d attaque sur un système À ne pas reproduire à l ESIREM!! Boot sur une clé live USB Linux Recherche du répertoire correspondant au volume Linux du disque dur (dans /Volumes/(id disque)/) Recherche du fichier./bin/bash Ajout du suid avec chmod +s Rebooter normalement sur Linux Se logguer, lancer /bin/bash -p Droits administrateurs sur la machine 143

213 La gestion de fichiers sous UNIX Fichiers, utilisateurs multiples, et configurations originales Exemple d attaque sur un système Quelles protections contre cette attaque? Empêcher le boot par clé USB (pédagogiquement difficile) Chiffrer les partitions Reinstaller périodiquement les systèmes d exploitation : clonage des disques et réinstallation toutes les semaines 144

214 La gestion de fichiers sous UNIX Fichiers, utilisateurs multiples, et configurations originales Le sticky bit (+t) Etude de cas : le repertoire /tmp Répertoire /tmp : espace temporaire dans lequel tout le monde est autorisé à écrire et lire Le répertoire possède les droits en lecture écriture exécution pour toutes les classes d utilisateurs Pourtant l utilisateur arnaud n arrive pas à supprimer le fichier régulier créé par l utilisateur benoit! Raison : le sticky bit est activé sur /tmp Notez la présence du (+t) : 1 Galactica:tmp benoit$ ls -ld /tmp 2 drwxrwxrwt 6 root wheel jul 18:06 /tmp 145

215 La gestion de fichiers sous UNIX Fichiers, utilisateurs multiples, et configurations originales Le sticky bit (+t) Intérêt du sticky bit Rendre un répertoire en mode "ajout seulement" Dit autrement : contrôler la suppression des fichiers Suppression d un fichier dans un répertoire avec sticky bit : seulement le propriétaire du répertoire, l administrateur, ou le propriétaire du fichier activer le sticky bit : commande chmod chmod +t repertoire En notation octale : ajout d une quatrième valeur en début de droits : (1) pour sticky bit 146

216 La gestion de fichiers sous UNIX Fichiers, utilisateurs multiples, et configurations originales Droits sur les fichiers [update] Peut être vu comme trois quatre mot binaires de 3 chiffres : un chiffre de valeur 1 représente une autorisation un chiffre de valeur 0 représente une interdiction Chaque mot binaire peut se transformer en une valeur décimale droits spéciaux propriétaire groupe autres suid guid sticky r w x r w x r w x exemple : droits spéciaux propriétaire groupe autres

217 La gestion de fichiers sous UNIX Fichiers, utilisateurs multiples, et configurations originales Droits d accès à la création Quels sont les droits affectés aux fichiers lors de leur création? Lorsqu il n y a pas de masque (?) les droits de création affectés aux fichiers sont les suivants : Fichier régulier : 0666 en notation octale. r w - r w - r w - Répertoire : 0777 en notation octale. r w x r w x r w x Aucun droit spécial (pas de sticky bit, de suid, de guid) Mais en pratique, présence d un masque

218 La gestion de fichiers sous UNIX Fichiers, utilisateurs multiples, et configurations originales Masque à la création des fichiers Utilité du masque à la création des fichiers Possibilité de modifier les droits appliqués par défaut lors de la création d un fichier, avec utilisation d un masque Ne marche que lors de la création d un nouveau fichier Pour modifier les droits des fichiers existants : cf chmod La création d un masque ne permet que de supprimer des droits appliqués par défaut Il n est pas possible d ajouter des droits par défaut ex : un nouveau fichier créé ne pourra pas avoir les droits d exécution, même en utilisant les masques 149

219 La gestion de fichiers sous UNIX Fichiers, utilisateurs multiples, et configurations originales Masque à la création des fichiers Créer un masque de droits : commande umask Usage : umask droits à supprimer Droits à supprimer en notation octale (identique chmod) S applique sur les droits par défauts (0666 pour les fichiers réguliers, 0777 pour les répertoires), et supprime les droits donnés en paramètre de umask S applique pour tous les nouveaux fichiers qui seront créés après exécution de la commande, pas pour ceux créés avant Exemple d utilisation de la commande umask 0023 umask

220 Processus et communication inter-processus Table des matières 1 À la découverte des systèmes d exploitation, et UNIX 2 La gestion de fichiers sous UNIX 3 Processus 4 Gestion des entrées-sorties 5 Les outils 6 Premiers scripts 151

221 Processus et communication inter-processus Quelques commandes essentielles avant d aller plus loin... Table des matières 1 À la découverte des systèmes d exploitation, et UNIX 2 La gestion de fichiers sous UNIX 3 Processus 4 Gestion des entrées-sorties 5 Les outils 6 Premiers scripts 152

222 Processus et communication inter-processus Quelques commandes essentielles avant d aller plus loin... Commandes usuelles utilisées dans la suite de ce cours Visualiser le contenu d un fichier texte : commande cat Usage : cat [-n] fichier Option -n : numérote les lignes à l affichage 1 Galactica:fichiers benoit$ cat introstarwarsfull.txt 2 Episode IV - Un nouvel espoir 3 4 C est une période de guerre civile. Des vaisseaux 5 spatiaux rebelles, frappant à partir d une base cachée, 6 (...) 7 vaisseau stellaire, gardienne des plans volés qui 8 pourraient sauver son peuple et rétablir la liberté 9 dans la galaxie... 1 Galactica:fichiers benoit$ cat -n introstarwarsfull.txt 2 1 Episode IV - Un nouvel espoir C est une période de guerre civile. Des vaisseaux 5 4 spatiaux rebelles, frappant à partir d une base cachée, 6 (...) 7 16 vaisseau stellaire, gardienne des plans volés qui 8 17 pourraient sauver son peuple et rétablir la liberté 9 18 dans la galaxie

223 Processus et communication inter-processus Quelques commandes essentielles avant d aller plus loin... Commandes usuelles utilisées dans la suite de ce cours Afficher les n premières lignes d un fichier : commande head Usage : head [-n nombre] fichier Option -n : nombre de lignes a afficher (par défaut 10) 1 Galactica:fichiers benoit$ head introstarwarsfull.txt 2 Episode IV - Un nouvel espoir 3 4 C est une période de guerre civile. Des vaisseaux 5 spatiaux rebelles, frappant à partir d une base cachée, 6 ont remporté leur première victoire contre l empire 7 galactique maléfique. 8 9 Durant la bataile, les espions rebelles ont réussi 10 à dérober les plans secrets de l arme ultime de l Empire, 11 l Etoile de la Mort - une station spatiale fortifiée 1 Galactica:fichiers benoit$ head -n 4 introstarwarsfull.txt 2 Episode IV - Un nouvel espoir 3 4 C est une période de guerre civile. Des vaisseaux 5 spatiaux rebelles, frappant à partir d une base cachée, 154

224 Processus et communication inter-processus Quelques commandes essentielles avant d aller plus loin... Commandes usuelles utilisées dans la suite de ce cours Afficher les n dernières lignes d un fichier : commande tail Usage : tail [-n nombre] fichier Option -n : nombre de lignes a afficher (par défaut 10) 1 Galactica:fichiers benoit$ tail introstarwarsfull.txt 2 à dérober les plans secrets de l arme ultime de l Empire, 3 l Etoile de la Mort - une station spatiale fortifiée 4 avec suffisamment de puissance de feu pour détruire une 5 planète entière Poursuivie par les sinistres agents de l Empire, la 8 princesse Leia rentre chez elle en hâte à bord de son 9 vaisseau stellaire, gardienne des plans volés qui 10 pourraient sauver son peuple et rétablir la liberté 11 dans la galaxie... 1 Galactica:fichiers benoit$ tail -n 4 introstarwarsfull.txt 2 princesse Leia rentre chez elle en hâte à bord de son 3 vaisseau stellaire, gardienne des plans volés qui 4 pourraient sauver son peuple et rétablir la liberté 5 dans la galaxie

225 Processus et communication inter-processus Quelques commandes essentielles avant d aller plus loin... Commandes usuelles utilisées dans la suite de ce cours Nb de caractères/octets/ mots/lignes d un fichier : commande wc Usage : wc [-{m,c} -w -l] fichier Option -m : nombre de caractères Option -c : nombre d octets Option -w : nombre de mots Option -l : nombre de lignes On ne peut pas afficher le nombre d octets et de caractères en même temps Afficher le nombre de lignes d un fichier 1 Galactica:fichiers benoit$ wc -l introstarwarsfull.txt 2 18 introstarwarsfull.txt Afficher le nombre de caractères et de mots d un fichier 1 Galactica:fichiers benoit$ wc -w -m introstarwarsfull.txt introstarwarsfull.txt 156

226 Processus et communication inter-processus Lancement, et exécution de processus Table des matières 1 À la découverte des systèmes d exploitation, et UNIX 2 La gestion de fichiers sous UNIX 3 Processus 4 Gestion des entrées-sorties 5 Les outils 6 Premiers scripts 157

227 Processus et communication inter-processus Lancement, et exécution de processus Jokers sur lignes de commande Commandes avec listes de fichiers en arguments Certaines commandes peuvent être invoquée avec en argument une liste de fichiers Exemples : ls, rm, cp, mv,... Application de la commande sur tous les fichiers de la liste Possibilité d utiliser des jokers dans la ligne de commande pour définir des listes de fichiers avec des filtres particuliers Liste des principaux jokers * n importe quelle combinaison de caractères? exactement un caractère [...] un caractère parmi ceux entre crochets 158

228 Processus et communication inter-processus Lancement, et exécution de processus Exemple d utilisation de jokers dans une ldc Lister tous les fichiers du répertoire qui commencent par un a 1 benoit$ ls a* Lister tous les fichiers de type image 1 benoit$ ls *.jpg *.png *.gif *.jpeg *.tiff Lister tous les fichiers de 3 lettres ou plus, et dont la seconde lettre est soit un, soit un d 1 benoit$ ls?[cd]?* Lister tous les fichiers de 4 lettres qui sont contenus dans un sous-répertoire dont le nom commence par un s et finit par un n 1 benoit$ ls./s*n/???? 159

229 Processus et communication inter-processus Lancement, et exécution de processus Processus et code retour La notion de code retour Quand un processus met fin à son exécution (de façon normale ou non), un code retour est toujours renvoyé à son processus parent Code retour 0 : le processus s est exécuté normalement Code retour supérieur à 0 : il y a eu un problème Ressource inaccessible Problème matériel Fichier inexistant Droits insuffisants Perte de la connexion réseau

230 Processus et communication inter-processus Lancement, et exécution de processus Processus et code retour Récupérer le code retour d un programme lancé depuis le shell Variable? Contient le code retour de la dernière commande exécutée affichage avec echo $? 161

231 Processus et communication inter-processus Lancement, et exécution de processus Exécution d une commande avec fin normale : 1 benoit$ ls -li fichier.jpg rwxrw-rw- 1 benoit staff jul 14:23 fichier.jpg 3 4 benoit$ echo $? 5 0 Exécution d une commande avec fin anormale : 1 benoit$ ls -li eazeklzane 2 ls: eazeklzane: No such file or directory 3 4 benoit$ echo $? 5 1 Code de la dernière commande seulement! 1 benoit$ ls -li eazeklzane 2 ls: eazeklzane: No such file or directory 3 4 benoit$ echo $? benoit$ echo $?

232 Processus et communication inter-processus Gestion des entrées-sorties Table des matières 1 À la découverte des systèmes d exploitation, et UNIX 2 La gestion de fichiers sous UNIX 3 Processus 4 Gestion des entrées-sorties 5 Les outils 6 Premiers scripts 163

233 Processus et communication inter-processus Gestion des entrées-sorties Entrées sortie d un processus Flux d entrée / sortie par défaut Au démarrage d un processus et durant toute son exécution : trois flux associés par défaut permettent échanges/interactions avec l utilisateur Identifiés par un nom ou un numéro : stdin (0) : entrée standard stdout (1) : sortie standard stderr (2) : sortie erreur standard 164

234 Processus et communication inter-processus Gestion des entrées-sorties Entrées sortie d un processus stdin (0) : standard input / entrée standard Permet de passer des informations vers le processus Principale interface de communication utilisateur Par défaut : clavier stdout (1) : standard output / sortie standard Permet de passer des informations à l utilisateur Affichage des messages standards Par défaut : écran 165

235 Processus et communication inter-processus Gestion des entrées-sorties Entrées sortie d un processus stderr (2) : standard error / sortie erreur Dédiés aux messages d erreur à destination de l utilisateur Contient les messages relatifs à un comportement anormal (ex : accès refusé, fichier inexistant,...) Par défaut : écran interaction utilisateur-shell en dialogue standard avec le shell : L utilisateur entre des lignes de commandes à faire exécuter au clavier Il reçoit le résultat de certaines commandes à l écran En cas de problème, un message d erreur est affiché à l écran 166

236 Processus et communication inter-processus Gestion des entrées-sorties Entrées sortie d un processus Schéma usuel (sans redirection des flux) 167

237 Processus et communication inter-processus Gestion des entrées-sorties Flux d entrée VS arguments Attention : ne pas confondre flux d entrée, et arguments / options passés en ligne de commande! Le flux d entrée lu au clavier correspond aux données envoyées au processus lorsque celui ci est déjà actif Les arguments sont des éléments que l on énumère sur la ligne de commande avant de lancer l exécution du programme, et donc la création du processus Par exemple : on peut lancer l exécution de ls ou cd en passant des arguments et des options, mais les processus ne lisent rien sur leur entrée standard. 168

238 Processus et communication inter-processus Gestion des entrées-sorties Traitement sur fichier, ou sur flux d entrée fichier passés en arguments ou sur le flux d entrée De nombreux programmes effectuent des opérations sur des données contenues dans des fichiers (ex : commandes cat, wc) Le nom du fichier doit être passé en argument Par exemple : cat fichier.txt ou wc fichier.txt Si aucun nom n est passé en argument : Les programmes considèrent que les données à traiter vont être passées par le flux stdin Lecture de stdin comme s il s agissait d un fichier L utilisateur saisit directement les données à traiter au clavier Nécessité d utiliser la combinaison de touches ctrl + d pour indiquer la fin du flux d entrée à traiter. 169

239 Processus et communication inter-processus Gestion des entrées-sorties Demo : Ecriture sur flux d entrée avec le clavier Saisie d une commande travaillant usuellement sur un fichier 1 Galactica:fichiers benoit$ cat -n Le programme attends que du texte soit rentré Saisie de texte sur plusieurs lignes. A chaque retour à la ligne, la ligne est affiché avec le numéro de la ligne correspondante. 1 1 hello 2 1 hello 3 Ceci est un simple test 4 2 Ceci est un simple test 5 pour illustrer l ecriture sur un flux d entree 6 3 pour illustrer l ecriture sur un flux d entree Fin de saisie avec ctrl + d pour arrêter l écriture. 1. cat -n n a besoin que d une lecture ligne à ligne. S il avait eu besoin de lire tout le fichier avant, il aurait attendu que toutes les données aient été entrées 170

240 Processus et communication inter-processus Gestion des entrées-sorties Redirection des flux d entrée/sortie par défaut Redirection de flux pour combiner la puissance des outils UNIX Une des principales forces d UNIX Possibilité de rediriger les flux depuis une autre source ou vers une autre destination (selon leur nature). Communications inter-processus Lecture du flux d entrée depuis un fichier Ecriture du flux de sortie standard et/ou erreur vers un fichier Utilisation d un flux de sortie d un processus comme flux d entrée d un autre processus Duplication / redéfinition de flux

241 Processus et communication inter-processus Gestion des entrées-sorties Opérateur de redirection de flux vers /depuis un fichier Utilisation : Programme (opérateur) fichier Liste des opérateurs de redirection vers / depuis un fichier > redirection de stdout dans un fichier. Le contenu du fichier est écrasé. >> redirection de stdout dans un fichier. Le flux est rajouté à la suite du fichier si le fichier n était pas vide. 2 > redirection de stderr dans un fichier. Le contenu du fichier est écrasé. 2 >> redirection de stderr dans un fichier. Le flux est rajouté à la suite si le fichier n était pas vide. < lecture de stdin à partir d un fichier. 172

242 Processus et communication inter-processus Gestion des entrées-sorties Exemples de redirection d un flux de sortie Analyse de la commande suivante : 1 cat fichier1.txt > fichier2.txt Conséquence sur la redirection des flux fichier2.txt sera une copie parfaite de fichier1.txt 173

243 Processus et communication inter-processus Gestion des entrées-sorties Exemples de redirection d un flux de sortie Redirection de flux successives avec concaténation : 1 $ echo "bonjour" > fichierresult 2 $ echo "nous somme le " >> fichierresult 3 $ date >> fichierresult 4 5 $ cat fichierresult 6 bonjour 7 nous somme le 8 Mar 18 aoã» :04:45 CEST Sur les secondes et troisièmes instructions, le résultat de chaque commande est ajouté à fichierresult 174

244 Processus et communication inter-processus Gestion des entrées-sorties Rediriger le flux de sortie d un processus vers le flux d entrée d un autre Problème : Comment numéroter les lignes d un fichier fichier.txt, et enregistrer seulement les lignes comprises entre 16 et 20 dans un fichier de sortie? Philosophie UNIX : Diviser pour régner Idée : découper l opération en 3 sous-opérations, utiliser à chaque étape le résultat de l étape précédente comme donnée d entrée 1 Un premier programme cat -n numérote les lignes du fichier 2 Un second programme head affiche les 20 premières lignes numérotées du fichier 3 Un troisième programme tail affiche les 5 dernières lignes de ces 20 premières lignes 175

245 Processus et communication inter-processus Gestion des entrées-sorties Solution 1 (mauvaise) : passer par des fichiers temporaires Programme1 > fichiertemporaire Programme2 < fichiertemporaire Utilisation d un fichier temporaire comme buffer Enregistre le flux de sortie de Programme1, et l utilise comme flux d entrée pour Programme2 Fonctionne, mais n est pas efficace Il faut attendre que l exécution de Programme1 soit terminée pour lancer celle de Programme2. 176

246 Processus et communication inter-processus Gestion des entrées-sorties Solution 1 (mauvaise) : passer par des fichiers temporaires Analyse de la suite de commandes suivante : 1 commande1 > fichier1.out 2 commande2 < fichier1.out > fichier2.out 3 commande3 < fichier2.out > fichier3.out Conséquence sur la redirection des flux 177

247 Processus et communication inter-processus Gestion des entrées-sorties Numérotation des lignes de fichier, et enregistrement du résultat dans fichiertemp1 1 cat -n fichier > fichiertemp1 Récupération des 20 premieres lignes de fichiertemp1. Enregistrement dans fichiertemp2 1 head -n 20 < fichiertemp1 > fichiertemp2 Récupération des 5 dernières lignes de fichiertemp2 et affichage 1 Tail -n 5 < fichiertemp2 Le résultat correspond bien aux lignes 16 à 20 de fichier 178

248 Processus et communication inter-processus Gestion des entrées-sorties Solution 2 (bonne) : utiliser les tubes Programme1 Programme2 Redirige le flux de sortie standard de Programme1 vers l entrée standard de Programme2 Programmes exécutés en parallèle Synchronisation assurée par UNIX 179

249 Processus et communication inter-processus Gestion des entrées-sorties Solution 2 (bonne) : utiliser les tubes Analyse de la commandes suivante : 1 commande1 commande2 commande3 > fichier3.out Conséquence sur la redirection des flux 180

250 Processus et communication inter-processus Gestion des entrées-sorties Problème : Comment numéroter les lignes d un fichier fichier.txt, et enregistrer seulement les lignes comprises entre 16 et 20 dans un fichier de sortie? Solution au problème cat -n fichier.txt head -n 20 tail -n 5 > fichiersortie.txt 181

251 Processus et communication inter-processus Gestion des entrées-sorties Notion de filtre Les filtres sont des commandes qui peuvent traiter des données lues sur l entrée standard, et renvoyer le résultat sur la sortie standard Généralement, on peut préciser un nom de fichier pour remplacer l entrée standard cat, head, tail, sort, uniq sont des exemples de filtres ls, cd, pwd mkdir sont des exemples de commandes qui ne sont pas des filtres L utilisation de tubes n a évidemment d intérêt que si la commande positionnée à droite d un tube est un filtre 182

252 Quelques outils d UNIX Table des matières 1 À la découverte des systèmes d exploitation, et UNIX 2 La gestion de fichiers sous UNIX 3 Processus 4 Gestion des entrées-sorties 5 Les outils 6 Premiers scripts 183

253 Quelques outils d UNIX grep et Expressions régulières Table des matières 1 À la découverte des systèmes d exploitation, et UNIX 2 La gestion de fichiers sous UNIX 3 Processus 4 Gestion des entrées-sorties 5 Les outils 6 Premiers scripts 184

254 Quelques outils d UNIX grep et Expressions régulières grep : recherche de motifs dans un texte commande grep : filtrage de lignes suivant un motif Permet de filtrer les lignes d un fichier et de n afficher que certaines d entre elles Filtrage par mot, expressions, motif,... Utile pour savoir si un fichier contient un mot donné Nombreuses applications pour les fichiers de configuration Usage : grep motifrecherché fichier(s) option -v : afficher les lignes qui ne contiennent pas le motif option -n : numéroter les lignes résultat sans fichier en paramètre : utilisation de l entrée standard option -e : pour préciser plusieurs motifs option -E : utiliser les expressions régulières étendues option -o : afficher seulement le motif, pas toute la ligne 185

255 Quelques outils d UNIX grep et Expressions régulières Exemple d utilisation de grep (filtres simples) Affichage du fichier texte de référence : 1 Galactica:fichiers benoit$ cat introstarwarsfull.txt 2 Episode IV - Un nouvel espoir 3 4 C est une période de guerre civile. Des vaisseaux 5 spatiaux rebelles, frappant à partir d une base cachée, 6 ont remporté leur première victoire contre l empire 7 galactique maléfique. 8 9 Durant la bataile, les espions rebelles ont réussi 10 à dérober les plans secrets de l arme ultime de l Empire, 11 l Etoile de la Mort - une station spatiale fortifiée 12 avec suffisamment de puissance de feu pour détruire une 13 planète entière Poursuivie par les sinistres agents de l Empire, la 16 princesse Leia rentre chez elle en hâte à bord de son 17 vaisseau stellaire, gardienne des plans volés qui 18 pourraient sauver son peuple et rétablir la liberté 19 dans la galaxie

256 Quelques outils d UNIX grep et Expressions régulières Exemple d utilisation de grep (filtres simples) Afficher les lignes qui contiennent le mot "rebelles" 1 Galactica:fichiers benoit$ grep rebelles introstarwarsfull.txt 2 spatiaux rebelles, frappant à partir d une base cachée, 3 Durant la bataile, les espions rebelles ont réussi Afficher les lignes qui ne contiennent pas la suite de lettres le 1 Galactica:fichiers benoit$ grep -v le introstarwarsfull.txt 2 Episode IV - Un nouvel espoir 3 4 galactique maléfique. 5 6 avec suffisamment de puissance de feu pour détruire une 7 planète entière vaisseau stellaire, gardienne des plans volés qui 10 dans la galaxie... Afficher depuis l entrée standard toutes les lignes qui contiennent soit le mot Empire, soit le mot vaisseau 1 Galactica:fichiers benoit$ cat introstarwarsfull.txt grep -e Empire -e vaisseau 2 C est une période de guerre civile. Des vaisseaux 3 à dérober les plans secrets de l arme ultime de l Empire, 4 Poursuivie par les sinistres agents de l Empire, la 5 vaisseau stellaire, gardienne des plans volés qui 187

257 Quelques outils d UNIX grep et Expressions régulières Exemple d utilisation de grep (filtres simples) Question Comment n afficher que les lignes qui contiennent à la fois les mots plans et Empire? Réponse : On sélectionne d abord les lignes qui contiennent le mot plan Parmi ces dernières, on sélectionne celles qui contiennent le mot Empire, en utilisant les tubes grep plans introstarwarsfull.txt grep Empire Application : 1 Galactica:fichiers benoit$ grep plans introstarwarsfull.txt grep Empire 2 à dérober les plans secrets de l arme ultime de l Empire, 188

258 Quelques outils d UNIX grep et Expressions régulières Exemple d utilisation de grep (filtres simples) Question Comment n afficher que les lignes qui contiennent à la fois les mots plans et Empire? Réponse : On sélectionne d abord les lignes qui contiennent le mot plan Parmi ces dernières, on sélectionne celles qui contiennent le mot Empire, en utilisant les tubes grep plans introstarwarsfull.txt grep Empire Application : 1 Galactica:fichiers benoit$ grep plans introstarwarsfull.txt grep Empire 2 à dérober les plans secrets de l arme ultime de l Empire, 188

259 Quelques outils d UNIX grep et Expressions régulières Expressions régulières Limites des filtres simples Faciles à utiliser mais sont très limités Filtrage basique réalisé sur une suite exacte de caractères Pour palier à ces limitations, utilisation des expressions régulières Expressions régulières (ou expressions rationelles) Motif qui décrit un ensemble de chaines de caractères possibles Extrêmement utilisés en informatique, sous UNIX Exception : pas utilisé dans les lignes de commandes shell Beaucoup plus compliqué à utiliser que les filtres simples Mais beaucoup plus puissant 189

260 Quelques outils d UNIX grep et Expressions régulières Expressions régulières : principes Principe d utilisation des expressions régulières Définition de classes de caractères Utilisation de quantificateurs (caractères?, +, *, {..}) sur ces classes de caractères Permet d imposer qu un motif donné soit répété une ou plusieurs fois Possibilité d utiliser l opérateur ou (caractère ) Application des opérateurs et quantificateurs sur un caractère, un groupe de caractères (...) ou un ensemble [...] Utilisation de délimiteurs de débuts et de fin de ligne A utiliser avec l outil grep et option -E, ou avec egrep 190

261 Quelques outils d UNIX grep et Expressions régulières Syntaxe des expressions régulières (1/2) Syntaxe Délimiteurs de chaînes : ˆ Définit le début de la ligne $ Définit la fin de la ligne Motifs simples : c Recherche du caractère c cde Recherche de la suite de caractères cde. Joker pour remplacer exactement un caractère [...] Domaine de caractères autorisés : un caractère de cet ensemble est requis [a-z] ensemble des lettres minuscules [a-f0-9] lettres minuscules de A à F, et des chiffres [ˆ...] Inverse du domaine de caractères : un caractère qui n appartient pas à ce domaine est requis 191

262 Quelques outils d UNIX grep et Expressions régulières Afficher les lignes qui contiennent un un m minuscule : 1 Galactica:fichiers benoit$ grep -E m introstarwarsfull.txt Afficher les lignes qui commencent par un A majuscule : 1 Galactica:fichiers benoit$ grep -E ^A introstarwarsfull.txt Afficher les lignes qui contiennent plan, empire, ou rebelle : 1 Galactica:fichiers benoit$ grep -E plan empire rebelle introstarwarsfull.txt Afficher les lignes qui ne commencent pas par une majuscule : 1 Galactica:fichiers benoit$ grep -E ^[^A-Z] introstarwarsfull.txt Afficher les lignes qui ne sont pas vides : 1 Galactica:fichiers benoit$ grep -v -E ^$ introstarwarsfull.txt 2 # ou encore 3 Galactica:fichiers benoit$ grep -E. introstarwarsfull.txt Afficher les lignes qui contiennent Le, le, La ou la : 1 Galactica:fichiers benoit$ grep -E [Ll][ea] introstarwarsfull.txt 192

263 Quelques outils d UNIX grep et Expressions régulières Syntaxe des expressions régulières (2/2) Syntaxe (suite) Définition de clauses disjonctives : a b Recherche du motif a ou alors du motif b Quantificateurs (appliqués sur le motif le précédant) : * 0, 1 ou plusieurs fois ce motif + 1 ou plusieurs fois ce motif? 0 ou 1 fois ce motif {n} exactement n fois ce motif {m,n} entre m et n fois ce motif {m,} au moins m fois ce motif (...) Permet de grouper des caractères pour appliquer un quantificateur sur l ensemble du groupe. Permet également d affecter les mots trouvés dans des variables (utilisation avec sed) 193

264 Quelques outils d UNIX grep et Expressions régulières Afficher les lignes contenant long, loong, looong,... : 1 Galactica:fichiers benoit$ grep -E lo+ng fichier.txt Même chose, syntaxe différente 1 Galactica:fichiers benoit$ grep -E lo(o*)ng fichier.txt Afficher les lignes contenant un mot de 4 caractères ou plus : 1 Galactica:fichiers benoit$ grep -E [A-Za-z0-9]{4,} fichier.txt Afficher les lignes contenant Le, le, La, la, un, une, Un ou Une : 1 Galactica:fichiers benoit$ grep -E ([Ll][ea]) ([uu]ne?) fichier.txt Afficher les lignes contenant cinq ou six mots : 1 Galactica:fichiers benoit$ grep -E ^([A-Za-z0-9] ){4,5}([A-Za-z0-9])$ fichier.txt 2 #probleme avec les accents : la seconde ligne est mieux 3 Galactica:fichiers benoit$ grep -E ^([^ ]* ){4,5}[^ ]*$ fichier.txt Afficher tous les mots d exactement 3 caractères (plus difficile) : 1 Galactica:fichiers benoit$ grep -o -E (^ )[A-Za-z0-9]{3}( $) fichier.txt 194

265 Quelques outils d UNIX grep et Expressions régulières Expressions régulières : applications Remarque Pour utiliser un caractère spécial comme caractère standard, on le précède d un antislash \ Question Quels sont tous les mots reconnus par les expressions régulières suivantes : 1 ([1-9] [0-2][1-9] 30 31])[-/\\](0?[1-9] 1[0-2]) 2 [a-za-z0-9._%+-]+@[a-za-z0-9.-]+\.[a-za-z]{2,4} Réponse : 1 Dates d anniversaires : 17/07, 14/02, 4-5, 13/5, s 195

266 Quelques outils d UNIX grep et Expressions régulières sed - Stream EDitor sed : éditeur de flux à la volée Outil extrêmement puissant de UNIX (mais compliqué) Permet des manipulations avancées sur un fichier texte Utilise des expressions régulières associées à des commandes exemple de manipulations réalisables avec sed Passer certains mots du texte en majuscule seulement Remplacer un groupe de mots par un autre Changer des formats de date (17/07/81 en 17 Juillet 1981) Et bien d autres 196

267 Premiers scripts Table des matières 1 À la découverte des systèmes d exploitation, et UNIX 2 La gestion de fichiers sous UNIX 3 Processus 4 Gestion des entrées-sorties 5 Les outils 6 Premiers scripts 197

268 Premiers scripts Shell et programmation Le shell peut jouer le rôle d interface de programmation Elements usuels de la programmation impérative Variables : Affectation et lecture Opérations : arithmétiques, concaténations,... Tests conditionnels (if...then...else) Boucles déterministes (for) Boucles non déterministes (while) Ecriture des instructions Les instructions d un programme shell peuvent être entrées directement dans l interface du shell Ou peuvent être écrites dans un fichier, qui sera ensuite lu et exécuté : fichier script 198

269 Premiers scripts Exécution des commandes dans un fichier script Fichier script Objet et intérêt d un fichier script : Stocker les commandes à exécuter dans un fichier Commandes exécutées séquentiellement Pouvoir exécuter une ou plusieurs fois une suite d instructions qui peut s avérer longue Ne pas avoir à retaper à chaque fois les commandes Continuer à bénéficier de la puissance/caractéristiques du shell Pouvoir programmer l exécution de ces commandes à différents moments de la journée, ou selon certains événements 199

270 Premiers scripts Exécution des commandes dans un fichier script Quelques éléments préliminaires généralement : extension.sh Lignes précédées d un # (hash / croisillon) : commentaires Exécution comme un programme classique Fichier exécutable : s assurer des droits d exécution (+x) Commandes externes (programmes) et internes (du shell) Différents shell = différentes syntaxes Besoin de spécifier quel shell utiliser La première ligne du fichier doit préciser le shell Notation : #!<chemin du shell> exemple : #!/bin/bash 200

271 Premiers scripts Un premier script hello world Fichier helloworld.sh 1 #!/bin/bash 2 3 # author : Benoit Darties 4 # date : # description : simple hello world script 6 7 echo "hello world!!!" Ajout des droits d exécution s ils n y étaient pas déjà 1 benoit$ chmod +x helloworld.sh Exécution : 1 benoit$./helloworld.sh 2 hello world!!! 201

272 Premiers scripts Itérations déterministes Boucles for... do... done Répétition (itérations) d une ou plusieurs d instructions A chaque itération : mêmes instructions Nécessité dé déclarer un compteur d itération Seule la valeur du compteur d itérations va changer à chaque tour (généralement incrémentation de 1 en 1) Itérations déterministes : on sait combien de tours on va faire Nécessité de préciser un domaine : ensemble des valeurs que va prendre successivement le compteur de boucle à chaque tour Délimiteurs de début (do) et de fin (done) de boucle 202

273 Premiers scripts Itérations déterministes Utilisation de for... do... done syntaxe : for (( init; condition; incrementation )) do instruction1 instruction2... done les espaces sont importants! init : initiation du compteur d itération condition : on boucle tant que la condition est vérifiée incrémentation : comment le compteur d itération évolue Autre notation : for variable in {1..10} do 203

274 Premiers scripts Itérations déterministes Contenu du fichier script bouclefor.sh 1 #!/bin/bash 2 3 for (( i=0; i<10; i++ )) 4 do 5 echo ceci est le $i tour de boucle 6 done Exécution du fichier script bouclefor.sh 1 Galactica:script benoit$./bouclefor.sh 2 ceci est le 0 eme tour de boucle 3 fin de ce tour de boucle 4 ceci est le 1 eme tour de boucle 5 fin de ce tour de boucle 6 ceci est le 2 eme tour de boucle 7 fin de ce tour de boucle 8 ceci est le 3 eme tour de boucle 9 fin de ce tour de boucle 10 ceci est le 4 eme tour de boucle 11 fin de ce tour de boucle 204

275 Premiers scripts Itérations déterministes For peut également itérer sur autre chose que des nombres! A la place de nombres, itérations sur un ensemble de mots syntaxe : for compteur in mot1 mot2 mot3... do instruction1 instruction2... done Utilisation quasi-similaire Mais à chaque tour de boucle, le compteur prend la valeur du mot suivant dans la liste fournie en paramètres 205

276 Premiers scripts Itérations déterministes Contenu du fichier script bouclefor2.sh 1 #!/bin/bash 2 3 for i in Bulbizarre Salameche Carapuce Pikachu Raichu Ronflex 4 do 5 echo "dans ce tour de boucle, i vaut $i" 6 done Exécution du fichier script bouclefor2.sh 1 Galactica:script benoit$./bouclefor2.sh 2 dans ce tour de boucle, i vaut Bulbizarre 3 dans ce tour de boucle, i vaut Salameche 4 dans ce tour de boucle, i vaut Carapuce 5 dans ce tour de boucle, i vaut Pikachu 6 dans ce tour de boucle, i vaut Raichu 7 dans ce tour de boucle, i vaut Ronflex 206

277 Premiers scripts Rappels sur les variables Question Comment créer une variable : lui affecter une valeur Comment lui affecter une valeur : opérateur = Comment lire une valeur : $NomVariable Quel est le résultat de la suite d instructions suivantes : $ A=5 $ B=6 $ C=$A $ D=$C+$B+1 $ echo $D Réponse $ echo $D

278 Premiers scripts Rappels sur les variables Question Comment créer une variable : lui affecter une valeur Comment lui affecter une valeur : opérateur = Comment lire une valeur : $NomVariable Quel est le résultat de la suite d instructions suivantes : $ A=5 $ B=6 $ C=$A $ D=$C+$B+1 $ echo $D Réponse $ echo $D

279 Premiers scripts Opérations sur les variables Le shell n interprète pas directement les opérations mathématique Comportement "bête" : pas de calculs effectués Les opérateurs sont traités comme des caractères standards Solution 1 (commune) : utiliser la commande let : 1 benoit$ A=5 2 benoit$ B=6 3 benoit$ let C=2*A+B-2 4 benoit$ echo $C 5 14 Solution 2 (spécifique bash) : utiliser les doubles parenthèses 1 benoit$ A=5 2 benoit$ B=6 3 benoit$ (( C=2*A+B-2 )) 4 benoit$ echo $C

280 Premiers scripts Opération sur les variables Liste des principaux opérateurs acceptés par let ou ((...)) 209

281 Premiers scripts Exécution conditionnelles Condition if... then... [else...] fi exécute une ou plusieurs instructions selon une condition syntaxe : if condition-a-tester then instruction1 si condition vraie instruction2 si condition vraie... else instruction1 si condition fausse instruction2 si condition fausse... fi Partie else optionnelle 210

282 Premiers scripts Exécution conditionnelles La définition d une condition n est pas si simple! condition-a-tester n est pas une condition classique Il s agit du code retour d une commande, d une expression Rappel : code retour de la dernière commande visible dans $? Si le code retour est 0, la condition est considérée vraie Si le code retour est différent 0, la condition est fausse Multiples solutions pour les conditions On peut réutiliser la commande let On peut réutiliser les doubles parenthèses (en bash) On peut utiliser une commande spécifique : test Commande la plus appropriée teste une expression arithmétique, logique, un fichier,... renvoie 0 si le test est ok, et 1 sinon 211

283 Premiers scripts Exécution conditionnelles : exemple avec let Pour être sûr, on vérifie simplement la valeur du code retour : 1 Galactica:script benoit$ let 5*6==12 2 Galactica:script benoit$ echo $? Galactica:script benoit$ let 5*6>12 6 Galactica:script benoit$ echo $? 7 0 Au sein du fichier script testif_bracket.sh 1 #!/bin/bash 2 3 A=5 4 if (( $A==6 )) 5 then 6 echo "A est bien egal à 6" 7 else 8 echo "A ne vaut pas 6. Il est égal à $A" 9 fi Exécution du fichier script testif_bracket.sh 1 Galactica:script benoit$./testif_let.sh 2 A ne vaut pas 6. Il est égal à 5 212

284 Premiers scripts Exécution conditionnelles : exemple avec ((...)) Pour être sûr, on vérifie simplement la valeur du code retour : 1 Galactica:script benoit$ (( 5+6 == 12 )) 2 Galactica:script benoit$ echo $? Galactica:script benoit$ (( 5*6 > 12 )) 6 Galactica:script benoit$ echo $? 7 0 Au sein du fichier script testif_bracket.sh 1 #!/bin/bash 2 3 A=5 4 if (( $A==6 )) 5 then 6 echo "A est bien egal à 6" 7 else 8 echo "A ne vaut pas 6. Il est égal à $A" 9 fi Exécution du fichier script testif_bracket.sh 1 Galactica:script benoit$./testif_bracket.sh 2 A ne vaut pas 6. Il est égal à 5 213

285 Premiers scripts Exécution conditionnelles : la commande test la commande test Permet de faire tout un tas de tests différents : Vérifie si des (in)équations sont justes Fait des tests sur le status ou l existence d un fichier Analyse et études de chaines de caractères Ces tests peuvent être utilisés comme condition dans un if Syntaxe : 1 seule opérande (exemple : est-ce qu un fichier existe?) test operateur operande 2 opérandes (exemple : est-ce que A est supérieur à 50?) test operande1 operateur operande2 Les opérandes sont les éléments à tester Difficulté : trouver le bon opérateur par rapport au test à faire 214

286 Premiers scripts Exécution conditionnelles : la commande test Comparaisons arithmétiques : opérateurs à 2 opérandes 215

287 Premiers scripts Tests sur fichiers : opérateurs à 1 opérande Tests sur fichiers : opérateurs à 2 opérandes 216

288 Premiers scripts Tests sur les chaines de caractères : opérateurs à 1 opérande Tests sur les chaines de caractères : opérateurs à 2 opérandes 217

La mémoire. Un ordinateur. L'octet. Le bit

La mémoire. Un ordinateur. L'octet. Le bit Introduction à l informatique et à la programmation Un ordinateur Un ordinateur est une machine à calculer composée de : un processeur (ou unité centrale) qui effectue les calculs une mémoire qui conserve

Plus en détail

Unix/Linux I. 1 ere année DUT. Université marne la vallée

Unix/Linux I. 1 ere année DUT. Université marne la vallée Unix/Linux I 1 ere année DUT Université marne la vallée 1 Introduction 2 Fonctions et spécifité d Unix Architecture 3 4 5 Fichier Unix Arborescence de fichiers Quelques commandes sur les fichiers Chemins

Plus en détail

Introduction aux Systèmes et aux Réseaux, Master 2 CCI

Introduction aux Systèmes et aux Réseaux, Master 2 CCI aux Systèmes et aux Réseaux, Master 2 CCI Cours 1 : Introduction et contexte Unix/Linux Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@univ-lyon1.fr Master CCI - Université Lyon 1 -

Plus en détail

Introduction à l informatique en BCPST

Introduction à l informatique en BCPST Introduction à l informatique en BCPST Alexandre Benoit BCPST L informatique en BCPST «L enseignement de l informatique en classes préparatoires de la filière BCPST a pour objectif d introduire puis de

Plus en détail

Linux 1: Présentation

Linux 1: Présentation 1: Présentation 11.05.04, Avon arrighi@univ-mlv.fr, IGM, Université de Marne-la-Vallée 1: Présentation Unix Normalisation Consortiums Logiciel libre Distributions Conseils Caractéristiques Notions 1: Présentation

Plus en détail

PRESENTATION RESSOURCES. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

PRESENTATION RESSOURCES. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille PRESENTATION RESSOURCES Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille 1) Introduction, Objectifs et Intentions Le BTS SN (Systèmes Numériques) intègre la formation

Plus en détail

TP 4 de familiarisation avec Unix

TP 4 de familiarisation avec Unix TP 4 de familiarisation avec Unix Réseau Filtres (suite) Variables Scripts Vincent Berry - vberry@lirmm.fr IMPORTANT : la prise de notes est une pratique très importante et pourtant négligée, elle est

Plus en détail

TD séances n 3 et n 4 Répertoires et Fichiers sous Unix

TD séances n 3 et n 4 Répertoires et Fichiers sous Unix Ce TP est destiné à vous familiariser avec les fichiers sous l'environnement UNIX. Fortement axé sur la pratique, il aborde la création, la manipulation et la suppression des répertoires et fichiers. 1

Plus en détail

Cours Informatique 1. Monsieur SADOUNI Salheddine

Cours Informatique 1. Monsieur SADOUNI Salheddine Cours Informatique 1 Chapitre 2 les Systèmes Informatique Monsieur SADOUNI Salheddine Un Système Informatique lesystème Informatique est composé de deux parties : -le Matériel : constitué de l unité centrale

Plus en détail

TP1 - Prise en main de l environnement Unix.

TP1 - Prise en main de l environnement Unix. Mise à niveau UNIX Licence Bio-informatique TP1 - Prise en main de l environnement Unix. Les sujets de TP sont disponibles à l adresse http://www.pps.jussieu.fr/~tasson/enseignement/bioinfo/ Les documents

Plus en détail

Module : Informatique Générale 1. Les commandes MS-DOS

Module : Informatique Générale 1. Les commandes MS-DOS 1 Les commandes MS-DOS I. Introduction Le DOS est le système d'exploitation le plus connu, sa version la plus commercialisée est celle de Microsoft, baptisée MS-DOS (Microsoft Disk Operating Système).MS-DOS

Plus en détail

L informatique en BCPST

L informatique en BCPST L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité

Plus en détail

nom : Collège Ste Clotilde

nom : Collège Ste Clotilde UNE CONFIGURATION INFORMATIQUE Objectif : Identifier les éléments principaux d une configuration L ordinateur enregistre des données qu il traite pour produire un résultat Sifflements 20 Notice 12 attache

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

TP 1 Prise en main de l environnement Unix

TP 1 Prise en main de l environnement Unix Introduction aux systèmes d exploitation (IS1) TP 1 Prise en main de l environnement Unix Le but de ce premier TP est de commencer à vous familiariser avec l environnement Unix. 1 Ouverture de session

Plus en détail

Licence Sciences et Technologies Examen janvier 2010

Licence Sciences et Technologies Examen janvier 2010 Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.

Plus en détail

TP 1. Prise en main du langage Python

TP 1. Prise en main du langage Python TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer

Plus en détail

Cahier n o 6. Mon ordinateur. Fichiers et dossiers Sauvegarde et classement

Cahier n o 6. Mon ordinateur. Fichiers et dossiers Sauvegarde et classement Cahier n o 6 Mon ordinateur Fichiers et dossiers Sauvegarde et classement ISBN : 978-2-922881-10-3 2 Table des matières Fichiers et dossiers Sauvegarde et classement La sauvegarde 4 Enregistrer 4 De quelle

Plus en détail

Année 2007. Cours Unix-Shell. par. Karam ALLALI. Ecole Spéciale d Informatique

Année 2007. Cours Unix-Shell. par. Karam ALLALI. Ecole Spéciale d Informatique Année 2007 Cours Unix-Shell par Karam ALLALI Ecole Spéciale d Informatique Table des matières 1 Introduction. 5 1.1 Historique.................................... 6 1.2 Système d exploitation.............................

Plus en détail

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental

Plus en détail

Polycopié Cours Système d Exploitation I. Programme : Filière SMI S3

Polycopié Cours Système d Exploitation I. Programme : Filière SMI S3 UNIVERISTE MOHAMMED PREMIER Faculté des Sciences d Oujda Oujda - Maroc Polycopié Cours Système d Exploitation I Programme : Filière SMI S3 Pr. El Mostafa DAOUDI Département de Mathématiques et d Informatique

Plus en détail

Environnement Informatique EMSE Linux

Environnement Informatique EMSE Linux Environnement Informatique EMSE Linux Xavier Serpaggi École Nationale Supérieure des Mines de Saint-Étienne. Septembre 2013 Xavier Serpaggi (ENSM-SE) Environnement Informatique

Plus en détail

2X ThinClientServer Guide d utilisation

2X ThinClientServer Guide d utilisation 2X ThinClientServer Guide d utilisation Page 1/23 Sommaire 2x Thin Client Server Boot PXE Edition... 3 Connections Manage... 3 Connections Manage Users... 3 Connections Manage Full Desktops... 4 Connections

Plus en détail

Administration de systèmes

Administration de systèmes Administration de systèmes Windows NT.2000.XP.2003 Copyright IDEC 2002-2004. Reproduction interdite. Sommaire... 2 Eléments logiques et physiques du réseau... 5 Annuaire et domaine... 6 Les utilisateurs

Plus en détail

Introduction à Linux (pour le HPC) «Linux 101» Présentation : http://goo.gl/bvfyn

Introduction à Linux (pour le HPC) «Linux 101» Présentation : http://goo.gl/bvfyn Introduction à Linux (pour le HPC) «Linux 101» Présentation : http://goo.gl/bvfyn maxime.boissonneault@calculquebec.ca U. Laval - Mars 2013 1 2 Plan de la présentation 1.Accéder à une grappe 2.Fichiers

Plus en détail

Direction des Systèmes d'information

Direction des Systèmes d'information DEPLOIEMENT DU CLIENT SSL SSL VPN Direction des Systèmes d'information Auteur GDS Référence 2010-GDS-DPT Version Date /2010 Nb. Pages 8 Sujet Ce document décrit le déploiement du logiciel «SSL VPN Client»

Plus en détail

Fonctions. Solution professionnelle pour le stockage de données, la synchronisation multi- plateformes et la collaboration

Fonctions. Solution professionnelle pour le stockage de données, la synchronisation multi- plateformes et la collaboration Fonctions Synchronisation dynamique des fichiers : mise à jour automatique des documents sur tous les équipements Partage et collaboration : partage simple des fichiers entre employés, clients et partenaires

Plus en détail

Introduction à l informatique

Introduction à l informatique Introduction à l informatique Cours complet G. Santini, J.-C. Dubacq IUT de Villetaneuse S1 2014 G. Santini, J.-C. Dubacq (IUTV) Introduction à l informatique S1 2014 1 / 208 Organisation du module Remerciements

Plus en détail

TIC. Tout d abord. Objectifs. L information et l ordinateur. TC IUT Montpellier

TIC. Tout d abord. Objectifs. L information et l ordinateur. TC IUT Montpellier Tout d abord TIC TC IUT Montpellier Nancy Rodriguez Destruel Dans la salle de cours (et partout ailleurs ) : Ponctualité et assiduité exigées Ne pas manger, ni boire, ni dormir, ni travailler à autre chose

Plus en détail

USTL - Licence ST-A 1ère année 2005-2006 Codage de l information TP 1 :

USTL - Licence ST-A 1ère année 2005-2006 Codage de l information TP 1 : USTL - Licence ST-A 1ère année 2005-2006 Codage de l information TP 1 : Objectifs du TP Ce TP a pour but 1. de découvrir quelques opérations logiques sur les nombres 2. et quelques formats de fichiers.

Plus en détail

TP1 : Initiation à l algorithmique (1 séance)

TP1 : Initiation à l algorithmique (1 séance) Université de Versailles Vanessa Vitse IUT de Vélizy - Algorithmique 2006/2007 TP1 : Initiation à l algorithmique (1 séance) 1 Prise en main de l environnement Unix : rappels et compléments Le but de la

Plus en détail

Aide-Mémoire unix. 9 février 2009

Aide-Mémoire unix. 9 février 2009 Aide-Mémoire unix Nicolas Kielbasiewicz 9 février 2009 Le système d exploitation unix est de plus en plus présent aujourd hui. Comme tous les projets Open Source, on le trouve sous différentes formes :

Plus en détail

Conversion d un entier. Méthode par soustraction

Conversion d un entier. Méthode par soustraction Conversion entre bases Pour passer d un nombre en base b à un nombre en base 10, on utilise l écriture polynomiale décrite précédemment. Pour passer d un nombre en base 10 à un nombre en base b, on peut

Plus en détail

PLAN Introduction à UNIX Patrick Fuchs Dynamique des Structures et Interactions des Macromolécules Biologiques Université Paris Diderot patrick.fuchs@univ-paris-diderot.fr 2 PLAN Système d'exploitation

Plus en détail

Windows Server 2008. Chapitre 1: Découvrir Windows Server 2008

Windows Server 2008. Chapitre 1: Découvrir Windows Server 2008 Windows Server 2008 Chapitre 1: Découvrir Windows Server 2008 Objectives Identifier les caractéristiques de chaque édition de Windows Server 2008 Identifier les caractéristiques généraux de Windows Server

Plus en détail

INFO-F-404 : Techniques avancées de systèmes d exploitation

INFO-F-404 : Techniques avancées de systèmes d exploitation Nikita Veshchikov e-mail : nikita.veshchikov@ulb.ac.be téléphone : 02/650.58.56 bureau : 2N8.213 URL : http://student.ulb.ac.be/~nveshchi/ INFO-F-404 : Techniques avancées de systèmes d exploitation Table

Plus en détail

Informatique. Les réponses doivent être données en cochant les cases sur la dernière feuille du sujet, intitulée feuille de réponse

Informatique. Les réponses doivent être données en cochant les cases sur la dernière feuille du sujet, intitulée feuille de réponse Questions - Révision- - 1 er Semestre Informatique Durée de l examen : 1h pour 40 questions. Aucun document n est autorisé. L usage d appareils électroniques est interdit. Les questions faisant apparaître

Plus en détail

Cours Linux. Cours en ligne Administrateur Systèmes Linux. Académie Libre info@academielibre.fr

Cours Linux. Cours en ligne Administrateur Systèmes Linux. Académie Libre info@academielibre.fr Cours Linux Cours en ligne Administrateur Systèmes Linux Académie Libre info@academielibre.fr Programme général du cours Linux MODULE 1 - Fondamentaux Introduction à Linux La procédure de Login et Logout

Plus en détail

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB) Base de l'informatique Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB) Généralité Comment fonctionne un ordinateur? Nous définirons 3 couches Le matériel

Plus en détail

L annuaire et le Service DNS

L annuaire et le Service DNS L annuaire et le Service DNS Rappel concernant la solution des noms Un nom d hôte est un alias assigné à un ordinateur. Pour l identifier dans un réseau TCP/IP, ce nom peut être différent du nom NETBIOS.

Plus en détail

SUGARCRM Sugar Open Source Guide d Installation de French SugarCRM Open Source Version 4.2

SUGARCRM Sugar Open Source Guide d Installation de French SugarCRM Open Source Version 4.2 SUGARCRM Sugar Open Source Guide d Installation de French SugarCRM Open Source Version 4.2 Version 1.0.5 Mentions légales Mentions légales Ce document est susceptible de modification à tout moment sans

Plus en détail

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès www.haouati.com haouaticpge@gmail.com

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès www.haouati.com haouaticpge@gmail.com Partie 1 Professeur : Haouati Abdelali CPGE Lycée Omar Ibn Lkhattab - Meknès www.haouati.com haouaticpge@gmail.com Partie I : Généralités et algorithmique de base 1. Environnement matériel et logiciel

Plus en détail

TD 1 - Installation de système UNIX, partitionnement

TD 1 - Installation de système UNIX, partitionnement Département des Sciences Informatiques Licence Pro R&S 2009 2010 Administration Système T.T. Dang Ngoc dntt@u-cergy.fr TD 1 - Installation de système UNIX, partitionnement 1 Préambule Il existe de très

Plus en détail

Ceci est un Chromebook, ton ordinateur!

Ceci est un Chromebook, ton ordinateur! Ceci est un Chromebook, ton ordinateur! CHROMEBOOK - Dans le royaume des ordinateurs personnels, il n'y a pas beaucoup de choix. Pour schématiser, soit vous avez un PC, soit vous avez un Mac. Et ce depuis

Plus en détail

Tutoriel Création d une source Cydia et compilation des packages sous Linux

Tutoriel Création d une source Cydia et compilation des packages sous Linux Tutoriel Création d une source Cydia et compilation des packages sous Linux 1. Pré-requis 1. Quelques connaissances sous Linux 2. Avoir à disposition un Serveur FTP pour héberger votre source 3. Un thème

Plus en détail

1 Introduction au codage

1 Introduction au codage CélestineOscarDésiréAnatoleGastonEugène 1 Introduction au codage 1.1 Les ensembles L ensemble de tout les ensembles est Dieu lui-même. Kantor Ensemble des parties d un ensemble désigne l ensemble des sous-ensembles

Plus en détail

Informatique UE 102. Jean-Yves Antoine. Architecture des ordinateurs et Algorithmique de base. UFR Sciences et Techniques Licence S&T 1ère année

Informatique UE 102. Jean-Yves Antoine. Architecture des ordinateurs et Algorithmique de base. UFR Sciences et Techniques Licence S&T 1ère année UFR Sciences et Techniques Licence S&T 1ère année Informatique UE 102 Architecture des ordinateurs et Algorithmique de base Jean-Yves Antoine http://www.info.univ-tours.fr/~antoine/ UFR Sciences et Techniques

Plus en détail

Cours Programmation Système

Cours Programmation Système Cours Programmation Système Filière SMI Semestre S6 El Mostafa DAOUDI Département de Mathématiques et d Informatique, Faculté des Sciences Université Mohammed Premier Oujda m.daoudi@fso.ump.ma Février

Plus en détail

Les GPO 2012 server R2 (appliqués à Terminal Serveur Edition)

Les GPO 2012 server R2 (appliqués à Terminal Serveur Edition) Les GPO 2012 server R2 (appliqués à Terminal Serveur Edition) Par LoiselJP Le 01/08/2014 Rev. : 01/03/2015 1 Objectifs Dès qu il s agit de placer des paramètres particuliers, on annonce «il suffit d utiliser

Plus en détail

Les tablettes. Présentation tablettes Descriptif Fournisseurs Caractéristiques Comparatifs Conseils Perspectives Démonstration

Les tablettes. Présentation tablettes Descriptif Fournisseurs Caractéristiques Comparatifs Conseils Perspectives Démonstration Les Tablettes Les tablettes Présentation tablettes Descriptif Fournisseurs Caractéristiques Comparatifs Conseils Perspectives Démonstration Les tablettes Description: Appareil mobile positionné entre smartphone

Plus en détail

IV- Comment fonctionne un ordinateur?

IV- Comment fonctionne un ordinateur? 1 IV- Comment fonctionne un ordinateur? L ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu à présent, nous avons surtout vu l aspect «matériel», avec les interactions

Plus en détail

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en détail

Guide d installation de SugarCRM Open Source version 4.5.1

Guide d installation de SugarCRM Open Source version 4.5.1 Guide d installation de SugarCRM Open Source version 4.5.1 Version 1.0.2 Mentions légales Mentions légales Ce document est susceptible de modification à tout moment sans notification. Disclaimer / Responsabilité

Plus en détail

TD : Codage des images

TD : Codage des images TD : Codage des images Les navigateurs Web (Netscape, IE, Mozilla ) prennent en charge les contenus textuels (au format HTML) ainsi que les images fixes (GIF, JPG, PNG) ou animée (GIF animée). Comment

Plus en détail

Atelier La notion de session utilisateur sous Linux

Atelier La notion de session utilisateur sous Linux Chapitre 6 Atelier La notion de session utilisateur sous Linux I Présentation Nous allons voir la notion de session et d utilisateur sous linux, ainsi que quelques commandes de base afin de mieux comprendre

Plus en détail

4-261-700-32 (1) XDCAM Browser

4-261-700-32 (1) XDCAM Browser 4-261-700-32 (1) XDCAM Browser Guide d installation Avant de faire fonctionner l appareil, veuillez lire attentivement ce mode d emploi et le conserver pour référence ultérieure. Version 1.1 2010 Sony

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

Séance 0 : Linux + Octave : le compromis idéal

Séance 0 : Linux + Octave : le compromis idéal Séance 0 : Linux + Octave : le compromis idéal Introduction Linux est un système d'exploitation multi-tâches et multi-utilisateurs, basé sur la gratuité et développé par une communauté de passionnés. C'est

Plus en détail

Chapitre IX : Virtualisation

Chapitre IX : Virtualisation Chapitre IX : Virtualisation Eric Leclercq & Marinette Savonnet Département IEM http://ufrsciencestech.u-bourgogne.fr http://ludique.u-bourgogne.fr/~leclercq 5 mai 2011 1 Principes Problématique Typologie

Plus en détail

Installation d'un TSE (Terminal Serveur Edition)

Installation d'un TSE (Terminal Serveur Edition) Installation d'un TSE (Terminal Serveur Edition) Par LoiselJP Le 01/05/2013 (R2) 1 Objectifs Le TSE, comprenez Terminal Server Edition est une application de type 'main-frame' de Microsoft qui réside dans

Plus en détail

Session 8: Android File System

Session 8: Android File System Session 8: Android File System LO52 - Automne 2014 Fabien BRISSET 2 mai 2014 fabien.brisset@utbm.fr www.utbm.fr Droits de reproduction Copyright 2013-2014, Fabien Brisset, Copyright 2004-2014, Free Electrons

Plus en détail

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant 1969. R&T 1ère année. Sylvain MERCHEZ

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant 1969. R&T 1ère année. Sylvain MERCHEZ MODULE I1 Plan Chapitre 1 Qu'est ce qu'un S.E? Introduction Historique Présentation d'un S.E Les principaux S.E R&T 1ère année Votre environnement Sylvain MERCHEZ Introduction Introduction Rôles et fonctions

Plus en détail

Procédure d installation de la Sauvegarde de Windows Server

Procédure d installation de la Sauvegarde de Windows Server Procédure d installation de la Sauvegarde de Windows Server Des outils de sauvegarde/récupération sont intégrés dans Windows Server 2008. Pour y accéder, vous devez installer les éléments suivants : Sauvegarde

Plus en détail

Couche application. La couche application est la plus élevée du modèle de référence.

Couche application. La couche application est la plus élevée du modèle de référence. Couche application La couche application est la plus élevée du modèle de référence. Elle est la source et la destination finale de toutes les données à transporter. Couche application La couche application

Plus en détail

Codage d information. Codage d information : -Définition-

Codage d information. Codage d information : -Définition- Introduction Plan Systèmes de numération et Représentation des nombres Systèmes de numération Système de numération décimale Représentation dans une base b Représentation binaire, Octale et Hexadécimale

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Conservation des documents numériques

Conservation des documents numériques Conservation des documents numériques Qu'est ce qu'un document numérique? Matthieu GIOUX matthieu.gioux@bnf.fr Contexte de la préservation des documents numériques Une croissance en expansion Développement

Plus en détail

Les commandes relatives aux réseaux

Les commandes relatives aux réseaux SHELL Les commandes relatives aux réseaux L'accès aux ou via les réseaux est devenu vital, aussi, les commandes traditionnelles de connexion et de transfert de fichiers ont été remplacées par des commandes

Plus en détail

MANUEL D INSTALLATION DES PRE REQUIS TECHNIQUES SALLE DES MARCHES V.7

MANUEL D INSTALLATION DES PRE REQUIS TECHNIQUES SALLE DES MARCHES V.7 MANUEL D INSTALLATION DES PRE REQUIS TECHNIQUES SALLE DES MARCHES V.7 Netscape 7.2 / Windows XP - 1 - SOMMAIRE 1. INTRODUCTION... 3 2. Configuration Requise... 3 1.1 Configuration du poste de travail...

Plus en détail

SYSTÈME DE GESTION DE FICHIERS

SYSTÈME DE GESTION DE FICHIERS SYSTÈME DE GESTION DE FICHIERS - DISQUE 1 Les couches logiciels réponse requête Requêtes E/S Système E/S Pilote E/S Interruptions utilisateur traitement S.E. commandes S.E. S.E. matériel Contrôleur E/S

Plus en détail

Serveurs de noms Protocoles HTTP et FTP

Serveurs de noms Protocoles HTTP et FTP Nils Schaefer Théorie des réseaux (EC3a) Serveurs de noms Protocoles HTTP et FTP Théorie des réseaux (EC3a) Séance 7 Pourquoi DNS? Internet est une structure hiérarchique et arborescente de réseaux et

Plus en détail

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5 Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5 Machine virtuelle Machine virtuelle Machine virtuelle VMware ESX Network Shutdown Module

Plus en détail

Introduction...3. Objectif...3. Manipulations...3. Gestion des utilisateurs et des groupes...4. Introduction...4. Les fichiers de base...

Introduction...3. Objectif...3. Manipulations...3. Gestion des utilisateurs et des groupes...4. Introduction...4. Les fichiers de base... Système d'exploitation Sommaire Introduction...3 Objectif...3 Manipulations...3 Gestion des utilisateurs et des groupes...4 Introduction...4 Les fichiers de base...4 Quelques commandes d'administration...5

Plus en détail

Automatisation de l administration système avec

Automatisation de l administration système avec Automatisation de l administration système avec Puppet à la présidence de l UHP Sylvain Zimmermann Université Henri Poincaré 16 février 2011 Plan Introduction Motivations à utiliser puppet Généralités

Plus en détail

Plan de la conférence. Virtualization. Définition. Historique. Technique. Abstraction matérielle

Plan de la conférence. Virtualization. Définition. Historique. Technique. Abstraction matérielle Plan de la conférence Virtualization Microclub 7 mars 2008 Yves Masur - quelques définitions - technique utilisée - exemples d'émulations - la virtualisation x86 - VMWare - mise en oeuvre - conclusion

Plus en détail

I00 Éléments d architecture

I00 Éléments d architecture I00 I Exemples d ordinateur Pour les informaticiens, différentes machines de la vie courante sont des ordinateurs : par exemple les ordinateurs portables, les ordinateurs fixes, mais aussi les supercalculateurs,

Plus en détail

Un ordinateur, c est quoi?

Un ordinateur, c est quoi? B-A.BA Un ordinateur, c est quoi? Un ordinateur, c est quoi? Un ordinateur est une machine dotée d'une unité de traitement lui permettant d'exécuter des programmes enregistrés. C'est un ensemble de circuits

Plus en détail

Tsoft et Groupe Eyrolles, 2005, ISBN : 2-212-11623-3

Tsoft et Groupe Eyrolles, 2005, ISBN : 2-212-11623-3 Tsoft et Groupe Eyrolles, 2005, ISBN : 2-212-11623-3 Configuration requise ForestPrep DomainPrep Installation interactive 5 Installation sans surveillance Module 5 : Installation d Exchange Server 2003

Plus en détail

Chapitre 1 I:\ Soyez courageux!

Chapitre 1 I:\ Soyez courageux! Chapitre 1 I:\ Soyez courageux! Pour ne rien vous cacher, le langage d'assembleur (souvent désigné sous le terme "Assembleur", bien que ce soit un abus de langage, puisque "Assembleur" désigne le logiciel

Plus en détail

Bases de programmation. Cours 5. Structurer les données

Bases de programmation. Cours 5. Structurer les données Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et

Plus en détail

Manuel de System Monitor

Manuel de System Monitor Chris Schlaeger John Tapsell Chris Schlaeger Tobias Koenig Traduction française : Yves Dessertine Traduction française : Philippe Guilbert Traduction française : Robin Guitton Relecture de la documentation

Plus en détail

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs Architecture Matérielle des Systèmes Informatiques. S1 BTS Informatique de Gestion 1 ère année THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT Dossier 1 L environnement informatique. Objectifs Enumérer et

Plus en détail

TP LINUX : LINUX-SAMBA SERVEUR DE FICHIERS POUR UTILISATEURS WINDOWS

TP LINUX : LINUX-SAMBA SERVEUR DE FICHIERS POUR UTILISATEURS WINDOWS TP LINUX : LINUX-SAMBA SERVEUR DE FICHIERS POUR UTILISATEURS WINDOWS I LA MISSION Votre entreprise cherche maintenant à réduire le coût des licences. Elle vous confie la mission qui consiste à tester différents

Plus en détail

Préparation à l installation d Active Directory

Préparation à l installation d Active Directory Laboratoire 03 Étape 1 : Installation d Active Directory et du service DNS Noter que vous ne pourrez pas réaliser ce laboratoire sans avoir fait le précédent laboratoire. Avant de commencer, le professeur

Plus en détail

Introduction...3. Objectif...3. Manipulations...3. La Sauvegarde...4. Les différents types...4. Planification...4. Les outils...5

Introduction...3. Objectif...3. Manipulations...3. La Sauvegarde...4. Les différents types...4. Planification...4. Les outils...5 Système d'exploitation Sommaire Introduction...3 Objectif...3 Manipulations...3 La Sauvegarde...4 Les différents types...4 Planification...4 Les outils...5 Quelques commandes...5 La commande tar...5 La

Plus en détail

Introduction au Système d Exploitation Unix/Linux

Introduction au Système d Exploitation Unix/Linux 1 iere partie: Système de Gestion de Fichier B. Jacob IC2/LIUM 17 septembre 2013 Plan 1 Notions de fichier 2 Notions de répertoire 3 Organisation des répertoires 4 Identification d un fichier dans l arborescence

Plus en détail

M1105 : Bases des systèmes d exploitation

M1105 : Bases des systèmes d exploitation M1105 : Bases des systèmes d exploitation Emmanuel Hainry 2013 2014 Contents 1 Introduction 1 1.1 Fonctions d un ordinateur........................................... 3 2 Architecture d un ordinateur 3

Plus en détail

Déploiement de SAS 9.1.3 Foundation

Déploiement de SAS 9.1.3 Foundation Déploiement de SAS 9.1.3 Foundation I. Installation de SAS sur des postes en local à partir de Cédéroms 3 II. Phase de préparation au déploiement : Création des images disque 6 a) Pour une installation

Plus en détail

Environnements informatiques

Environnements informatiques Environnements informatiques Premiers pas sous Linux (seconde partie) 26 septembre 2008 blansche@dpt-info.u-strasbg.fr 1 /12 Administration sous Linux 2 /12 Démarrage Démarrage de Linux Niveaux de démarrage

Plus en détail

Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D.

Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D. 2013 Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D. Table des matières 1 Introduction (Historique / définition)... 3 2 But de la virtualisation... 4 3 Théorie : bases et typologie des solutions techniques...

Plus en détail

Représentation des Nombres

Représentation des Nombres Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...

Plus en détail

Architecture des ordinateurs Introduction à l informatique

Architecture des ordinateurs Introduction à l informatique Architecture des ordinateurs Introduction à l informatique 17 septembre 2004 1 2 3 4 5 6 Les interrupteurs... 0V 5V Ce sont des composants électroniques qui laissent pser un courant principal lorsque la

Plus en détail

La mémorisation des mots de passe dans les navigateurs web modernes

La mémorisation des mots de passe dans les navigateurs web modernes 1 La mémorisation des mots de passe dans les navigateurs web modernes Didier Chassignol Frédéric Giquel 6 décembre 2005 - Congrès JRES 2 La problématique Multiplication des applications web nécessitant

Plus en détail

Mon premier rpm. http://alexandre-mesle.com 7 juin 2010. 1 Avant de commencer 2 1.1 RPM... 2 1.2 URPMI... 2 1.3 RPMBUILD... 2

Mon premier rpm. http://alexandre-mesle.com 7 juin 2010. 1 Avant de commencer 2 1.1 RPM... 2 1.2 URPMI... 2 1.3 RPMBUILD... 2 Mon premier rpm http://alexandre-mesle.com 7 juin 2010 Table des matières 1 Avant de commencer 2 1.1 RPM....................................................... 2 1.2 URPMI.....................................................

Plus en détail

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE C.Crochepeyre MPS_SGF 2000-20001 Diapason 1 Les couches logiciels réponse SGF requête matériel matériel Requêtes E/S Système E/S Pilote E/S Interruptions Contrôleur

Plus en détail

Manuel de l utilisateur

Manuel de l utilisateur 1 Laplink Software, Inc. Manuel de l utilisateur Service clientèle/support technique : Web : http://www.laplink.com/fr/support E-mail : CustomerService@laplink.fr Tel (USA) : +1 (425) 952-6001 Fax (USA)

Plus en détail

Cours 3 : L'ordinateur

Cours 3 : L'ordinateur Cours 3 : L'ordinateur Abdelkrim Zehioua 2éme année Licence Gestion Faculté des sciences Économiques et sciences de Gestion Université A, Mehri - Constantine 2 Plan du cours 1.Définitions de l'ordinateur

Plus en détail

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server Machine virtuelle Machine virtuelle Machine virtuelle VMware ESX 3 Network Shutdown Module Network

Plus en détail