La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 Cours Systèmes dexploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali.

Présentations similaires


Présentation au sujet: "1 Cours Systèmes dexploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali."— Transcription de la présentation:

1 1 Cours Systèmes dexploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali

2 Plan du cours 1.Linux: Introduction générale 2.Initiation au shell 3.Le système de fichiers 4.Les redirections & pipes 5.La gestion des utilisateurs 6.Les processus 7.Les filtres 8.Léditeur vi 9.Les scripts 10.Fonctions avancées

3 Logiciel Libre Liberté dutiliser le logiciel pour nimporte quelle utilisation Liberté détudier le fonctionnement du logiciel et de ladapter à ses besoins Liberté de redistribuer des copies du logiciel Liberté daméliorer le logiciel et de distribuer publiquement ces améliorations pour le bénéfice de toute la communauté

4 Pourquoi utiliser les logiciels libres ? Cest le domaine des technologies de linformation qui possède une histoire cohérente et continue Ce sont les systèmes alternatifs qui permettent une analyse comparative critique Cest un moyen dacquérir des outils et des méthodes originales Cest un moyen de sapproprier les nouvelles technologies de façon autonome et indépendante

5 Définir Linux Propriétés –multi-tâches : –multi-utilisateurs : –multi-postes : –Outils / logiciels gratuits –Environnement de développement –Libre (et gratuit) !! : Ouverture/Fermeture dune session –Travailler sous Linux implique une connexion au système –Login: Identification de lutilisateur: login + mot-de-passe droits accordés par le super-utilisateur (root) –Logout: procédure de sortie commande logout dans la console

6 Concepts de base Kernel = Noyau Gestion des Entrées/Sorties Ordonnancement des tâches (scheduleur) Gestion de la mémoire virtuelle Shell Interprétation des commandes utilisateur Séquencement entre les programmes Application Ajout et|ou retrait à laide de paquets Développements modulaires pour partager les bibliothèques entre applications

7 Lhistoire… Linux est le petit fils de Unix Voir « Unix history »

8 La première fois ! Une fois connecté, le système nous connaît, ouvre une session à notre nom et attend nos instructions via un programme spécial: Le Shell = interpréteur de commandes –interface utilisateur de base (interlocuteur avec le syst.) –interprétation ligne à ligne –plusieurs shells: sh, csh, tcsh, bash, ksh, zsh,... –configurable: fichiers denvironnement (commençant par un. ).login.logout.bashrc –langage de programmation shell par défaut : bash

9 Les utilisateurs et les groupes Linux est multi-utilisateurs Chaque utilisateur a un login = nom identifiant unique Un utilisateur particulier : root Rôle du root : –Administrer la machine –Configurer les comptes utilisateurs –Résoudre les problèmes systèmes Les utilisateurs sont organisés dans des groupes –sils partagent les mêmes fichiers –Sils ont les mêmes responsabilités –Sils appartiennent au même service

10 Procédure de login 1.Démarrer la machine 2.Choisir le système Linux 3.Login : root 4.Passwd :

11 Initiation au shell Format général des commandes: commande [-option(s)] [argument(s)] Exemple : ls –a *.txt

12 Exemples –date –touch fic crée un fichier fic –hostname –whoami affiche le nom de login de lutilisateur connecté –echo affiche un message ( echo "bonjour !" ) –ls liste le contenu dun répertoire –man manuel en ligne de la commande

13 Exercice 1.Chercher la page manuelle de la commande ls 2.Tester les différentes options ( -R) 3.Tester ces mêmes options sur largument /

14 Sortie de ls drwx jebali sor 512 Sep 30 17:51 cours1.ps drwxr-xr-x 4 jebali sor 512 Sep xIngenieur drwxr-xr-x 4 jebali sor 1024 Oct xMedianet drwxr-xr-x 14 jebali sor 1024 Sep 28 12:22 xPack drwx jebali sor 1536 May 16 14:48 xPersonnel drwx jebali sor 512 Jul xProjet drwxr-xr-x 3 jebali sor 512 Dec xReunion -rw-r--r-- 1 jebali sor 888 Nov notes.txt drwx jebali sor 512 Jan xShrap drwxr-xr-x 4 jebali sor 512 Jul xThese lrwxr-xr-x 1 jebali sor 17 Apr yoko -> /home/yoko/

15 Shell : les méta-caractères Caractères spéciaux: ! ^ * ? [] \ ; & | >> L'astérisque ou étoile: * –interprété comme toute suite de caractères alphanumériques –utiliser avec précaution (commande rm par ex...) Le point dinterrogation: ? –remplace 1 seul caractère alphanumérique

