0% ont trouvé ce document utile (0 vote)
1K vues102 pages

Introduction à GNU/Linux

Transféré par

Jalel Hajlaoui
Copyright
© Attribution Non-Commercial (BY-NC)
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
1K vues102 pages

Introduction à GNU/Linux

Transféré par

Jalel Hajlaoui
Copyright
© Attribution Non-Commercial (BY-NC)
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPT, PDF, TXT ou lisez en ligne sur Scribd

Le Système GNU/Linux

Basé sur le cours de

Fabrice BERNARDI
Université de corse
FRANCE
Plan
 1 -
Historique du Système GNU/Linux
 2 -
Caractéristiques Générales
 3 -
Principes et Commandes de Base
 4 -
Périphériques de Stockage et Systèmes
de Fichiers
 5 - Amorçage et Arrêt du Système
 6 - Processus
 7 - Utilisation du Shell bash
 8 - Commandes Avancées
 9 - Commandes Réseau
 10- Le Serveur http Apache
2
1 - Historique du Système
GNU/Linux
Historique du Système GNU/Linux

 Initiateur du projet: Linus Torvalds


 But initial: créer un Unix pour les processeurs
i386
 1991: version 0.02
 Moyen de diffusion des connaissances: Usenet
(news)
 Système de numérotation: X.Y.Z avec:
 X: numéro de version majeur
 Y: numéro mineur: pair  stable,
impair  instable
 Z:numéro de révision
4
Historique du Système GNU/Linux
 Association avec le projet GNU: Le
