1 / 76

Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali

Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali. Plan du cours. Linux: Introduction générale Initiation au shell Le système de fichiers Les redirections & pipes La gestion des utilisateurs Les processus Les filtres L’éditeur vi Les scripts

ilana
Download Presentation

Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cours Systèmes d’exploitation & Linux Formation GTI Septembre 2006 Ahmed Jebali

  2. Plan du cours • Linux: Introduction générale • Initiation au shell • Le système de fichiers • Les redirections & pipes • La gestion des utilisateurs • Les processus • Les filtres • L’éditeur vi • Les scripts • Fonctions avancées

  3. Logiciel Libre • Liberté d’utiliser le logiciel pour n’importe quelle utilisation • Liberté d’étudier le fonctionnement du logiciel et de l’adapter à ses besoins • Liberté de redistribuer des copies du logiciel • Liberté d’amé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 ? • C’est le domaine des technologies de l’information qui possède une • histoire cohérente et continue • Ce sont les systèmes alternatifs qui permettent une analyse comparative • critique • C’est un moyen d’acquérir des outils et des méthodes originales • C’est un moyen de s’approprier 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 d’une session • Travailler sous Linux implique une connexion au système • Login: • Identification de l’utilisateur: 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 à l’aide de paquets • Développements modulaires pour partager les bibliothèques entre applications

  7. L’histoire… 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 d’environnement (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 • s’ils partagent les mêmes fichiers • S’ils ont les mêmes responsabilités • S’ils appartiennent au même service

  10. Procédure de login • Démarrer la machine • Choisir le système Linux • Login : root • 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 l’utilisateur connecté • echo • affiche un message (echo "bonjour !") • ls • liste le contenu d’un répertoire • man <cde> • manuel en ligne de la commande <cde>

  13. Exercice • Chercher la page manuelle de la commande ls • Tester les différentes options ( -R) • Tester ces mêmes options sur l’argument /

  14. Sortie de ls drwx------ 7 jebali sor 512 Sep 30 17:51 cours1.ps drwxr-xr-x 4 jebali sor 512 Sep 12 2003 xIngenieur drwxr-xr-x 4 jebali sor 1024 Oct 10 2003 xMedianet drwxr-xr-x 14 jebali sor 1024 Sep 28 12:22 xPack drwx------ 55 jebali sor 1536 May 16 14:48 xPersonnel drwx------ 4 jebali sor 512 Jul 10 2000 xProjet drwxr-xr-x 3 jebali sor 512 Dec 29 2000 xReunion -rw-r--r-- 1 jebali sor 888 Nov 26 1999 notes.txt drwx------ 2 jebali sor 512 Jan 16 2002 xShrap drwxr-xr-x 4 jebali sor 512 Jul 11 2000 xThese lrwxr-xr-x 1 jebali sor 17 Apr 11 2002 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 d’interrogation: ? • 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 • se compose de 4 caractères • se compose de deux caractères ou plus • se compose de de deux caractères séparés par un -

  18. Les variables d’environnement • La commande env affiche les variables d’environnement • La plupart servent à configurer l’environnement utilisateur • exportNomvariable=valeur affecte valeur à la variable • echo $Nomvariable affiche la valeur de la variable

  19. Variables d’environnement La variable PS1 contient le « prompt » = l’invite 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 • La variable d’environnement contenant le chemin des exécutables • Deux variables d’environnements de votre choix • Les fichiers dont le nom est le contenu d’une variable • d’environnement que vous avez créé à l’avance, et avec une extension • .numéro (exemple fic.9)

  21. Forme générale des commandes Sortie standard (écran) Entrée standard (clavier) Commande Sortie d’erreur (écran…)

  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 à l’utilisateur dans le fichier userinfo Ces informations sont récupérées soit dans les variables d’environnement soit avec des commande que vous connaissez.

  25. Les tubes/pipes Sortie standard Sortie standard Entrée standard Commande Sortie d’erreur Sortie d’erreur Exemple : ls | sort AltGr-6

  26. Exercice Ecrire une commande qui ordonne dans l’ordre inverse • Les variables d’environnements • Le contenu d’un 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 d’occurrence 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 l’interactivité avec l’utilisateur • 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 / /etc /usr /bin

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

  32. Commandes du FS • 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 • 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

  33. Sortie de ls –l drwx------ 7 jebali sor 512 Sep 30 17:51 cours1.ps drwxr-xr-x 4 jebali sor 512 Sep 12 2003 xIngenieur drwxr-xr-x 4 jebali sor 1024 Oct 10 2003 xMedianet drwxr-xr-x 14 jebali sor 1024 Sep 28 12:22 xPack drwx------ 55 jebali sor 1536 May 16 14:48 xPersonnel drwx------ 4 jebali sor 512 Jul 10 2000 xProjet drwxr-xr-x 3 jebali sor 512 Dec 29 2000 xReunion -rw-r--r-- 1 jebali sor 888 Nov 26 1999 notes.txt drwx------ 2 jebali sor 512 Jan 16 2002 xShrap drwxr-xr-x 4 jebali sor 512 Jul 11 2000 xThese lrwxr-xr-x 1 jebali sor 17 Apr 11 2002 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 d’accè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 d’accè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 l’espace de stockage Consulter le manuel des commandes df du

  40. Les inodes • Comment les voir : ls –li • C’est quoi ? • Un numéro qui renvoie sur une structure dans une table d’inodes • 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. D’autres é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 d’identification de l’utilisateur • Pour le root c’est 0 • Gid : Group identificateur numéro d’identification du groupe • Pour le root c’est 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 d’un 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 l’option –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

More Related