16 Shell : les méta-caractères Caractères spéciaux: ! ^ * ? [] \ ; & | >> Le point-virgule: ; –Séparateur de commandes Les crochets: [] –Remplace un caractère choisi parmi ceux énumérés entre les crochets –[a-Z] : les lettres

17 Exercice Ecrire une commande qui affiche les fichiers dont le nom 1.se compose de 4 caractères 2.se compose de deux caractères ou plus 3.se compose de de deux caractères séparés par un -

18 Les variables denvironnement La commande env affiche les variables denvironnement La plupart servent à configurer lenvironnement utilisateur export Nomvariable=valeur affecte valeur à la variable echo $Nomvariable affiche la valeur de la variable

19 Variables denvironnement La variable PS1 contient le « prompt » = linvite de commande \d pour ajouter la date \t pour ajouter l'heure \u pour ajouter le nom de l'utilisateur \r pour un retour à la ligne \w pour ajouter le chemin complet du répertoire courant \W pour ajouter le répertoire courant \h pour ajouter le nom de la machine Exercice : changer le contenu de cette variable

20 Exercice Ecrire une commande qui affiche 1.La variable denvironnement contenant le chemin des exécutables 2.Deux variables denvironnements de votre choix 3.Les fichiers dont le nom est le contenu dune variable denvironnement que vous avez créé à lavance, et avec une extension.numéro (exemple fic.9)

21 Forme générale des commandes Entrée standard (clavier) Sortie standard (écran) Sortie derreur (écran…) Commande

22 Exemple Lancer la commande sort Donner des noms de villes par exemple Finir par Ctr-d Observer le résultat

23 Mécanisme de redirection < nomfic prend comme entrée nomfic > nomfic envoyer la sortie de la commande dans ce fichier >> ajouter la sortie au fichier Faire le test avec les commandes que vous connaissez

24 Exercice Ecrire une commande qui stocke les informations Propres au système dans un fichier nommé sysinfo Propres à lutilisateur dans le fichier userinfo Ces informations sont récupérées soit dans les variables denvironnement soit avec des commande que vous connaissez.

25 Les tubes/pipes Entrée standard Sortie standard Sortie derreur Commande Sortie standard Sortie derreur Exemple : ls | sort AltGr-6

26 Exercice Ecrire une commande qui ordonne dans lordre inverse Les variables denvironnements Le contenu dun fichier de noms de pays

27 Commandes Chercher dans le manuel ces commandes cat nomfichier more nomfichier wc grep texte nomfichier head nomfichier tail nomfichier

28 Exercice Ecrire une commande qui calcul le nombre doccurrence de « Paris » dans un fichier de noms de villes.

29 Les scripts Des utilitaires écrits avec des commande du shell. Interprétés directement en shell Gère linteractivité avec lutilisateur Commence par #!/bin/shellutilisé Ne pas oublier le droit exécution !

30 Système de fichiers Implanté sur une partition du disque Structuré en répertoire La racine est / Exo : cd / ls /bin/etc/usr /

31 Arborescence de Linux / la racine –/bin –/usr –/root –/lib –/etc –/home –/dev –/var –/mnt –/boot –/sbin

32 Commandes du FS Répertoires mkdir nom-de-répertoire Création d'un répertoire rmdir nom-de-répertoire Suppression d'un répertoire vide mv répertoire répertoire-d'accueil déplacement mv répertoire nouveau-nom Fichiers touch mon-fichier création d'un fichier vide more mon-fichier visualisation d'un fichier par page rm mon-fichier suppression mv mon-fichier répertoire déplacer mv mon-fichier nouveau-nom renommer cp nom-fichier répertoire-d'accueil/autre- nom copie file mon-fichier type de fichier

33 Sortie de ls –l drwx jebali sor 512 Sep 30 17:51 cours1.ps drwxr-xr-x 4 jebali sor 512 Sep xIngenieur drwxr-xr-x 4 jebali sor 1024 Oct xMedianet drwxr-xr-x 14 jebali sor 1024 Sep 28 12:22 xPack drwx jebali sor 1536 May 16 14:48 xPersonnel drwx jebali sor 512 Jul xProjet drwxr-xr-x 3 jebali sor 512 Dec xReunion -rw-r--r-- 1 jebali sor 888 Nov notes.txt drwx jebali sor 512 Jan xShrap drwxr-xr-x 4 jebali sor 512 Jul xThese lrwxr-xr-x 1 jebali sor 17 Apr yoko -> /home/yoko/