Système GNU (GNU is Not Unix/Linux
(compilateur gcc)
 Certification POSIX (société Lasermoon)
 Actuellement plus de 20 millions
d’utilisateurs dans le monde
 Plusieurs sociétés cotées en bourse:
Red Hat, Mandrake Soft, VA Linux,…

5
2 - Caractéristiques Générales
Caractéristiques Générales
 Code source disponible (licence GPL)
 Distributions multiples
 Système multitâche et multi-utilisateur
 Multi-plateforme (intel x86, Sun Sparc, etc…)
 Gestion du multiprocesseur (option SMP)
 Compatible POSIX (standard logiciel)
 Compatibilité de code avec les autres UNIX
 Gestion des consoles virtuelles
 Possibilité de cohabitation avec d’autres
systèmes
 Support d’un grand nombre de systèmes de
fichiers 7
Caractéristiques Générales
 Implémentation complète de la pile TCP/IP
 Services réseau: SLIP, PPP, NFS, etc…
 Interface graphique: X-Window
 Le Noyau Linux (kernel):
 Cœur du système
 Ensemble de routines appelées par des appels
systèmes
 Interface entre les programmes utilisateurs et le
matériel
 Gestion des processus
 Gestion de la mémoire virtuelle
 Gestion des bibliothèques partagées
 Protection entre les processus
8
Caractéristiques Générales
 Applications Disponibles:
 Bureautique:
• StarOffice 5.2 (6 prévue prochainement)
• Koffice (Kword, Kspreadsheet, Kpresenter)
• AbiWord (traitement de texte)
• Gnumeric (tableur)
 Graphisme:
• The Gimp (retouche d’image)
• Corel PhotoPaint (retouche d’image)
• Sketch (Dessin vectoriel)
 Internet:
• Netscape Communicator (4.78 et 6.01)
• Konqueror
• Opera 5
• Instant Messaging: ICQ, AIM, etc…
• Pan (Lecteur de News)
 Serveurs
• HTTP, FTP, mail, news, DNS, etc…

9
Caractéristiques Générales
 Sites d’aide sur le Web
• [Link] (Nouvelles en français)
• [Link] (Logiciels Open Source)
• [Link] (Nouvelles en anglais)
• [Link] (Distribution)
• [Link] (Site d’aide en français)
• [Link] (Site central en anglais)
• [Link] (Site central en français)
• [Link] (Linux Documentation Project)

10
3 - Principes et Commandes de
Base
Principes et Commandes de Base
 Architecture Globale: 3 couches
 Couche « physique »: périphériques +
BIOS
 Couche « système »: kernel et processus

 Couche « interface »: shell + X-Window

 Communications entre couches très


réglementées par le kernel

12
Principes et Commandes de Base
 Architecture d’un système GNU/Linux:

Système X-Window Interface


Carte graphique (Xfree 4.X)

Utilisateur
shell

Système
kernel

BIOS Machine

Périphériques Physiques
13
Principes et Commandes de Base
 Le Shell: interpréteur de commande
 Lit et exécute les commandes de
l’utilisateur
 Propose un contrôle des processus

 Gère les redirections en entrée et en sortie

 Propose un véritable langage de

programmation
 Plusieurs types de shell disponibles:

• Le plus utilisé: bash


• Autres: csh, ksh, etc…

14
Principes et Commandes de Base
 Le Shell: interpréteur de commande

15
Principes et Commandes de Base
 Le Système X-Window:
 Interface graphique standard des systèmes
UNIX
 Repose sur un « serveur X »

 Utilise un gestionnaire de fenêtres:


plusieurs sont disponibles (KDE2,
WindowMaker, Enlightenment, etc…)
 Sous Linux: XFree86 (version 4.1.0
actuellement)
 Possibilité de déporter l’affichage à travers
un réseau
16
Principes et Commandes de Base
 Le Système X-Window: Bureau KDE2

17
Principes et Commandes de Base
 Le Système X-Window: Bureau Gnome

18
Principes et Commandes de Base
 Le Système X-Window: WindowMaker

19
Principes et Commandes de Base
 Arborescence du Système
 Structure en arborescence
 Racine: « / »
 Chacun des répertoires a un nom standardisé et
un contenu précis
/ Racine du système, contient les répertoires principaux
/bin Commandes essentielles communes à tous les utilisateurs
/boot Fichiers de démarrage du système, contient le noyau
/dev Points d’entrée des périphériques
/etc Fichiers de configuration
/home Contient les répertoires personnels des différents utilisateurs
/root Répertoire personnel de l’administrateur
/usr Hiérarchie secondaire, applications, bibliothèques partagées
/var Fichiers trace du système (Logs)
/proc Système de fichier virtuel, informations en temps réel
20
Principes et Commandes de Base
 Commandes:
 En très grand nombre
 Principe UNIX: une commande n’exécute qu’une
seule fonction, mais le fait de manière exhaustive
 Exécutées à l’invite du shell (ou d’un terminal
dans le cas de X-Window)
 De la forme:
nom_commande [-options] <cible1> <cible2>…

21
Principes et Commandes de Base
 Commandes de Base:
 « ls »: lister le contenu d’un répertoire
 « rm »: supprimer un fichier
 « cp »: copier un fichier
 « ln »: créer un lien sur un fichier
 « man »: afficher l’aide d’une commande
 « mv »: déplacer un fichier
 « cd »: changer de répertoire
 « mkdir »: créer un répertoire
 « rmdir »: supprimer un répertoire
 « pwd »: afficher le répertoire courant
 « cat »: afficher le contenu d’un fichier
 « file »: afficher le type de contenu du fichier
 « locate »: localiser un fichier sur le disque
22
Principes et Commandes de Base
 Gestion des Utilisateurs
 Un utilisateur du système:
• Personne physique
• Droits d’accès au système
• Répertoire personnel
• Groupe d’utilisateur
 Un utilisateur particulier: « root »
• Administrateur du système
• Possède tous les droits sur le système, les utilisateurs
et les fichiers
• A n’utiliser que pour la configuration et l’installation

23
Principes et Commandes de Base
 Gestion des Utilisateurs
 Identification d’un utilisateur:
• Nom: « login »
• Mot de passe: « password »
 Référencement de tous les utilisateurs
dans le fichier « /etc/passwd » et/ou
« /etc/shadow »
 Référence à un groupe: « /etc/group »

 Répertoire personnel: « /home/<login> »

24
Principes et Commandes de Base
 Gestion des Utilisateurs
 Commandes utilisables par root:
• « adduser »: ajouter un utilisateur
• « deluser »: supprimer un utilisateur
• « usermode »: changer les propriétés d’un
compte
 Commande utilisable par tous les
utilisateurs
• « passwd »: changer le mot de passe

25
Principes et Commandes de Base
 Gestion des Utilisateurs
 Le fichier « /etc/passwd »
• Contient toutes les informations sur les
comptes utilisateurs du système
• Seul root a le droit en écriture dessus
• Chaque utilisateur est référencé par une ligne
donnant:
• Son login
• Son mot de passe (crypté)
• Son numéro d’identification sur le système
• Son numéro de groupe
• Un Commentaire (Nom complet en général)
• Son répertoire personnel de base
• Son shell par défaut
Ex: bernardi:ZyX[Link]rnardi Fabrice:/home/bernardi:/bin/bash 26
Principes et Commandes de Base
 Gestion des Utilisateurs

27
Principes et Commandes de Base
 Droits d’Accès sur les Fichiers
 3 types de permissions:
• Lecture (Read)
• Écriture (Write)
• Exécution (eXecute)
 À la création: droits par défaut
 Trois catégories d’utilisateur pour un fichier:
• Le propriétaire (User)
• Les membres du groupe (Group)
• Les autres (Other)
 Chaque fichier est associé à un propriétaire et à
un groupe
 Commande pour afficher les droits: « ls –l »
28
Principes et Commandes de Base
 Droits d’Accès sur les Fichiers
 En résumé: trois permissions et trois niveaux
 Sortie d’une commande « ls –l »:

Droits du propriétaire
Date de dernier changement
Droits des autres

- rwx r-x r-x 2 bernardi users 16384 Nov 15 09:21 [Link]

Propriétaire Nom du fichier


Droits du groupe
Groupe du propriétaire

29
Principes et Commandes de Base
 Droits d’Accès sur les Fichiers

30
Principes et Commandes de Base
 Droits d’Accès sur les Fichiers
 Commandes pour la gestion des accès:
• « chown »: change le propriétaire
• « chgrp »: change le groupe
• « chmod »: change les droits d’accès:
• « chmod +r [Link] »: positionne l’accès en lecture
• « chmod –r [Link] »: enlève l’accès en lecture
• « chmod o-x fichier »: enlève l’accès en exécution
pour les autres
• « chmod go-x fichier »: enlève l’accès en exécution
pour les membres du groupe et les autres
• Mode absolu: convertir les permissions en bits
Ex: « chmod 444 fichier »  Droits r-- r-- r--
31
4 - Périphériques de Stockage
et Systèmes de Fichiers
Périphériques de Stockage et
Systèmes de Fichiers
 Les Partitions
 A l’installation, un disque dur n’est ni
partitionné ni formaté
 Partitionner: définir des espaces réservés
sur le disque
 Formater: préparer la partition à recevoir
des informations
 Une partition est définie par:
• Son type
• Son emplacement de début de partition
• Sa taille (ou son emplacement de fin de partition

33
Périphériques de Stockage et
Systèmes de Fichiers
 Les Partitions
 Un partitionnement est réversible (non
physique)
 Les informations de partionnement sont
stockées par le BIOS dans le MBR (Master
Boot Record)
 Notion d’activation:

• Une seule partition peut être activée sur un


ordinateur
• Indique où il doit aller chercher le noyau du
système d’exploitation pour le démarrage
34
Périphériques de Stockage et
Systèmes de Fichiers
 Les Partitions
 3 types de partitions:
• Partition Principale:
• Au maximum 4
• Pas de minimum
• Accepte tout type de système de fichiers
• Partition Étendue:
• Ne peut contenir que des partitions logiques
• Ne peut pas recevoir de système de fichiers
• Ne peut exister que s’il existe une partition principale
• Partition Logique:
• Contenue dans une partition étendue
• Pas de limitation en nombre
• Accepte tout type de système de fichiers
35
Périphériques de Stockage et
Systèmes de Fichiers
 Les Partitions
 Les avantages:
• Évite la perte de place (DOS)
• Possibilité d’installer plusieurs OS sur une
même machine
• Sauvegarde des données en cas de
réinstallation
• Sauvegarde des données en cas de plantage
• Séparation logique des répertoires (système,
utilisateur, fichiers de logs,…)

36
Périphériques de Stockage et
Systèmes de Fichiers
 Les Systèmes de Fichiers
 Système de fichiers: manière dont un système
stocke ses données sur un disque
 Pour Linux « ext2fs » est le plus répandu:
• Répertoires séparés par des « / »
• Sensible à la casse (« aaa » <> « Aaa »)
• Les fichiers cachés commencent par « . »
• Les espaces et les noms longs sont acceptés
• Défragmentation quasi-inutile
 Nouveaux systèmes de fichiers journalisés:
• Ext3fs
• ReiserFS
• JFS
37
Périphériques de Stockage et
Systèmes de Fichiers
 Les Systèmes de Fichiers
 Autre type de système: le système de
fichiers « Swap »
• Dédié à l’utilisation de la mémoire virtuelle
• Sert de mémoire vive quand la RAM est saturée
• Utilisée intensivement par le système pour la
décharge des logiciels en mémoire

38
Périphériques de Stockage et
Systèmes de Fichiers
 Linux a une structure de partitions
spécifique:
 Deux types au minimum
• Une ext2fs (ou autre) pour le système ou les
données
• Une swap pour la mémoire virtuelle (à peu près
la même taille que la RAM)
 On accède aux partitions par un
pointeur stocké dans « /dev »

39
Périphériques de Stockage et
Systèmes de Fichiers
 /dev est le répertoire des périphériques
 Sous UNIX, TOUT est fichier
 Pointeur de la forme: « /dev/PPLN » avec:
 PP: type de bus
• « hd »pour les disques dur IDE
• « sc » pour les disques SCSI
• « fd » pour les lecteurs de disquettes
 L: lettre du périphérique concerné
 N: numéro de partition concernée
• 1 à 4: partition principale ou étendue
• >4: partitions logiques

40
Périphériques de Stockage et
Systèmes de Fichiers
 Exemples:
 /dev/hda: périphérique maître du bus primaire IDE
 /dev/hdd: périphérique esclave du bus secondaire IDE

 /dev/hda1: partition primaire du périphérique maître du


bus primaire IDE
 /dev/hda7: 3ème partition logique dupériphérique
maître du bus primaire IDE

41
Périphériques de Stockage et
Systèmes de Fichiers
 Le Montage de Systèmes de Fichiers
 Monter un système de fichiers  l’associer à un
répertoire sur le système
 Par exemple, le système de fichiers racine est
monté sur « / »
 Un système de fichiers n’est pas accessible tant
qu’il n’est pas monté
 Commande « mount »:
mount –t <système de fichiers> <périphérique>
<répertoire>

Ex: « mount –t vfat /dev/hda1 /mnt/windows »


 Démonter un répertoire:
« umount <répertoire> »
42
Périphériques de Stockage et
Systèmes de Fichiers
 Le Montage de Systèmes de Fichiers
 Les points de montage sont décrits dans
« /etc/fstab »
 Notations pour les systèmes de fichiers:

•« ext2 »: Ext2fs
•« vfat »: FAT32
•« msdos »: FAT16
•« ntfs »: NTFS (lecture seulement)
•« iso9660 »: CD-ROM/DVD-ROM
Ex: mount –t iso9660 /dev/hdc
/cdrom
43
Périphériques de Stockage et
Systèmes de Fichiers
 Le Montage de Systèmes de Fichiers

44
Périphériques de Stockage et
Systèmes de Fichiers
 Partitionnements conseillés pour un
système « propre »
 Une partition /
 Une partition /boot
 Une partition /home
 Une partition /var
 Une partition /usr
 Une partition swap

45
Périphériques de Stockage et
Systèmes de Fichiers
 Le Système de Fichiers « /proc »
 « /proc » est un répertoire de la racine
 Il n’existe pas physiquement sur le disque
 C’est un pseudo-système de fichiers tenu à jour
par le kernel
 Un sous-répertoire par processus
 Fichiers importants:
• « cpuinfo »: informations sur le processeur
• « filesystems »: liste des systèmes de fichiers supportés
par le système
• « kcore »: image de la mémoire physique du système
• « meminfo »: informations sur la mémoire

46
Périphériques de Stockage et
Systèmes de Fichiers
 Le Système de Fichiers « /proc »

47
Périphériques de Stockage et
Systèmes de Fichiers
 Le Système de Fichiers « /proc »
 Informations sur un processus particulier
(donc dans un sous-répertoire de /proc
portant comme nom le PID du processus)
• « cmdline »: ligne de commande par laquelle le
processus a été lancé
• « cwm »: le répertoire courant du processus
• « environ »: environnement du processus
• « exe »: pointeur vers le binaire exécuté
• « fd »: liens vers les fichiers ouverts par le
processus
• « maps »: plages mémoires allouées par le
processus
48
5 - Amorçage et Arrêt du
Système
Amorçage et Arrêt du Système
 Les Chargeurs de Boot
 Servent à démarrer un système
d’exploitation
 Permettent le choix au démarrage

 Chargeurs:

• Windows NT: NTLoader


• OS/2: Boot Manager OS/2
• Linux: LILO (Linux Loader)
 S’installent le plus souvent dans le MBR du
disque

50
Amorçage et Arrêt du Système
 Séquence de Boot de Linux
 Démarrage Hardware de la machine
 Chargement du BIOS: initialisation des périphériques
 Lecture du MBR
 Lancement de LILO
 Choix du système
 Chargement du noyau
 Chargement des pilotes de périphériques
 Lancement du fichier « init »
• Lecture de « /etc/inittab »
• Lancement du script « /etc/rc.d/[Link] »
• Lancement des services (démons) contenus dans le répertoire
« /etc/rc.d/rc<n> »
• Lancement du script « /etc/[Link] »

51
Amorçage et Arrêt du Système
 Mise en place d’un double-boot:
 Windows 9X/Me/2000: LILO sur le MBR (en
général, configuration automatique à l’installation
avec les nouvelles distributions)
 Windows NT4: LILO sur la partition de démarrage
(/boot ou /).
ATTENTION: penser à activer cette partition de
démarrage
 Configuration ultérieure par la modification du
fichier « /etc/[Link] » suivi de la commande
« lilo »

52
Amorçage et Arrêt du Système
 <n> est le niveau d’exécution (runlevel)
 Sert à définir l’état du système
 Sert à définir quels services seront lancés
 7 états prédéfinis (possibilité d’en définir plus):
• 0: hors service
• 1: mono-utilisateur
• 2: multi-utilisateur sans réseau
• 3: multi-utilisateur avec réseau
• 4: disponible
• 5: login graphique (X-Window doit être configuré)
• 6: redémarrage
 Défini dans le fichier « /etc/inittab »
 Pour changer de runlevel: « init <n> »
53
Amorçage et Arrêt du Système
 Arrêt du Système: 3 Méthodes
 « shutdown –h now »
 « halt »
 « init 0 » (déconseillé)
 Variantes:
 « shutdown –h 10 »: arrêt dans 10 minutes
 « shutdown –h 18:30 »: arrêt à 18h30
 Redémarrage:
 « shutdown –r now »
 <Ctrl><Alt><Del>: variable et défini dans
« /etc/inittab » (en général, redémarrage)
54
6 - Processus
Processus
 Processus: Programme opérant de
manière indépendante et possédant
son ensemble de ressources
 Les ressources matérielles sont gérées
par un processus: le kernel
 Un « fork » est une séparation en deux
d’un processus
 PID: numéro de processus unique

56
Processus
 Affichage des processus en cours:
 « ps »: affiche les processus utilisateurs
 « ps –aux »: affiche tous les processus
d’un système
 « pstree »: affiche les processus sous
forme d’arborescence
 « top »: outil semi-graphique présentant
un grand nombre d’informations en temps
réel sur les processus

57
Processus
 Affichage des processus en cours:

58
Processus
 Gestion des Signaux
 Un processus peut émettre et recevoir des
signaux POSIX
 64 signaux différents (liste complète par
« kill –l »)
 Les 3 plus importants:
• SIGHUP – valeur 1 – Fin du processus de contrôle
(terminal par exemple)
• SIGINT – valeur 2 – Interruption du processus
• SIGKILL – valeur 9 – Interruption brutale du processus
 Émission d’un signal par
« kill -<n°> <processus »
Ex: kill –9 N_proc_netscape
59
Processus
 Gestion des Signaux

60
7 - Utilisation Avancée du Shell
bash
Utilisation Avancée du Shell bash
 Exécution de commandes
 Exécution séquentielle:
« commande1;commande2;commande3 »
 Exécution en tâche de fond:
« commande1 & »

62
Utilisation Avancée du Shell bash
 Fichiers (Scripts) de configuration
exécutés après le login
 Lecture et exécution de « /etc/profile »
 Lecture et exécution de « .bash_profile »
dans le répertoire personnel
 Lecture et exécution de « .bashrc » dans le
répertoire personnel
 Lecture et exécution de « /etc/bashrc »

63
Utilisation Avancée du Shell bash
 Facilités de saisie des commandes
• Historique des commandes: flèches haut et bas
• Copie dans un terminal: sélection d’un texte,
copie par clic-droit
• L’opérateur « ~ » renvoie au répertoire
personnel
• La commande « cd – » renvoie au répertoire
précédent
• Complétion des commandes: touche « TAB »

64
Utilisation Avancée du Shell bash
 Facilités de saisie des commandes
• Complétion des commandes (touche « TAB »)

65
Utilisation Avancée du Shell bash
 Communications inter-processus (pipe)
« commande1 | commande2 »
La sortie de commande1 est envoyée sur
l’entrée de commande2
 Exemple:
« cat /etc/passwd | less »
La sortie de l’affichage est envoyée vers le
paginateur less

66
Utilisation Avancée du Shell bash
 Redirections d’entrées-sorties
 En général, trois descripteurs pour le shell (sur 10
possibles):
• 0: entrée standard
• 1: sortie standard
• 2: sortie d’erreur
 Les différentes redirections:
• « commande >fichier »: redirection de sortie vers fichier avec
écrasement
• « commande >>fichier »: idem mais ajout des données à la fin
• « commande <fichier »: la lecture du descripteur 0 se fera sur
ce fichier
• « commande <<mot »: lecture de l’entrée standard jusqu’à la
première occurrence de « mot »

67
Utilisation Avancée du Shell bash
 Redirections d’entrées-sorties
 Exemples:
« cat /etc/passwd >fichier »
« cat /etc/passwd >fichier; cat /etc/shadow >>fichier »
 Redirection des erreurs:
• « commande 2>/dev/null »
• « commande 2>fichier »

68
Utilisation Avancée du Shell bash
 Redirections d’entrées-sorties

69
Utilisation Avancée du Shell bash
 Exécutions conditionnelles
 « commande1 && commande2 »:
commande2 n’est exécutée que si
commande1 n’a pas renvoyé d’erreur
 « commande1 || commande2 »:
commande2 n’est exécutée que si
commande1 a renvoyé une erreur

70
Utilisation Avancée du Shell bash
 Les Variables d’environnement
 Le shell permet le stockage de variables
d’environnement (en majuscules):
• Définies pour l’ensemble du système
• Définition par « VARIABLE=valeur
export VARIABLE »
• Exemples: HOME, PATH, SHELL, USER
• On accède à leur valeur en les faisant précéder
d’un « $ »
 Pour visualiser toutes les variables
d’environnement: « env »
71
Utilisation Avancée du Shell bash
 Les Variables d’environnement

72
Utilisation Avancée du Shell bash
 Les Expressions rationnelles
 Servent de « joker » dans les noms de fichiers:
•« * »: n’importe quelle chaîne de caractères
•« ? »: n’importe quel caractère
•« [a-z] »: correspond à {a, b, c,…, z}
•« [A-Z] »: correspond à {A, B, C,…, Z}
•« [0-9] »: correspond à {0, 1, 2,…, 9}
 Exemples:
• « *[0-9]* »: toute chaîne qui contient au moins un
chiffre
• « [c-fAX-Z] »: correspond à
{c, d, e, f, A, X, Y, Z}

73
Utilisation Avancée du Shell bash
 La Substitution de commandes
 Permet de substituer au texte d’une
commande le résultat de son exécution
 Utilisation de l’opérateur « `…` »
 Exemple:
« echo Il y a `ls | wc –l` fichiers dans `pwd` »
affichera le nombre de fichiers dans le répertoire courant

74
Utilisation Avancée du Shell bash
 Les Scripts Shell
 Un script est une suite de commandes
écrites dans un fichier
 Commence toujours par « #!/bin/bash »
(dans le cas du shell bash)
 Exemple:
« #!/bin/bash
commande1
commande2 »

75
Utilisation Avancée du Shell bash
 Les Scripts Shell
 Processus de création d’un script:
• Création dans un éditeur de texte.
• Sauvegarde dans un fichier (extension .sh en
général).
• La première fois, positionner les droits du fichier
en exécution: « chmod +x [Link] ».
• Exécution du script: « ./[Link] »
Remarque: on met un ./ devant le nom du
fichier pour indiquer au système que le
fichier à exécuter se trouve dans le répertoire
courant (« . »). En général, ce répertoire n’est
pas dans le PATH.
76
Utilisation Avancée du Shell bash
 Les Scripts Shell
 Les Tests
• Existent sous deux formes: commande « test »
ou entre crochets
• Tests possibles sur les fichiers:
• « [ -r fichier ] »: vrai si fichier est lisible
• « [ -w fichier ] »: vrai si l’écriture sur fichier est
possible
• « [ -x fichier ] »: vrai si fichier est exécutable
• « [ -f fichier ] »: vrai si fichier est un fichier ordinaire
• « [ -d fichier ] »: vrai si fichier est un répertoire
• « [ -S fichier ] »: vrai si fichier est non vide

77
Utilisation Avancée du Shell bash
 Les Scripts Shell
 Les Tests
• Tests binaires:
• « [ chaine1 = chaine2 ] »: vrai si chaine1=chaine2
• « [ chaine1 != chaine2 ] »: vrai si chaine1<>chaine2
• « [ n1 –eq n2 ] »: vrai si n1=n2
• « [ n1 –ne n2 ] »: vrai si n1<>n2
• « [ n1 –gt n2 ] »: vrai si n1>n2
• « [ n1 –ge n2 ] »: vrai si n1≥ n2
• « [ n1 –lt n2 ] »: vrai si n1<n2
• « [ n1 –le n2 ] »: vrai si n1≤ n2

78
Utilisation Avancée du Shell bash
 Les Scripts Shell
 Les Paramètres:
« ./[Link] param1 param2 »
• Les paramètres sont accessibles dans le script par les
variables spéciales suivantes:
• « $0 »: nom du script appelé
• « $1 »: valeur du premier paramètre
• …
• « $n »: valeur du nème paramètre
• « $# »: nombre de paramètres
• « $* »: ensemble des paramètres
• Décalage de paramètres: « shift »

79
Utilisation Avancée du Shell bash
 Les Scripts Shell
 Les Paramètres

80
Utilisation Avancée du Shell bash
 Les Scripts Shell
 Structures de contrôle disponibles:
• « if liste1 ; then
commandes1
elseif liste ; then


else


fi »
• « while liste ; do


done »
81
Utilisation Avancée du Shell bash
 Les Scripts Shell
 Structures de contrôle disponibles:
• « for variable in … ; do

done »
• « case variable in
motif1)
…;;
motif2)
…;;
esac »

