Introduction A LINUX
Dr. Adel ESSAFI
Certified LPIC-1
PLAN
‣ Historique et philosophie
‣ Architecture et Installation
‣ Utilisateurs, groupes et Système de fichiers
‣ Commandes ...
Historique et
philosophie
‣ 1969 : Ken Thompson et Dennis Ritchie de Bell
Laboratories (AT&T) developpent Unics (UNIplexed
Information and Computing...
Caractéristiques
‣ Multiutilisateur et sécurisé: Par
défaut, les utilisateurs ordinaires ne
peuvent pas toucher aux fichier...
licence
Noyau Linux
• Kernel : www.kernel.org
•code source du noyau de linux
• Version X.Y.Z
• X : numéro majeur
• Y : numero mine...
Distributions linux
‣ Debutants
‣ Ubuntu, Mint ….
‣ Bureau
‣ Fedora, Ubuntu, Arch (Multimedia)
‣ Serveurs
‣ Redhat, Suse, ...
Obtenir Linux
‣ Acheter ou obtenir des CDs d’installation
‣ Télécharger depuis les depots
‣ Fichiers images et graver sur ...
Before we start
‣ Avant d’installer linux
‣ Identifier le besoin : station de travail, serveur, ….
‣ S’assurer d’avoir le b...
les grandes étapes
d’installation
‣ selection de la langue/clavier
‣ configuration du réseau
‣ Configuration du fuseau horai...
Architecture de Linux
Architecture de linux
LINUX
gcc
ls
cat
Architecture de linux
‣ To be continued
17
Utilisateurs, groupes
et
Système de fichiers
Premier contact
Prompt ou invite de commande
Format : [user@machine repertoireactuel]$
utilisateur : who am i
machine : ho...
Shell
‣ Interpréteurs de commandes: exécute les commandes des utilisateurs.
‣ Appelés “shells” ou interpréteurs de command...
Shell
Interpréteurs de commandes les plus connus et les plus populaires
‣ sh: Le Bourne shell : Le shell historique des sy...
Système de fichier
Tout est fichier
22
Architecture du système de
fichiers
Les fichiers
Presque tous dans Unix est un fichier!
Fichiers ordinaires :
contiennent les données
Répertoires
conteneurs de ...
Les fichiers
Les noms de fichiers ont les caractéristiques suivantes:
‣ Sensibles aux majuscules / minuscules

Pas de longue...
architecture du système de
fichier
‣ / : racine du système de fichiers à partir duquel on peut atteindre tous les fichiers
‣ ...
SGF
‣ chaque utilisateur X possède son propre repertoire
personnel /home/X
‣ Exemple, le repertoire de omar est /home/omar...
Gestion des utilisateurs
‣ ajout d’utilisateur : useradd [options] username
‣ activation du compte (definition du mot de pa...
Remarques
‣ chaque utilisateur appartient a un groupe primaire et éventuellement à
plusieurs groupes secondaires
‣ pas de ...
options par défauts
Les options par défaut : /etc/default/useradd, ou bien
sont listées par l’option -D de la commande
use...
Gestion des groupes
‣ groupadd groupname
‣ informations ajoutée à /etc/group
‣ structure
Nom du groupe:Mot de passe:GID:us...
Gestion des comptes
‣ bloquer un compte
‣ ajouter ‘!’ devant le mot de passe dans /etc/shadow
‣ passwd -l
‣ usermod -L
‣ D...
Expiration du compte
33
chage : permet de gérer les informations
d’expiration du compte
Les commandes de
bases
commandes de bases
‣ ls : permet de lister le contenu d’un repertoire
‣ options : -l (format long) , -a (all) , -s (taille...
commandes de bases
‣ Gestion des repertoires
‣ mkdir : creation d’un retire
‣ cd : « change directory » acceder à un repet...
commandes de bases
‣ Echo : permet d’afficher un message sur le terminal
(et plus précisément, sur la sortie standard)
‣ un...
variables d’environnement
38
‣ Influencent le comportement des logiciels.
‣ Exemples
‣ LANG : détermine la langue que les l...
variables d’environnement
‣ plus d’informations sur
‣ http://doc.ubuntu-fr.org/variables_d_environnement
39
Traitement et edition
de texte
Affichage de texte
41
‣ cat (less, more) : affichent (défilent) un documents textuels
‣ cat /var/log/auth.log
‣ head ( tail )...
Affichage de texte
‣ wc : statistiques sur un fichier texte (nombre de caractères, mots et
ligne)
‣ wc Fichier
‣ options -w ...
Affichage de texte
43
‣ unique: supprime les lignes identiques
‣ paste : outil puissant pour coller le contenu de plusieurs...
traitement de texte
‣ expand : converti les tabulations en espace
‣ sed : outil puissant pour éditer les flux (fichiers)
‣ n...
Gestion des fichiers
‣ Gestion des repertoire
‣ mkdir , cd et rmdir (deja vu)
‣ Gestion des fichiers
‣ cp (copie de fichiers,...
La commande grep
‣ permet de faire une recherche de caractères dans un fichier.
‣ Syntaxe:
‣ grep [ -bchilnsvw ] chaîne_de_...
Les expressions régulières
47
Archivage et compression
‣ Archivage : Rassembler plusieurs fichiers en un seul
‣ Compression : réduire la taille d’un fichi...
Archivage
‣ cpio : crée et défait des fichiers «cpio» archivés
‣ dd : permet de faire une copie par block su
système de fich...
Gestion de processus
Definitions
‣processus : instance de programme s’exécutant à un
instant donné ainsi que son contexte (ou environnement).
‣C...
Propriétés d’un processus
‣
‣numéro unique du processus ou PID (Process
Identification)
‣ numéro du processus parent ou PP...
Visualisation des processus
‣ commande PS : affiche la liste des processus en
cours d’execution
‣ TODO AJOUTER FIGURE
‣ Com...
processus en avant/arrière plan
‣ un processus peut tourner en avant plan (bloque le terminal,
comportement par défaut) ou...
Processus et terminal
‣ jobs : affiche la liste des processus liés au terminal
‣ fg: fait passer un job en avant plan
‣ bg:...
Signaux de processus
‣ il est possible d’arrêter ou d’envoyer un signal à un processus avec la
commande kill
‣ syntaxe : k...
priorité des processus
‣ Le noyau gère les processus selon une liste de priorité
‣ chaque processus a une priorité par déf...
Communication entre
processus
les Flux
‣ Question : pourquoi les processus (programmes)
affichent les messages sur l’écran et pas sur
l’imprimante (ou au...
les Flux
‣ A chaque processus Linux/Unix, trois descripteurs sont associés:
‣ l’entree standard : le clavier par défaut, d...
les Flux
‣ le caractère ‘>>’ permet d’écraser l’ancien contenu s’il n’est pas deja
‣ le caractère ‘<‘ permet de faire la r...
les tubes
62
Les tubes utilisent le caractère « | »
Syntaxe : commande | commande
Exemple : sort /etc/passwd | head -6
les tubes : exemple
63
les Flux : tee et xargs
‣ tee duplique le flux de données en sortie :
‣ copie la sortie dans un fichier (simple redirection)...
Droits d’accès
‣ Chaque fichier a:
‣ un propriétaire
‣ un groupe
‣ Les autres
‣ Chaque entité a potentiellement 3 droits (A...
Droits d’accès
‣ Sorti de la commande ls -l
drwxr-xr-x 6 adelessafi staff 204 Aug 12 13:09 dwhelper
‣ informations renvoyé...
Droits d’accès spéciaux
‣ SUID
‣ Question : comment un utilisateur peut changer son mot de passe ?
‣ Solution : lancer la ...
la commande chmod
‣sert à changer les permissions
‣2 modes d’utilisation
‣mode numérique (octal)
‣chmod DROITS fichiers
‣c...
changer le propriétaire et le groupe
‣ les commandes chown et chgrp permettent de changer
respectivement le propriétaire e...
Commandes recherche de
fichier
‣ find : permet de chercher des fichiers dans un une arborescence
‣ syntaxe
‣ find emplacement ...
Commandes recherche de
fichier
‣ Critères:
‣ -name : nom de fichiers
‣ -type: par type du fichier (f: fichier, d: répertoire ....
Gestion de packetages
72
Installation
‣ Logiciel fournis :
‣ A travers leurs codes sources
‣ A travers des paquetages
‣ .rpm : redhat like
‣ .pkg: ...
Debian like systems
La commande dpkg
‣ dpkg : outil logiciel en ligne de commande pour
l'installation, la création, la suppression et la gesti...
La commande dpkg
‣ Lister
‣ dpkg -l chaîne : cherche et affiche la liste des
paquets satisfaisant un motif de recherche.
‣ ...
La commande apt-get
‣ installation : sudo apt-get [-y] install <paquet(s)>
‣ recherche : apt-cache search <word1 word2 …>
...
La commande apt-get
‣ Mise à jour des paquets disponibles dans /etc/apt/
sources.list
‣ sudo apt-get update
‣ Mise à jours...
redhat like systems
La commande rpm
‣ RPM Package Manager (Red Hat Package Manager) est un
système de gestion de paquets de logiciels utilisé ...
La commande rpm
‣ RPM Package Manager (Red Hat Package Manager) est un
système de gestion de paquets de logiciels utilisé ...
La commande yum‣ yum utilise des dépots, regroupent un ensemble de logiciel.
‣ Chaque dépot doit être ajouté à la configura...
La commande yum‣ Yum par l’exemple
‣ installation : yum [-y] install paquetage(s)
‣ mise à jours : yum [-y] update paqueta...
Plus d’info
‣ http://doc.ubuntu-fr.org/dpkg
‣ http://doc.ubuntu-fr.org/apt-get
‣ http://doc.fedora-fr.org/wiki/
RPM_:_les_...
Démarrage du système
85
démarrage
‣Les niveau d’execution de linux
‣ Niveau 0: arrêt du système
‣ Niveau 1: mode de maintenance – Niveau S: mode
m...
démarrage : fichiers de configuration
‣la configuration du démarrage se trouve dans /etc/inittab
‣id : niveau(x)_exécution : ...
Les scripts RC
‣ permettent de démarrer/arrêter les services lors du
passage d’un niveau d’execution a un autre
‣ le reper...
Les scripts RC
89
Gestion du SF
‣ Un disque dur contient
‣ au plus, 4 partitions primaires
‣ 1 partition étendue
‣ des partitions logiques : contenues dan...
Les partitions
‣ TODO figure
92
fdisk : outil de partionnement
‣Permet la gestions du SF
‣Options de bases
‣a: (dés)active un indicateur « bootable »
‣d :...
‣ /proc: contient les informations nécessaires au
noyau. C'est une arborescence virtuelle
généralement en lecture seule sa...
Création de systèmes de
fichiers
‣ext3 : extension du format standard ext2 de Linux
‣Intègre un journal qui enregistre tout...
Vérification du SF
‣ Si l’ordinateur s’éteint d’une façon imprévue ->
risque d’endommager ou de corrompre le SF
‣ pour corr...
Monter le système de fichier
‣ utiliser un système de fichiers : monter sur un point de
montage de l'arborescence Linux
‣ c...
Automontage
‣/etc/fstab : montage automatique des systèmes de fichiers
au moment du démarrage du système.
‣//TODO SCHEMA
98
‣df renvoie le taux d'utilisation de toutes les partitions
montées du système.
‣ option -h (human readable) facilite la le...
Installation et gestion
de paquetages
References
‣ archivages et compression : http://cyberzoide.developpez.com/unix/compress.php3
‣ niveaux d’executions : http...
lpi 101 notes de cours
lpi 101 notes de cours
lpi 101 notes de cours
Prochain SlideShare
Chargement dans…5
×

lpi 101 notes de cours

2 168 vues

Publié le

note de cours LPI 101

Publié dans : Formation
0 commentaire
3 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
2 168
Sur SlideShare
0
Issues des intégrations
0
Intégrations
151
Actions
Partages
0
Téléchargements
0
Commentaires
0
J’aime
3
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

lpi 101 notes de cours

  1. 1. Introduction A LINUX Dr. Adel ESSAFI Certified LPIC-1
  2. 2. PLAN ‣ Historique et philosophie ‣ Architecture et Installation ‣ Utilisateurs, groupes et Système de fichiers ‣ Commandes de bases ‣ Service de bases de Linux 2
  3. 3. Historique et philosophie
  4. 4. ‣ 1969 : Ken Thompson et Dennis Ritchie de Bell Laboratories (AT&T) developpent Unics (UNIplexed Information and Computing Service) qui devient UNIX 1970 ‣ 1972-1973 : transformation (codage du noyau) du langage B au language C ‣ 1987: Andy Tanenbaum crée un clône d'UNIX -nommé MINIX- fonctionnant sur PC ‣ 1991 : Linus Torvalds créa LINUX, un système d’exploitation basé sur Unix, fonctionnant sur PC (80386) et ne contenant pas du code commercial 4 Historique : les dates clés
  5. 5. Caractéristiques ‣ Multiutilisateur et sécurisé: Par défaut, les utilisateurs ordinaires ne peuvent pas toucher aux fichiers d'autres utilisateurs. En particulier, ils ne peuvent ni modifier les paramètres du système, ni supprimer des programmes, etc. ‣ root: utilisateur administrateur avec tous les privilèges 5 ‣ Multitâches ‣ Supporte plusieurs processeurs ‣ Extrêmement flexible ‣ Prise en charge du réseau ‣ Portable ‣ Scalable
  6. 6. licence
  7. 7. Noyau Linux • Kernel : www.kernel.org •code source du noyau de linux • Version X.Y.Z • X : numéro majeur • Y : numero mineur • z : correctif • Avant la version 2.6 • Y pair pour les versions stables • Y impair pour les versions de développement Reference : http:// fr.wikipedia.org/wiki/ Noyau_Linux
  8. 8. Distributions linux ‣ Debutants ‣ Ubuntu, Mint …. ‣ Bureau ‣ Fedora, Ubuntu, Arch (Multimedia) ‣ Serveurs ‣ Redhat, Suse, Debian ….. 10
  9. 9. Obtenir Linux ‣ Acheter ou obtenir des CDs d’installation ‣ Télécharger depuis les depots ‣ Fichiers images et graver sur des supports ‣ Installer sur un flash disque ‣ Installer depuis le réseau 11
  10. 10. Before we start ‣ Avant d’installer linux ‣ Identifier le besoin : station de travail, serveur, …. ‣ S’assurer d’avoir le bon média d’installation ‣ Vérifier l’espace disque ‣ besoin particulier : faire fonctionner windows et linux sur la même machine 12
  11. 11. les grandes étapes d’installation ‣ selection de la langue/clavier ‣ configuration du réseau ‣ Configuration du fuseau horaire ‣ mot de passe root ‣ création des partitions disques ‣ Chargeur de démarrage ‣ Type d’installation (logiciel) ‣ Gestion des utilisateurs 13
  12. 12. Architecture de Linux
  13. 13. Architecture de linux LINUX gcc ls cat
  14. 14. Architecture de linux ‣ To be continued 17
  15. 15. Utilisateurs, groupes et Système de fichiers
  16. 16. Premier contact Prompt ou invite de commande Format : [user@machine repertoireactuel]$ utilisateur : who am i machine : hostname repertoire de travail : pwd utilisateur normal : $ super-utilisateur ( root ) : #
  17. 17. Shell ‣ Interpréteurs de commandes: exécute les commandes des utilisateurs. ‣ Appelés “shells” ou interpréteurs de commandes ‣ Les commandes sont tapées dans un terminal en mode texte, interprétées par le système puis le résultat est renvoyé à l utilisateur. ‣ Les résultats sont affichés sur le terminal. Aucun graphique n’est nécessaire. ‣ Les interpréteurs de commandes peuvent être programmables: ils fournissent toutes les ressources nécessaires pour l’écriture de programmes complexes (variables, conditions, boucles...) 20
  18. 18. Shell Interpréteurs de commandes les plus connus et les plus populaires ‣ sh: Le Bourne shell : Le shell historique des systèmes Unix, par Steve Bourne. ‣ csh: Le C shell : Shell avec une syntaxe à la C. ‣ ksh : le korn shell , développé par David Korn au début des années 1980 ‣ bash: Le Bourne Again shell (le plus populaire)
 Une version améliorée de sh avec de nombreuses fonctions nouvelles 21
  19. 19. Système de fichier Tout est fichier 22
  20. 20. Architecture du système de fichiers
  21. 21. Les fichiers Presque tous dans Unix est un fichier! Fichiers ordinaires : contiennent les données Répertoires conteneurs de fichiers (organisation) Liens symboliques Fichiers faisant référence au nom d'un autre fichier (lien) Périphériques et dispositifs La lecture et l'écriture à partir d'un dispositif se fait comme un fichier Pipes Utiliser pour mettre en cascade plusieurs programmes
 sockets Communication inter processus 24
  22. 22. Les fichiers Les noms de fichiers ont les caractéristiques suivantes: ‣ Sensibles aux majuscules / minuscules
 Pas de longueur limite évidente ‣ Peuvent contenir tous caractères (incluant l'espace, à l'exception de /). ‣ Les extensions d'un nom de fichier n'ont pas besoin et ne sont pas interprétés. Ils sont justes utilisés pour les utilisateurs . ‣ Exemples de noms de fichiers: README .bashrc student list index.htmt index.html.old 25
  23. 23. architecture du système de fichier ‣ / : racine du système de fichiers à partir duquel on peut atteindre tous les fichiers ‣ /etc : fichiers de configurations ‣ /bin : binaire de bases ‣ /sbin : binaire de démarrage du système ‣ /boot : configuration de démarrage ‣ /lib: bibliothèque du système ‣ /home : repertoires personnels des utilisateurs ‣ /usr: logiciels installés ‣ /var:administration... Souvent les traces et suivi d'événements.. ‣ /mnt : montage de SF locaux et distants 26
  24. 24. SGF ‣ chaque utilisateur X possède son propre repertoire personnel /home/X ‣ Exemple, le repertoire de omar est /home/omar ‣ par défaut, SEUL cet utilisateur possède le droit de lire et d’écrire dans ce repertoire 27
  25. 25. Gestion des utilisateurs ‣ ajout d’utilisateur : useradd [options] username ‣ activation du compte (definition du mot de passe) ‣ passwd username ‣ information stockée dans /etc/passwd ‣ structure en 7 champs Nom du compte:vide:UID:GID:Commentaire:Répertoire de connexion:shell ‣ options utiles ‣ -c : commentaire , -s shell , -g group ‣ mot de passe enregistré dans /etc/shadow 28
  26. 26. Remarques ‣ chaque utilisateur appartient a un groupe primaire et éventuellement à plusieurs groupes secondaires ‣ pas de hiérarchie entre les groupes ‣ il existe par défaut un utilisateur root (uid=0), et un groupe root (gid=0) et des utilisateurs systèmes (services) ‣ commandes de gestions d’utilisateurs : usermod, userdel ‣ commandes de gestion de groupes : groupmod, groupdel ‣ dans les systèmes redhat et fedora, les uid et gid commencent à partir de 500 ‣ comportement défini dans : /etc/login.defs. 29
  27. 27. options par défauts Les options par défaut : /etc/default/useradd, ou bien sont listées par l’option -D de la commande useradd. # useradd defaults file GROUP=100
 HOME=/home
 INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel 30
  28. 28. Gestion des groupes ‣ groupadd groupname ‣ informations ajoutée à /etc/group ‣ structure Nom du groupe:Mot de passe:GID:userlist ‣ Commandes de gestions de groupes ‣ id : affiche l’identité ‣ groups : affiche la liste de groupes ‣ newgrp : changer temporairement le groupe primaire ‣ gpasswd : gestion des groupes ‣ options : -a ajouter un utilisateurs, -d supprimer un utilisateurs , -A assigner un admistrateurs

  29. 29. Gestion des comptes ‣ bloquer un compte ‣ ajouter ‘!’ devant le mot de passe dans /etc/shadow ‣ passwd -l ‣ usermod -L ‣ Débloquer un compte ‣ passwd -u ‣ usermod -U ‣ Destruction du mot de passe ‣ passwd -d 32
  30. 30. Expiration du compte 33 chage : permet de gérer les informations d’expiration du compte
  31. 31. Les commandes de bases
  32. 32. commandes de bases ‣ ls : permet de lister le contenu d’un repertoire ‣ options : -l (format long) , -a (all) , -s (taille), -t (time) et -r (reverse) …… ‣ exemple : ls -rtl ‣ remarque : dans chaque repertoire, nous avons deux repertoires spéciaux ‣ ‘.’ : repertoire courant ‣ ‘..’ : repertoire parent ‣ ‘~’ : repertoire personnel ‣ Nom des fichiers : ‣ ? : remplace un seul caractère ‣ * : remplace tous les caractères 35
  33. 33. commandes de bases ‣ Gestion des repertoires ‣ mkdir : creation d’un retire ‣ cd : « change directory » acceder à un repetoire ‣ rmdir : efface un repertoire ‣ -r : recursif , -f : force ‣ Afficher le repertoire courant avec pwd 36
  34. 34. commandes de bases ‣ Echo : permet d’afficher un message sur le terminal (et plus précisément, sur la sortie standard) ‣ uname : affiche les informations systèmes sur la machine sur laquelle elle est exécutée (option -a) ‣ man : affiche le manuel de linux ‣ history : affiche l’historique des commandes linux tapées. 37
  35. 35. variables d’environnement 38 ‣ Influencent le comportement des logiciels. ‣ Exemples ‣ LANG : détermine la langue que les logiciels utilisent pour communiquer avec l’utilisateur. ‣ PS1 : personnalise le prompt ‣ Sensible à la casse ‣ Affichage des variable d’environnements ‣ echo $nom_variable (echo $PATH) ‣ env : liste les variables d’environnement ‣ Attribution d’une valeur à une variable : variable=valeur ‣ Exemple :LANG=fr_FR.UTF-8 ‣ Rendre une variable publique ‣ export $nom_variable ‣ Détruire une variable ‣ export $nom_variable= ou export - n $nom_variable ou unset $nom_variable
  36. 36. variables d’environnement ‣ plus d’informations sur ‣ http://doc.ubuntu-fr.org/variables_d_environnement 39
  37. 37. Traitement et edition de texte
  38. 38. Affichage de texte 41 ‣ cat (less, more) : affichent (défilent) un documents textuels ‣ cat /var/log/auth.log ‣ head ( tail ) : affiche le debut (la fin) d’un fichier textuel ‣ head -N Fichier # N entier ‣ fmt : permet de formater un texte ‣ fmt -w 35 fichier # Affiche avec une largeur de 35 caractères.
  39. 39. Affichage de texte ‣ wc : statistiques sur un fichier texte (nombre de caractères, mots et ligne) ‣ wc Fichier ‣ options -w , -l ,-c ‣ sort : tri un fichier texte ‣ -k : colonne ‣ -r : ordre inverse ‣ cut : affiche des zones spécifiques d'un fichier ‣ -d : séparateur , -c : caractère , -f : colonne 42
  40. 40. Affichage de texte 43 ‣ unique: supprime les lignes identiques ‣ paste : outil puissant pour coller le contenu de plusieurs fichiers ‣ -d : délimiteur ‣ -s : serial ‣ exemples: http://www.theunixschool.com/2012/07/10- examples-of-paste-command-usage-in.html
  41. 41. traitement de texte ‣ expand : converti les tabulations en espace ‣ sed : outil puissant pour éditer les flux (fichiers) ‣ nl : affiche le fichier en ajoutant le numero de chaque ligne ‣ Split : Découpe un fichier en plusieurs parties ‣ join : effectue des jointures des lignes de deux fichiers différents dans un même champ 44
  42. 42. Gestion des fichiers ‣ Gestion des repertoire ‣ mkdir , cd et rmdir (deja vu) ‣ Gestion des fichiers ‣ cp (copie de fichiers, voir les options -r, -a ….) ‣ syntaxe : cp fichiersSources emplacementDeDestination ‣ mv (déplace, renomme des fichiers) ‣ Syntaxe : mv ancienNom nouveauNom ‣ touch : change les informations de date et d'heure d'un fichier. Crée un fichier vide lorsque le fichier passé en argument n’existe pas. ‣ file : renvoie le type du fichier 45
  43. 43. La commande grep ‣ permet de faire une recherche de caractères dans un fichier. ‣ Syntaxe: ‣ grep [ -bchilnsvw ] chaîne_de_caractères nom(s)_de_fichier(s) ‣ Les expressions régulières ‣ suites de caractères permettant de faire des sélections ‣ ^ début de ligne , . un caractère quelconque ‣ $ fin de ligne , x* zéro ou plus d'occurrences du caractère x ‣ x+ une ou plus occurrences du caractère x , x? une occurrence unique du caractère x ‣ [...] plage de caractères permis , [^...] plage de caractères interdits ‣ {n} pour définir le nombre de répétition n du caractère placé devant ‣ Exemple : ‣ l'expression [a-z][a-z] * cherche les lignes contenant au minimum un caractère en minuscule. ‣ [a-z] caractère permis, [a-z]* recherche d'occurrence des lettres permises. ‣ L'expression ^[0-9] {4}$ a pour signification, du début à la fin du fichier $, recherche les nombres[0-9] de 4 chiffres {4}. 46
  44. 44. Les expressions régulières 47
  45. 45. Archivage et compression ‣ Archivage : Rassembler plusieurs fichiers en un seul ‣ Compression : réduire la taille d’un fichier ‣ avec perte de données : fichiers multimédia ‣ sans perte de données : fichiers de données ‣ Outils d’archivage : tar ‣ Syntaxe : tar cvf fichier.tar motif (archivage) ‣ Syntaxe : tar xvf fichier.tar (extraction) ‣ Outil de compression (libres) : gzip et bzip2 ‣ syntaxe ‣ gzip fichier (compression), gzip -d fichier.gz ‣ bzip2 source (compression) et bunzip2 file.bz2 48
  46. 46. Archivage ‣ cpio : crée et défait des fichiers «cpio» archivés ‣ dd : permet de faire une copie par block su système de fichier. 49
  47. 47. Gestion de processus
  48. 48. Definitions ‣processus : instance de programme s’exécutant à un instant donné ainsi que son contexte (ou environnement). ‣Contexte : l’ensemble des ressources utilisées par le programme (la mémoire, les fichiers ouverts, les droits associés, la priorité…) ‣identifiés par un numéro unique : le PID. ‣Caractérisés par un propriétaire. ‣En général, seul ce propriétaire pourra entreprendre des actions sur le processus. ‣Créés par « clonage » ce qui permet la recopie d’une partie des informations citées ci-dessus. ‣Le premier processus créé est le processus init qui est l’ancêtre de tous les autres. 51
  49. 49. Propriétés d’un processus ‣ ‣numéro unique du processus ou PID (Process Identification) ‣ numéro du processus parent ou PPID (Parent Process Identification) ; ‣numéro de l’utilisateur, ou UID (User Identification), ayant lancé le processus ‣numéro du groupe, ou GID (Group Identification), ayant lancé le processus ; ‣durée de traitement (temps CPU) et priorité du processus ; ‣référence au répertoire de travail courant du processus ; ‣table de référence des fichiers ouverts par le processus. 52
  50. 50. Visualisation des processus ‣ commande PS : affiche la liste des processus en cours d’execution ‣ TODO AJOUTER FIGURE ‣ Commande pstree : affiche l’arborescence des processus ‣ top : commande interactive pour administer les processus 53
  51. 51. processus en avant/arrière plan ‣ un processus peut tourner en avant plan (bloque le terminal, comportement par défaut) ou en arrière plan ‣ pour lancer un processus un arrière plan, on tape la commende suivi du caractère ‘&’ ‣ $programme & ‣ exemple: 54 numéro de job
  52. 52. Processus et terminal ‣ jobs : affiche la liste des processus liés au terminal ‣ fg: fait passer un job en avant plan ‣ bg: fais passer un job en arrière plan ‣ nohup : permet de lancer un processus qui reste actif aussi longtemps que nécessaire (ignore le signale SIGHUP) 55
  53. 53. Signaux de processus ‣ il est possible d’arrêter ou d’envoyer un signal à un processus avec la commande kill ‣ syntaxe : kill numero_du_signal PID ‣ signaux à retenir : ‣ 1 SIGHUP ‣ 2 SIGINT (ctrl + C) ‣ 9 SIGKILL ‣ 15 SIGTERM ‣ killall : permet d’envoyer un un signal au nom d’un processus donnée ‣ syntaxe : killall numero_du_signal nom_du_processus 56
  54. 54. priorité des processus ‣ Le noyau gère les processus selon une liste de priorité ‣ chaque processus a une priorité par défaut ‣ nice: permet de lancer un processus avec un priorité différente ‣ syntaxe : nice -n p monProgramme ‣ p est compris entre -19 (plus haute) et 20 (plus basse) ‣ renice: redéfinie la priorité d’un processus ‣ Syntaxe : renice [-n] nouvelle_valeur_nice [[-p] pid ] [-g] prgg ] [-u] utilisateur] 57
  55. 55. Communication entre processus
  56. 56. les Flux ‣ Question : pourquoi les processus (programmes) affichent les messages sur l’écran et pas sur l’imprimante (ou autre périphérique de sorti)? 59
  57. 57. les Flux ‣ A chaque processus Linux/Unix, trois descripteurs sont associés: ‣ l’entree standard : le clavier par défaut, descripteur 0 ‣ la sortie standard : le descripteur 1, l’écran ‣ la sortie standard des erreurs : descripteur 2 , l’écran ‣ Redirection ‣ le sortie standard est redirigée grace au caractère ‘>’ maitre@maestro maitre$echo 'message test' > /home/maitre/ fichier maitre@maestro maitre$cat /home/maitre/fichier message test maitre@maestro maitre$ 60
  58. 58. les Flux ‣ le caractère ‘>>’ permet d’écraser l’ancien contenu s’il n’est pas deja ‣ le caractère ‘<‘ permet de faire la redirection inverse, c.a.d, la redirection depuis l’entree standard ‣ Les caractères « << » permettent de lire le fichier en entrée jusqu’à ce que la commande rencontre une certaine chaîne de caractères. ‣ Autres redirections : ‣ « 2> » : rediriger la sortie d’erreur ‣ « >& » : rediriger la sortie d’erreur vers la sortie standard ‣ Exemple : copier les 10 dernières lignes du fichier /etc/passwd dans le fichier fichier_sortie et y redirige également les éventuels messages d’erreur ‣ tail /etc/passwd > fichier_sortie 2>&1 ‣ tail /etc/passwd >& fichier_sortie 61
  59. 59. les tubes 62 Les tubes utilisent le caractère « | » Syntaxe : commande | commande Exemple : sort /etc/passwd | head -6
  60. 60. les tubes : exemple 63
  61. 61. les Flux : tee et xargs ‣ tee duplique le flux de données en sortie : ‣ copie la sortie dans un fichier (simple redirection) ‣ en même temps, affiche le résultat sur la sortie standard ‣ Exemple : cat /etc/passwd | tee myUsers | wc -l ‣ xargs : permet de transmettre la sortie standard d’une commande comme argument d’une autre commande ‣ Exemple : cat le_fichier | xargs ls 64
  62. 62. Droits d’accès ‣ Chaque fichier a: ‣ un propriétaire ‣ un groupe ‣ Les autres ‣ Chaque entité a potentiellement 3 droits (Avec la notation octale) ‣ r : read (4), ‣ w: write (2) ‣ x: execute (1) ‣ - : pas de droits: ‣ Exemple de droits ‣ rwxr-xr- - —-> 764 (notation en octale) 65
  63. 63. Droits d’accès ‣ Sorti de la commande ls -l drwxr-xr-x 6 adelessafi staff 204 Aug 12 13:09 dwhelper ‣ informations renvoyés ‣ type du fichier (d,-,……) ‣ droits d’accès ‣ nombre de liens durs ‣ propriétaire ‣ groupe ‣ taille ‣ date ‣ nom ‣ umask : ‣ Permet de définir les droits par défaut lors d’un fichier ‣ Exemples ‣ pour créer des fichiers en modes rw-r—r— , on tape umask 022 ‣ pour créer des fichiers en mode ————-, on tape umask 666 ‣ règle : mask = 666 - droitsAEnlever 66
  64. 64. Droits d’accès spéciaux ‣ SUID ‣ Question : comment un utilisateur peut changer son mot de passe ? ‣ Solution : lancer la command /usr/bin/passwd en tant que root ==> positionner le SUID à 1. ‣ SGID ‣ idem au SUID mais pour le groupe ‣ Sticky bit ‣ positionné sur un répertoire ‣ seul le propriétaire d'un fichier contenu dans ce répertoire pourra le renommer ou le supprimer ‣ tous les utilisateurs pourront y avoir accès ‣ Exemple : le repertoire /tmp 67
  65. 65. la commande chmod ‣sert à changer les permissions ‣2 modes d’utilisation ‣mode numérique (octal) ‣chmod DROITS fichiers ‣chmod 744 monfichier ‣mode textuel ‣chmod [ugoa][+-][rwx] fichier ‣chmod a+r monfichier 68
  66. 66. changer le propriétaire et le groupe ‣ les commandes chown et chgrp permettent de changer respectivement le propriétaire et le groupe du fichier. ‣utilisation ‣chown nouveau_propritaire monFichier ‣chgrp nouveau_group monFichier 69
  67. 67. Commandes recherche de fichier ‣ find : permet de chercher des fichiers dans un une arborescence ‣ syntaxe ‣ find emplacement critères ‣ find emplacement critères -exec action 70
  68. 68. Commandes recherche de fichier ‣ Critères: ‣ -name : nom de fichiers ‣ -type: par type du fichier (f: fichier, d: répertoire ...) ‣ -user: utilisateur auquel appartiennent les fichiers recherchés ‣ -atime: par date de dernier accès aux fichiers ‣ -mtime: par date de dernière modification du contenu des fichiers ‣  -ctime: par date de dernier changement des fichiers ‣ ………………………………………………………. ‣ Voir aussi : locate, slocate, whereis, which, whatis, makewhatis, apropos, updatedb , /etc/updatedb.conf 71
  69. 69. Gestion de packetages 72
  70. 70. Installation ‣ Logiciel fournis : ‣ A travers leurs codes sources ‣ A travers des paquetages ‣ .rpm : redhat like ‣ .pkg: Debian like 73
  71. 71. Debian like systems
  72. 72. La commande dpkg ‣ dpkg : outil logiciel en ligne de commande pour l'installation, la création, la suppression et la gestion des paquets Debian (.deb) ‣ installation : sudo dpkg -i paquet.deb ‣ Suppression : ‣ sudo dpkg -r nom_du_paquet (suppression) ‣ sudo dpkg -P nom_du_paquet (purge) ‣ sudo dpkg --force-all --purge nom_du_paquet (forcer) 75
  73. 73. La commande dpkg ‣ Lister ‣ dpkg -l chaîne : cherche et affiche la liste des paquets satisfaisant un motif de recherche. ‣ dpkg -S fichier : affiche tous les paquets contenant le fichier indiqué en paramètre 76
  74. 74. La commande apt-get ‣ installation : sudo apt-get [-y] install <paquet(s)> ‣ recherche : apt-cache search <word1 word2 …> ‣ suppression : ‣ sudo apt-get remove <paquets(s)> ‣ sudo apt-get purge <paquets(s)> 77
  75. 75. La commande apt-get ‣ Mise à jour des paquets disponibles dans /etc/apt/ sources.list ‣ sudo apt-get update ‣ Mise à jours des paquets ‣ sudo apt-get upgrade 78
  76. 76. redhat like systems
  77. 77. La commande rpm ‣ RPM Package Manager (Red Hat Package Manager) est un système de gestion de paquets de logiciels utilisé sur certaines distributions GNU/Linux. ‣ installation :rpm -ivh nom_paquet_xxx.rpm ‣ Mise à jour : rpm -Uvh nom_paquet_xxx.rpm ‣ interrogation (requette) : ‣ rpm -qpil nom_paquet_xxx.rpm ‣ rpm -qil nom_paquet ‣ rpm -qf /chemin_du_fichier ‣ rpm -qa : lister tous les paquetages 80
  78. 78. La commande rpm ‣ RPM Package Manager (Red Hat Package Manager) est un système de gestion de paquets de logiciels utilisé sur certaines distributions GNU/Linux. ‣ installation :rpm -ivh nom_paquet_xxx.rpm ‣ Mise à jour : rpm -Uvh nom_paquet_xxx.rpm ‣ interrogation (requette) : ‣ rpm -qpil nom_paquet_xxx.rpm ‣ rpm -qil nom_paquet ‣ rpm -qf /chemin_du_fichier ‣ rpm -qa : lister tous les paquetages installés 81
  79. 79. La commande yum‣ yum utilise des dépots, regroupent un ensemble de logiciel. ‣ Chaque dépot doit être ajouté à la configuration de Yum pour être utilisé. ‣ emplacement des fichiers de configuration des dépôts : /etc/ yum.repos.d et dont les noms ont forme nomdepot.repo ‣ Depots de bases ‣ Depot fedora : les RPM fournis avec la distribution ‣ Dépôt updates-released : les mises à jour officielles ‣ Dépôt RPM Fusion : indispensable pour les pilotes matériels et le multimédia 82
  80. 80. La commande yum‣ Yum par l’exemple ‣ installation : yum [-y] install paquetage(s) ‣ mise à jours : yum [-y] update paquetage(s) ‣ suppression : yum [-y] remove paquetage(s) ‣ mise à jour de tout les paquetages : yum update ‣ Lister : yum list « critere » ‣ Gestion des groupes ‣ yum grouplist ‣ yum groupinstall "Nom du Groupe » ‣ yum groupremove "Nom du Groupe" 83
  81. 81. Plus d’info ‣ http://doc.ubuntu-fr.org/dpkg ‣ http://doc.ubuntu-fr.org/apt-get ‣ http://doc.fedora-fr.org/wiki/ RPM_:_les_bases_de_la_commande ‣ http://doc.fedora-fr.org/wiki/ YUM_:_Configuration_du_gestionnaire_de_paquets 84
  82. 82. Démarrage du système 85
  83. 83. démarrage ‣Les niveau d’execution de linux ‣ Niveau 0: arrêt du système ‣ Niveau 1: mode de maintenance – Niveau S: mode maintenance de root ‣ Niveau 2 à 5: mode multi-utilisateur ‣ Niveau 6: redémarrage du système ‣pour passer d’un niveau d’execution à un autre, on utilise la commende init (ou telinit) ‣exemple : #init 2 permet de passer au niveau d’execution Numero 2 86
  84. 84. démarrage : fichiers de configuration ‣la configuration du démarrage se trouve dans /etc/inittab ‣id : niveau(x)_exécution : action : processus ‣ou id est l’identifiant de la ligne ‣niveaux : les niveaux concernés ‣action : action a entreprendre ‣commande: commande à executer ‣Actions : ‣initdefault: le niveau de démarrage par défaut ; ‣sysinit: commande à exécuter à l’initialisation du système ; ‣wait: exécuter la commande spécifiée et attendre qu’elle se termine pour continuer ; ‣ respawn: exécuter la commande au début et la re-exécuter dès qu’elle se termine. ‣relire le fichier de configuration ‣ . #init q 87
  85. 85. Les scripts RC ‣ permettent de démarrer/arrêter les services lors du passage d’un niveau d’execution a un autre ‣ le repertoire /etc/rc.d contient des sous repertoires rc[0-6] ‣ ces repertoires contiennent des liens symboliques vers les fichiers du repertoire /etc/rc.d/init.d ‣ les fichiers commencent par K (kill) ou S (start) suivis de deux chiffres puis le nom du service ‣ indique l’ordre du démarrage ou d’arrêt du service ‣ arguments des scripts : start, stop, reload, restart, status 88
  86. 86. Les scripts RC 89
  87. 87. Gestion du SF
  88. 88. ‣ Un disque dur contient ‣ au plus, 4 partitions primaires ‣ 1 partition étendue ‣ des partitions logiques : contenues dans des partitions étendues ‣ Nommage des partitions Gestion du SF
  89. 89. Les partitions ‣ TODO figure 92
  90. 90. fdisk : outil de partionnement ‣Permet la gestions du SF ‣Options de bases ‣a: (dés)active un indicateur « bootable » ‣d : supprime une partition ‣l: répertorie les types de partition connus ‣m: affiche la liste des commandes ‣n : ajoute une nouvelle partition ‣p: affiche la table de partition ‣q: quitte le programme sans enregistrer les modifications ‣u: change l'unité d'affichage/saisie ‣v: vérifie la table de partition ‣w: écrit la table sur le disque et quitte le programme ‣x : fonctions supplémentaires 93
  91. 91. ‣ /proc: contient les informations nécessaires au noyau. C'est une arborescence virtuelle généralement en lecture seule sauf proc/sys ‣ /lib et /usr/lib : contiennent les librairies nécessaires Autres repertoires du SF
  92. 92. Création de systèmes de fichiers ‣ext3 : extension du format standard ext2 de Linux ‣Intègre un journal qui enregistre toutes les opérations effectuées sur le disque ‣récupération plus rapide et sûre du système en cas d'arrêt brutal de la machine ‣Creation (en general) : mkfs -t type de fichier partition Système de fichiers || Commande de création ext2 || mke2fs ou mkfs.ext2 ext3 || mke2fs -j ou mkfs.ext3 reiserfs || Mkreiserfs Xfs || mkfs.xfs vfat || mkfs.vfat 95
  93. 93. Vérification du SF ‣ Si l’ordinateur s’éteint d’une façon imprévue -> risque d’endommager ou de corrompre le SF ‣ pour corriger le SF, on utilise les outils: ‣ fsck : fsck -t type-de-fichier partition ‣ debugfs : outil plus puissant pour corriger le SF 96
  94. 94. Monter le système de fichier ‣ utiliser un système de fichiers : monter sur un point de montage de l'arborescence Linux ‣ contenu accessible comme un simple répertoire ‣ la commande mount prends deux arguments ‣ le fichier spécial correspondant à la partition contenant le système de fichiers ‣ le second est le répertoire sous lequel il sera monté (point de montage). ‣ La commande umount permet le démontage du système de fichiers.
 97
  95. 95. Automontage ‣/etc/fstab : montage automatique des systèmes de fichiers au moment du démarrage du système. ‣//TODO SCHEMA 98
  96. 96. ‣df renvoie le taux d'utilisation de toutes les partitions montées du système. ‣ option -h (human readable) facilite la lecture en utilisant des unités de taille plus commodes (Mo, Go, To ...). ‣du (disk usage) : renvoie l'espace occupé par une arborescence. ‣option -s : afficher le total pour chaque élément ‣l'option -k : afficher en kilo-octets ‣Exemple : du -ks /usr/local Controle du SF
  97. 97. Installation et gestion de paquetages
  98. 98. References ‣ archivages et compression : http://cyberzoide.developpez.com/unix/compress.php3 ‣ niveaux d’executions : http://www.linuxcore.fr/2011/11/le-processus-init/ ‣ Les commandes grep et find : http://www.funix.org/fr/unix/grep-find.htm 101

×