34 Type de fichiers - fichier normale d : répertoire (directory) b : bloc, fichier spécial mode bloc c : caractère, fichier spécial mode caractère l : lien symbolique p : fichier pipe s : socket

35 Droits Organisé en trois lots Droits utilisateur, du groupe, des autres Exo ls –l R: read lire W : write écrire X : execute exécution Attention signification différente selon fichier ou répertoire

36 Changer les droits daccès chmod [droit] nomfichier Les droits sont exprimés par ugo+/-rwx Exercice : changer les droits de vos fichiers Enlever le droit de lecture pour le propriétaire Et voir si vous pouvez afficher son contenu

37 Droits en octal Exprimer les droits avec les chiffres 0 pas de droits 1 pour - - x 2 pour - w – 3 pour – wx … Exemple :

38 Droits daccès sur les répertoires x : travaerser avec la commande cd r : lister le contenu avec ls w : écriture, donc supprimer aussi des fichiers

39 Gestion de lespace de stockage Consulter le manuel des commandes df du

40 Les inodes Comment les voir : ls –li Cest quoi ? –Un numéro qui renvoie sur une structure dans une table dinodes –Information : nom, taille, date, permission,

41 Les montages : introduction Tout appartient à / Chaque périphérique est monté sur un répertoire appartenant à / Comment faire : avec la commande mount mount /dev/periph /mnt/repertoire Puis on peut naviguer dans /mnt/repertoire

42 Exercice Calculer le nombre de fichiers et de répertoire dans votre répertoire de travail Calculer le nombre de répertoiress et sous-répertoire dans votre répertoire de travail.

43 Léditeur vi Consulter le manuel de la commande vi vi est un éditeur de texte basique. Dautres éditeurs de texte sont utilisés comme pico.

44 Gestion des utilisateurs Un utilisateur privilégier : root Appartient au groupe root Et les autres !

45 Identification Uid : user identificateur numéro didentification de lutilisateur –Pour le root cest 0 Gid : Group identificateur numéro didentification du groupe –Pour le root cest 0