82
Utilisation Avancée du Shell bash
 Les Scripts Shell
 Exemples de structures de contrôle:
• « #!/bin/bash
for i in * ; do
file $i
done »
• « #!/bin/bash
while [ $# -ge 1 ] ; do
file $1
shift
done »

83
8 - Commandes Avancées
Commandes Avancées
 Outils d’archivage et de Compactage
 Le compacteur « gzip »
• Rapide et très efficace
• Compacte le fichier, sauvegarde le nouveau
fichier en rajoutant l’extension « .gz » et efface
l’original
• Ne compacte qu’un seul fichier à la fois
• « gzip –l » donne des informations sur le fichier
compacté
• Pour décompacter: « gunzip <fichier> »

85
Commandes Avancées
 Outils d’archivage et de Compactage
 Le compacteur « gzip »

86
Commandes Avancées
 Outils d’archivage et de Compactage
 L’archiveur « tar »
• Assemble plusieurs fichiers en un seul
• tar = « Tape Archiver »
• Syntaxe:
« tar <fonction><options> <fichiers…> »
• Paramètre <fonction>:
• « c »: créer une nouvelle archive
• « x »: extraire les fichiers d’une archive
• « t »: afficher les fichiers d’une archive
• « r »: ajouter des fichiers à l’archive
• Options:
• « z »: utiliser le compacteur gzip (extension .[Link] ou .tgz)
• « f »: spécifier le nom du fichier à lire ou écrire

87
Commandes Avancées
 Outils d’archivage et de Compactage
 L’archiveur « tar »

88
Commandes Avancées
 Outils d’archivage et de Compactage
 « tar » conserve l’arborescence et les
propriétés de chaque fichier
 En résumé:

• Créer une archive de plusieurs fichiers


compactée:
tar czf [Link] src1 src2 …
• Décompacter une archive:
tar xzf [Link]
• Visualiser une archive:
tar tzf [Link]

89
Commandes Avancées
 L’outil RPM
 RPM: Red Hat Package Manager
 Package: logiciel compilé+informations
diverses (source, dépendances,…)
 Outil d’installation de logiciels

 Gestion des dépendances grâce à l’utilisation


d’une base de données
 Package: fichier de la forme
[Link]
 Lister tous les packages installés:
« rpm –qa »
90
Commandes Avancées
 L’outil RPM
 Installation d’un package:
« rpm –i [Link] »
 Mise à jour d’un package:
« rpm –U [Link] »
 Suppression d’un package:
« rpm –e [Link] »
 Afficher des informations sur un package:
« rpm –qi [Link] »
 Lister les fichiers d’un package:
« rpm –qpl [Link] »
91
Commandes Avancées
 La commande « find »
 Permet de chercher des fichiers sur le
disque
 Format:
« find <répertoire source> <option> fichier »
 Options principales:
• -name : recherche par nom de fichier
• -type: recherche par type de fichier
• -user: recherche par propriétaire
• -size: recherche par taille
 Elimination des messages d’erreur:
« find <répertoire source> <option> fichier 2 > /dev/null »

92
Commandes Avancées
 La commande « find »
 Exemples:
 « find / -name *.c »: tous les fichiers se
terminant par .c
 « find / -size +200k »: tous les fichiers de
plus de 200Ko
 « find / -size –200k »: tous les fichiers de
moins de 200Ko
 « find / -user root »: tous les fichiers
appartenant à root
93
Commandes Avancées
 La commande « find »

94
9 - Commandes Réseau
Commandes Réseau
 Réseau TCP/IP: la carte Ethernet est désignée
par « eth0 »
 Préliminaire: donner un nom de machine par la
commande « hostname » (ou à l’installation)
 Fichiers de configuration:
• « /etc/hosts »: liste d’adresses IP et les noms des machines
associées
Ex: [Link] localhost (adresse de Loopback)
• « /etc/networks »: liste d’adresse et de noms de réseaux
• « /etc/hosts »: spécifie la manière dont les noms de
machine seront traduits en adresses IP
• « /etc/[Link] »: adresses des serveurs de noms et des
domaines à utiliser

96
Commandes Réseau
 Commandes Réseau (aide complète
avec « man <commande> »)
• « ping »: permet de vérifier si une mahine est
présente sur le réseau. Un « ping [Link] »
permet de vérifier que la carte réseau
fonctionne normalement

97
Commandes Réseau
• « ifconfig »: permet de connaître la
configuration réseau de la machine, mais aussi
de la changer

98
Commandes Réseau
• « arp »: permet de mettre en correspondance
les adresses IP et les adresses MAC
• « route »: permet de voir, d’ajouter ou de
supprimer les routes déclarées sur la machine

99
Commandes Réseau
• « netstat »: permet de connaître les ports en
écoute sur la machine, les connexions actives
et d’autres choses
• « traceroute »: permet de déterminer la route
prise par les paquets
• « telnet »: permet de se connecter à distance
sur une machine
• « nslookup »: permet d’interroger un serveur
de noms
• « who »: permet de connaître les utilisateurs
connectés sur la machine

100
Commandes Réseau
• « last »: permet de consulter l’historique des
connexions

101
Commandes Réseau
• « finger »: permet d’obtenir des informations
sur les utilisateurs d’une machine
• « tcpdump »: permet la capture de paquets sur
le réseau
• « nmap »: permet de scanner les ports d’une
machine

102

Vous aimerez peut-être aussi