46 Gestion des utilisateurs La commande useradd Comportement par défaut de la commande –Ajoute un utilisateur au système –Lui créer un groupe du même nom –Crée un répertoire dans /home/ avec ce nom –Copie /etc/skel/* dans /home/nom-utilisateur

47 Exercice man useradd –Explorer les différentes options –Combiner plusieurs options

48 Attribution dun mot de passe Avec la commande passwd nomutilisateur Demande de confirmation Vérification de la robustesse du mot de passe

49 Supprimer un utilisateur Avec la commande userdel Avec loption –r on supprime aussi son répertoire

50 Le fichier /etc/passwd Extrait du fichier : root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin: daemon:x:2:2:daemon:/sbin: adm:x:3:4:adm:/var/adm: lp:x:4:7:lp:/var/spool/lpd: sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt

51 Le fichier /etc/passwd Les champs : –Nom utilisateur –Mot de passe : codé, ou x donc dans /etc/shadow, ou !! Interdit de connexion –UID –GID –Libre : nom et prénom, adresse… –Le répertoire de connexion –Le shell

52 Le fichier /etc/shadow Contient les mots de passe cryptés Champ : –Nom utilisateur –Mot de passe –Dernière date de modification –Min nombre de jour avant le quel le pass peut être changé –Max nombre de jour après lequel le pass doit être changé…

53 Le fichier /etc/group Contient la description des groupes des utilisateurs Organisé en champs : Le nom du groupe Mot de passe (non utilisé) Le numéro du groupe Champs vide Champs description Liste des membres

54 Manipulation des groupes La commande groupadd groupdel groupmod

55 Exercice Noter les droits des fichiers –/etc/passwd –/etc/shadow –/etc/group

56 Exercice Créer « manuellement » un utilisateur Attention aux manipulations ! Démarche : –Éditer passwd shadow group –Créer /home/user –Copier /etc/skel –Changer le propriétaire et le groupe

57 Connexion et profil des utilisateurs À la connexion /etc/profile puis /home/user/.profile Sur Linux : –Si /etc/profile –Si /home/user/.bash_profile existe, il est exécuté Sinon si /home/user/.bash_login existe il est exécuté –Sinon si /home/.profile existe il est exécuté Cas particulier : Mandrake.bash_profile appelle.bashrc qui appelle /etc/bashrc

58 Exercice Changer lenvironnement de lutilisateur en agissant sur ces fichiers

59 Les processus Définition : un processus est un programme dont lexécution est en cours. Un programme existe dabord sous forme de fichier exécutable Il est ensuite chargé en mémoire puis exécuté -> donc devient processus Un même programme peut être exécuté plusieurs fois (cas de /bin/bash) Time sharing : méthode de partage du temps processeur entre les processus en time slice (= 5ms)

60 États dun processus Linux Exécutable En exécution Endormi Sleeping S Fin et destruction Running R Exécutable : dans la file de lordonnanceur En exécution : sur le processeur Endormi : attend un événement (clavier, communication, sémaphore) Zombi : un processus terminé, mais son père nest pas informé Création

61 Un peu de code noyau volatile long state; #define TASK_RUNNING 0 #define TASK_INTERRUPTIBLE 1 #define TASK_UNINTERRUPTIBLE 2 #define TASK_ZOMBIE 4 #define TASK_STOPPED 8

62 Caractéristique dun processus Le PID : Process Identifier, numéro identificateur du processus Ce numéro est attribué par le noyau de façon unique par processus Renvoie vers une table de processus gérée par le noyau

63 Linux : Gestion des Processus Au démarrage le processus init est créé init crée tous les autres processus qui sont ses fils La commande ps nous permet de voir les processus créés init syslogdcrond ….

64 La commande ps Infos retournées par ps : [jebali:~] ps PID TT TIME COMMAND 3899 p1 0: zsh 4743 p1 0:00.14 emacs 4180 std 0: zsh numéro de processus temps CPU utilisé commande exécutée terminal associé

65 Autres informations avec ps ps –alx UID : numéro de lutilisateur PID : numéro du processus PPID : numéro du processus père PRI : priorité du processus fixée par le système NI(CE) : facteur influençant la priorité STAT : état du processus TTY : le terminal auquel le processus est rattaché

66 Exercice Exécuter ps –alx Retrouver larbre généalogique de votre processus bash bash a-t-il des fils ? lesquels ?

67 Exercice Ecrire une commande qui calcule le nombre de processus de lutilisateur root

68 Arbre des Processus Infos retournées par pstree (-a) : init-+-ahc_dv_0 |-crond |-cupsd |-devfsd |-keventd |-khubd |-kinoded |-klogd |-ksoftirqd_CPU0 |-kswapd |-kupdated |-lockd |-mdrecoveryd |-6*[mingetty] |-10*[mysqld_safe---mysqld---mysqld---mysqld] |-8*[nfsd] |-ntpd |-portmap

69 Une vue dynamique de lexécution des processus : top top : affiche en boucle les processus du système (fréquence 1s) On interagie avec top en appuyant sur une touche : –h aide –u nomutilisateur : que les processus de lutilisateur –…

70 Priorités Chaque processus a une priorité dexécution Sous Linux les priorités vont de –20 à 19 Plus la valeur est grande plus la priorié est petite La commande nice affecte la priorité #>nice –5 find / -name *.c

71 Avant plan et tâche de fond Avant plan : on tape la commande ou le nom du programme, on na pas la main sur le terminal, on attend que la commande fini Tâche de fond ou en arrière plan : on lance la commande ou le programme puis on a la main sur le terminal de suite Comment ? Avec le signe & à la fin de la commande Typiquement, les serveurs tournent en tâche de fond

72 Passage avant - arrière plan Suspendre le processus en avant plan Ctrl-z bg pour redémarrer le processus et arrière plan fg pour passer le processus de larrière plan à lavant plan jobs connaître les processus en arrière plan

73 Les signaux Un signal est un événement logiciel envoyé à un processus Envoyé par le noyau, lutilisateur, un autre programme kill –l liste tous les signaux, désignés par un nom auquel correspond un numéro

74 Les signaux Chaque processus peut recevoir des signanux Chaque signal a une signification particulière Pour envoyer un signal on utilise la commande kill Exemple kill – Nom du signalNuméroDescription SIGINT2 touche Ctrl-C, termine le processus SIGKILL9arrêter tout programme car il ne peut être géré différemment que le comportement par défaut. L'arrêt du programme est brutal. SIGTERM15Arrête le processus, mais permet deffectuer des opérations avant larrêt. SIGCHLD17Informe le père de la mort de son fils

75 La commande trap Permet de modifier la réaction dun processus via-à-vis dune commande À la réception dun signale permet : –De lignorer –Dexécuter une commande particulière –De restaurer le comportement par défaut

76 Exemples Ignorer les signaux 2 et 3 –trap SIGINT SIGQUIT Exécuter une commande –trap echo signal recu SIGINT Restaurer le comportement par défaut –trap - SIGINT


Télécharger ppt "1 Cours Systèmes dexploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali."

Présentations similaires


Annonces Google