linux : principes de base elies jebri - ddata.over...

193
Linux : Principes de Base Elies JEBRI Page N° 1 Table de Matières : Introduction ........................................................................................................................................................................ 5 LECON 1 ................................................................................................................................................................................. 6 Histoire d’UNIX............................................................................................................................................................ 7 Laboratoires Bell .......................................................................................................................................................... 7 Projet GNU/FSF ........................................................................................................................................................... 9 Licences Open Source................................................................................................................................................... 9 Pourquoi choisir Linux ?............................................................................................................................................ 11 Red Hat Linux............................................................................................................................................................. 11 Matériel requis ....................................................................................................................................................................... 12 Les CD-ROM Red Hat Linux ................................................................................................................................................ 12 CD-ROM nécessaires pour l’installation ......................................................................................................................... 12 CD-ROM de documentation .................................................................................................................................................. 12 CD-ROM source .................................................................................................................................................................... 12 X Window .................................................................................................................................................................... 12 Interfaces graphiques cohérentes .................................................................................................................................. 13 LEÇON 2 ............................................................................................................................................................................... 14 Fichiers ............................................................................................................................................................................. 15 Les chartes de couleurs sont définies dans le fichier /etc/DIR-Colors. ................................................................... 15 Fichiers de périphériques ....................................................................................................................................................... 15 Processus de Linux ........................................................................................................................................................... 16 Shell de la ligne de commande .............................................................................................................................................. 17 Le Bourne Again Shell ..................................................................................................................................................... 17 Exécution de commandes ............................................................................................................................................. 18 Exécution de plusieurs commandes ................................................................................................................................. 18 Définition des options d’une commande ................................................................................................................................ 18 Variables d’environnement standard ...................................................................................................................................... 19 UTILISATEURS.................................................................................................................................................................... 19 Un compte d’utilisateur est un compte Linux normal ............................................................................................................ 19 Les utilisateurs appartiennent à un ou plusieurs groupes ....................................................................................................... 19 Un groupe peut avoir un ou plusieurs utilisateurs Et.............................................................................................................. 19 Les fichiers appartiennent à un utilisateur et à un groupe ...................................................................................................... 19 Le super-utilisateur (ou utilisateur root) a un accès illimité ................................................................................................... 19 Choix d’un mot de passe adéquat ................................................................................................................................. 20 Aide en ligne-man ........................................................................................................................................................ 21 man ............................................................................................................................................................................... 21 Sections de manuel ....................................................................................................................................................... 21 Autres utilitaires d’aide .......................................................................................................................................................... 21 Consoles virtuelles ................................................................................................................................................................. 22 LECON 3 ............................................................................................................................................................................... 23 Objectifs : .......................................................................................................................................................................... 23 Thèmes abordés : ........................................................................................................................................................ 23 Manipulation de fichiers .................................................................................................................................................. 27 Afficher le fichiers un ou un en plein écran ........................................................................................................................... 29 Globbing ....................................................................................................................................................................... 30 EXERCICES DE LA LEÇON 3 ............................................................................................................................................ 32 Séquence 1 : organisation de répertoires et fichiers ............................................................................................................... 33 Séquence 2 : Déterminer l’espace disque ............................................................................................................................... 36 Séquence 3 : Examen des fichiers de texte............................................................................................................................. 37 LECON 4 ............................................................................................................................................................................... 40 Objectifs ............................................................................................................................................................................ 40 Thèmes abordés ................................................................................................................................................................ 40 Utilisateurs ........................................................................................................................................................................ 41 Utilisateurs :.................................................................................................................................................................. 41 Multitâche et multi-utilisateurs : ................................................................................................................................... 41 Modèle de groupe privé d’utilisateurs .......................................................................................................................... 42 Contrôle au l’accès de matériel :................................................................................................................................... 42 Modèle de sécurité de linux ................................................................................................................................................... 43

Upload: ngonhi

Post on 14-Sep-2018

233 views

Category:

Documents


1 download

TRANSCRIPT

Linux : Principes de Base Elies JEBRI

Page N° 1

Table de Matières : Introduction ........................................................................................................................................................................ 5

LECON 1 ................................................................................................................................................................................. 6 Histoire d’UNIX ............................................................................................................................................................ 7 Laboratoires Bell .......................................................................................................................................................... 7 Projet GNU/FSF ........................................................................................................................................................... 9 Licences Open Source ................................................................................................................................................... 9 Pourquoi choisir Linux ? ............................................................................................................................................ 11 Red Hat Linux ............................................................................................................................................................. 11

Matériel requis ....................................................................................................................................................................... 12 Les CD-ROM Red Hat Linux ................................................................................................................................................ 12

CD-ROM nécessaires pour l’installation ......................................................................................................................... 12 CD-ROM de documentation .................................................................................................................................................. 12 CD-ROM source .................................................................................................................................................................... 12

X Window .................................................................................................................................................................... 12 Interfaces graphiques cohérentes .................................................................................................................................. 13

LEÇON 2 ............................................................................................................................................................................... 14 Fichiers ............................................................................................................................................................................. 15

Les chartes de couleurs sont définies dans le fichier /etc/DIR-Colors. ................................................................... 15 Fichiers de périphériques ....................................................................................................................................................... 15

Processus de Linux ........................................................................................................................................................... 16 Shell de la ligne de commande .............................................................................................................................................. 17

Le Bourne Again Shell ..................................................................................................................................................... 17 Exécution de commandes ............................................................................................................................................. 18

Exécution de plusieurs commandes ................................................................................................................................. 18 Définition des options d’une commande ................................................................................................................................ 18 Variables d’environnement standard ...................................................................................................................................... 19 UTILISATEURS .................................................................................................................................................................... 19 Un compte d’utilisateur est un compte Linux normal ............................................................................................................ 19 Les utilisateurs appartiennent à un ou plusieurs groupes ....................................................................................................... 19 Un groupe peut avoir un ou plusieurs utilisateurs Et .............................................................................................................. 19 Les fichiers appartiennent à un utilisateur et à un groupe ...................................................................................................... 19 Le super-utilisateur (ou utilisateur root) a un accès illimité ................................................................................................... 19

Choix d’un mot de passe adéquat ................................................................................................................................. 20 Aide en ligne-man ........................................................................................................................................................ 21 man ............................................................................................................................................................................... 21 Sections de manuel ....................................................................................................................................................... 21

Autres utilitaires d’aide .......................................................................................................................................................... 21 Consoles virtuelles ................................................................................................................................................................. 22 LECON 3 ............................................................................................................................................................................... 23

Objectifs : .......................................................................................................................................................................... 23 Thèmes abordés : ........................................................................................................................................................ 23

Manipulation de fichiers .................................................................................................................................................. 27 Afficher le fichiers un ou un en plein écran ........................................................................................................................... 29

Globbing ....................................................................................................................................................................... 30 EXERCICES DE LA LEÇON 3 ............................................................................................................................................ 32 Séquence 1 : organisation de répertoires et fichiers ............................................................................................................... 33 Séquence 2 : Déterminer l’espace disque ............................................................................................................................... 36 Séquence 3 : Examen des fichiers de texte ............................................................................................................................. 37 LECON 4 ............................................................................................................................................................................... 40

Objectifs ............................................................................................................................................................................ 40 Thèmes abordés ................................................................................................................................................................ 40 Utilisateurs ........................................................................................................................................................................ 41

Utilisateurs : .................................................................................................................................................................. 41 Multitâche et multi-utilisateurs : ................................................................................................................................... 41 Modèle de groupe privé d’utilisateurs .......................................................................................................................... 42 Contrôle au l’accès de matériel : ................................................................................................................................... 42

Modèle de sécurité de linux ................................................................................................................................................... 43

Linux : Principes de Base Elies JEBRI

Page N° 2

Utilisateurs et groupes du système ......................................................................................................................................... 45 Commandes d’information sur les utilisateurs ....................................................................................................................... 46

Changement de votre identité ........................................................................................................................................... 47 FIN DE LEÇON 4 .................................................................................................................................................................. 48 EXERCICES DE LA LEÇON 4 ............................................................................................................................................ 49 Examen des informations sur les utilisateurs ......................................................................................................................... 49 LEÇON 5 ............................................................................................................................................................................... 54

Autorisations d’accès aux fichiers ............................................................................................................................. 54 Objectifs ............................................................................................................................................................................ 54 Thèmes abordés ................................................................................................................................................................ 54

Types d’autorisation d’accès aux fichiers ..................................................................................................................... 56 Types d’autorisation spéciale........................................................................................................................................ 57

Lorsque le bit sticky est utilisé sur un répertoire, généralement / tmp, il empêche tout utilisateur d’éliminer les fichiers des autres utilisateurs. .................................................................................................................................................................. 57

Analyse des autorisations ............................................................................................................................................. 58 Analyse des Répertoires ......................................................................................................................................................... 58 Analyse des autorisations utilisateur : .................................................................................................................................... 59 Analyse des autorisations Groupe: ......................................................................................................................................... 59 Analyse des autorisations Autres utilisateurs: ........................................................................................................................ 59

Autre exemples ............................................................................................................................................................. 59 Syntaxe chmod ............................................................................................................................................................. 61

Définition numérique du mode d’accès .................................................................................................................................. 62 FIN DE LA LEÇON 5 ........................................................................................................................................................... 64 EXERCICES DE LA LEÇON 5 ............................................................................................................................................ 65

Autorisations d’accès aux fichiers ................................................................................................................................... 65 LEÇON 6 ............................................................................................................................................................................... 67

Le système de fichier Linux ....................................................................................................................................... 67 Objectifs ................................................................................................................................................................................. 67 Séquence 1 : Créer et utiliser des liens ................................................................................................................................... 71 Séquence 2 : Archiver et compresser ..................................................................................................................................... 72 LEÇON 7 ............................................................................................................................................................................... 75 Redirection de la sortie et création/écrasement du fichier ou tupt .......................................................................................... 78 Redirection de sortie et ajout des données au fichier output .................................................................................................. 78 Redirection de la sortie et écrasement du fichier ouput ......................................................................................................... 78 Visualisation du fichier ouput ................................................................................................................................................ 78 Redirection de l’erreur standard ............................................................................................................................................. 78

Redirection d’autres erreurs standard vers le fichier finderrors .................................................................................... 79 Find / -name passwd 2>errs > results ........................................................................................................................... 79

LECON 8 ............................................................................................................................................................................... 82 Cut .......................................................................................................................................................................................... 87 FIN DE LA LEÇON 8 ........................................................................................................................................................... 90

Traitement de chaînes, E/S standard et « pipes » ................................................................................................... 90 Séquence1 : traitement de chaînes de base ...................................................................................................................... 90

LECON 9 .............................................................................................................................................................................. 96 Objectifs : ............................................................................................................................................................................... 96 Thèmes abordés : .................................................................................................................................................................... 96 Modifier la priorité de Programmation du processus – ........................................................................................................ 102

Exécuter un processus au premier ................................................................................................................................. 102 Ne lancera aucun autre processus avant Que celui qui en cours ne soit terminé et .................................................... 103

FIN DE LA LEÇON 9 ......................................................................................................................................................... 106 EXERCICES DE LA LEÇON 9 .......................................................................................................................................... 107 LEÇON 10 .......................................................................................................................................................................... 109 Introduction au shell bash .................................................................................................................................................... 110

Héritage de bash ............................................................................................................................................................. 110 Variables d’environnement couramment utilisées ............................................................................................................... 112

Chemin d’accès de recherche exécutable ...................................................................................................................... 112 Le nom d’hôte ...................................................................................................................................................................... 113 Le nom de base du nom de l’unité d’entrée/sortie du shell ................................................................................................ 113 Protection contre l’expansion ............................................................................................................................................... 116 Utilisation de nohup ............................................................................................................................................................. 117

Exécution de processeur en tâche de fond ..................................................................................................................... 117 History-Rappel de commandes ................................................................................................................................ 118 Historique avancé ....................................................................................................................................................... 118

Linux : Principes de Base Elies JEBRI

Page N° 3

Commandes Composées ........................................................................................................................................... 118 Commande composées ............................................................................................................................................... 118 Valeurs de retour des commandes .......................................................................................................................... 119

Scripts démarrage ................................................................................................................................................................. 120 Shells de connexion ........................................................................................................................................................ 122

INPUTERC= / etc/inputerc .................................................................................................................................................. 120 Notions de base sur les scripts .............................................................................................................................................. 123

Création de scripts Shell ................................................................................................................................................. 124 Faire en sorte qu’un script soit exécutable ............................................................................................................. 124

Conseils pour l’utilisation de l’historique ...................................................................................................................... 129 Conseils pour l’utilisation de l’achèvement de commandes ................................................................................................. 129

Personnalisation de l’achèvement de commandes ........................................................................................................ 129 Edition de ligne de commande ............................................................................................................................................. 130 FIN DE LA LEÇON 10 ....................................................................................................................................................... 131 EXERCICES DE LA LEÇON 10 ........................................................................................................................................ 132

Sequence 2 : Configuration des options du shell .................................................................................................... 133 Séquence défi : utilisation des fonctions du Shell ................................................................................................................ 135 LEÇON 11 ........................................................................................................................................................................... 136 Système X Window .............................................................................................................................................................. 137

Protocole X ..................................................................................................................................................................... 138 X est protocole ..................................................................................................................................................................... 138 X à distance .......................................................................................................................................................................... 138

Versatilité le X ................................................................................................................................................................. 139 Gestionnaires de fenêtres ............................................................................................................................................... 140

Sawfish ....................................................................................................................................................................... 140 Configuration de Sawfish ..................................................................................................................................................... 140

GNOME ..................................................................................................................................................................... 141 KDE ........................................................................................................................................................................... 141 Environnement X original ....................................................................................................................................... 141 X11 sans GNOME ou KDE .............................................................................................................................. 141 Switchdesk ................................................................................................................................................................. 141 Switchdesk ................................................................................................................................................................. 142 Switchdesk ................................................................................................................................................................. 142

Copier et coller ................................................................................................................................................................ 143 Terminaux GUI .................................................................................................................................................................... 143 Editeurs GUI ........................................................................................................................................................................ 143 Gftp ...................................................................................................................................................................................... 144 Gimp .................................................................................................................................................................................... 144 Xchat .................................................................................................................................................................................... 144 Navigateurs Web .................................................................................................................................................................. 144 Utilitaires pour traitement d’image ...................................................................................................................................... 145 Applications KDE ................................................................................................................................................................ 145 Personnalisation de x ............................................................................................................................................................ 145 FIN DE LA LEÇON 11 ....................................................................................................................................................... 146 EXERCICES DE LA LEÇON 11 ........................................................................................................................................ 147 Séquence 1 : Personnalisation du gestionnaire de fenêtres .................................................................................................. 147 LEÇON 12 ........................................................................................................................................................................... 148

Impression et messagerie ............................................................................................................................................ 148 Objectifs : ........................................................................................................................................................................ 148 Thèmes abordés : ............................................................................................................................................................ 148

Imprimer sous Linux ............................................................................................................................................................ 149 Imprimer ......................................................................................................................................................................... 149 Travaux ........................................................................................................................................................................... 149

LPRng ........................................................................................................................................................................ 149 Imprimer depuis la ligne de commande .................................................................................................................. 151 Imprimer depuis les applications ............................................................................................................................ 151 Utilitaire d’impression .............................................................................................................................................. 151 E- mail ........................................................................................................................................................................ 152

Filtrer les e-mails .................................................................................................................................................................. 153 Fetchmail .............................................................................................................................................................................. 154 FIN DE LA LEÇON 12 ....................................................................................................................................................... 155 EXERCICE DE LA LEÇON 12 .......................................................................................................................................... 156

Linux : Principes de Base Elies JEBRI

Page N° 4

Durée approximative : 30 Minutes ............................................................................................................................ 156 LEÇON 13 .......................................................................................................................................................................... 157 $ ping www.redhat.com ....................................................................................................................................................... 158 Traceroute ............................................................................................................................................................................ 158

Host ................................................................................................................................................................................. 159 dig ............................................................................................................................................................................... 160 ncftp ........................................................................................................................................................................... 163

Telnet .............................................................................................................................................................................. 164 Shell sécurisé :ssh ................................................................................................................................................................ 165

ridist ................................................................................................................................................................................ 165 rsync ..................................................................................................................................................................................... 166 FIN DE LA LEÇON 13 ....................................................................................................................................................... 167 EXERCICES DE LA LEÇON 13 ........................................................................................................................................ 168

Client réseau de base ...................................................................................................................................................... 168 Durée approximative : 40 minutes .............................................................................................................................. 168 Séquence 2 : communication cryptée – suite ssh ........................................................................................................ 170

LEÇON 14 ........................................................................................................................................................................... 172 Vi : vue d’ensemble ........................................................................................................................................................ 173

Méta- caractères d’expression régulière ............................................................................................................................... 180 Revue des expressions régulières ......................................................................................................................................... 181 FIN DE LA LEÇON 14 ....................................................................................................................................................... 181 EXERCICES DE LA LEÇON 14 ........................................................................................................................................ 182 Vi .......................................................................................................................................................................................... 182 LEÇON 15 ........................................................................................................................................................................... 183

TERM .............................................................................................................................................................................. 184 Collisions:0 txqueuelen:0 ........................................................................................................................................... 185

Rassemblement d’informations ............................................................................................................................................ 186 Woh ................................................................................................................................................................................. 186

USER LINE LOGIN- TIME IDEL FROM ................................................................................................... 186 Utilisez cette commande pour visualiser la mémoire libre et utilisée. ........................................................................ 186

FIN DE LA LEÇON 15 ....................................................................................................................................................... 192 EXERCICES DE LA LEÇON 15 ........................................................................................................................................ 193

Linux : Principes de Base Elies JEBRI

Page N° 5

Principe de base de Red Hat

Linux

Introduction

Objectifs du cours Formation d’un utilisateur RED HAT Linux qui sache employer et personnaliser son système RED HAT Linux au moyen des outils de l‘interface graphique ainsi que des processus les plus fréquents de la ligne de commande. Le cours vous permet d’acquérir les connaissances de base requise pour utiliser de façon productive le système RED HAT linux. Ces compétences incluent.

Manipulation des fichiers et répertoires Définition des utilisateurs et groupes E/O standard et canaux Elaboration de chaînes Gestion des processus opération de shell bash les environnements graphiques de RED HAT LINUX outils de base du système réseau l’éditeur vi outils système installation de RED HAT Linux Public concerné et conditions

Public concerné : utilisateurs débutant de Linux et UNIX ; les utilisateurs et les administrateurs d’un autre type de système d’exploitation Condition : connaissance de base d’un système d’exploitation quelconque, utilisation de la souris des menus et d’une interfaces graphique utilisateur.

Linux : Principes de Base Elies JEBRI

Page N° 6

LEÇON 1 Introduction Objectifs :

En savoir plus sur l’histoire d’UNIX et Linux Comprendre les principes de base d’UNIX Comprendre les licences Open Source En savoir plus sur Red Hat Linux En savoir plus sur les environnements à

Interface graphique(GUI) Thèmes abordés :

Histoire d’UNIX et Linux Principes de création UNIX L licenses Open Source Red Hat Linux Interface graphique (GUI) de Linux

Linux : Principes de Base Elies JEBRI

Page N° 7

Histoire d’UNIX

La première version est créée dans les Laboratoires de la société Bell en 1969.

AT&T met sous licence le code source à un prix abordable.

UNIX est le nom de la marque de commerce et est Gardé précieusement par la société.

Chaque détenteur de licence doit créer un nouveau nom pour son propre système d’exploitation.

De nombreuses « variétés » d’UNIX voient ainsi le jour.

Laboratoires Bell A l’origine, Unix a été développé pour un usage interne chez AT&T par les chercheurs Ken thompson et Dennis Ritchie. AT&T a ensuite mis sous licence le code source, ce qui permit à de nombreuses sociétés de modifier de produire des systèmes d’exploitation de type UNIX. Comme AT&T a gardé le nom UNIX, les autres sociétés ont dû créer leur propre nom, tel que, par exemple, AIX d’IBM, XENIX de Microsoft, Solaris de Sun et IRIX de SGI. Variétés d’UNIX Les nombreuses variétés d’UNIX fonctionnent toutes de façon très semblable. A l’invite du shell, la plupart des utilitaires et des commandes sont disponibles, bien que les paramètres utilisés par les commandes puissent marier d’un système à l’autre. Par analogie, on pourrait comparer UNIX aux voitures. Il y a de nombreux constructeurs et modèles de voitures, mais dans l’ensemble, elles fonctionnent toutes plus ou moins de la même manière, en dépit des petites différences qui existent entre elles.

Principes d’UNIX

Tout est fichier Y compris le matériel Données de configuration stockées en texte Petits programmes à fonction unique Possibilité d’enchaîner des programmes pour exécuter des tâches plus complexes

Tout est ficher Les systèmes UNIX ont de nombreux utilitaires puissants destinés à créer et manipuler des fichiers. Le modèle de sécurité UNIX se base sur la sécurité des fichiers. En considérant tout chose comme étant un fichier, on obtient une puissante cohésion. Il est ainsi aussi facile de sécuriser l’accès au matériel que de sécuriser l’accès à un fichier. Données de configuration stockée en texte Le texte est une interface universelle et il existe de nombreux utilitaires UNIX pour le manipuler. Le stockage de données de configuration en texte permet de déplacer celles-ci très facilement d’un ordinateur à un autre. Il existe aussi de nombreuses applications de révision de contrôle pour déceler

Linux : Principes de Base Elies JEBRI

Page N° 8

aisément les changements qui ont été effectués à une date précise et vous donner également la possibilité de remettre, vos données de configuration telles qu’elles étaient à une date et une heure spécifiques. Petits programmes à fonction unique Il existe sous UNIX de nombreux petits programmes exécutant très bien une tâche en particulier. La philosophie derrière ceci est créée des programmes séparés plutôt que d’ajouter de nouvelles fonctions aux programmes déjà existants. Possibilité d’enchaîner des programmes pour exécuter des tâches plus complexes L’une des méthodologies de développement de base est l’utilisation du résultat (output) d’un programme comme information de départ (input) d’un autre programme. Cela donne à l’utilisateur la flexibilité nécessaire pour combiner de nombreux petits programmes, dans le but d’exécuter une tâche plus vaste et plus complexe

Linux : Principes de Base Elies JEBRI

Page N° 9

Projet GNU/FSF

Le projet GNU commence en 1984 But : créer un clone UNIX « libre » ; En 1990, on avait déjà créé la plupart des applications nécessaires aux utilisateurs. Gcc, emacs, etc. Free SoftWare Fondation Organisation sans but lucratif qui gère le projet GNU.

La signification du terme « logiciel libre »pourrait vous surprendre. En effet, le terme ne fait pas référence au coût du logiciel, mais bien au fait que l’utilisateur final peut le modifier en toute liberté. Voici un extrait tiré du site Web de GNU :

Le logiciel libre est question de liberté et non de prix. Pour bien saisir ce concept, il fait penser en termes de liberté d’expression, et non en termes de bière gratuite. Logiciel libre se réfère à la liberté de l’utilisateur d’exécuter, de copier, de distribuer, d’étudier et d’améliorer le logiciel. Plus précisément, ce terme se référer à quatre types de liberté pour l’utilisateur du programme : La liberté d’exécuter le logiciel, et ce dans n’importe, quel but (liberté0) la liberté d’étudier le le fonctionnement du logiciel et de l’adapter à ses propres besoins (liberté 1). L’accès au code source est une condition sine qua non pour cela. La liberté de redistribuer des copies, afin d’aider son prochain (liberté2) .La liberté d’améliorer le logiciel et de rendre public les améliorations, de sorte que l’ensemble de la communauté puisse en profiter (liberté3). L’accès au code source est une condition sine qua non pour cela. Un logiciel ne peut être considéré comme étant libre que si son utilisateur a droit à toutes ces libertés. Par conséquent, ce dernier est libre de redistribuer des copies du logiciel, avec ou sans modification, gratuitement ou en demandant un prix de distribution, à n’importe qui et n’importe ou.

GPL_ Licence publique mondiale GNU

Licence primaire pour logiciels libres (Open Source) Encourage les logiciels libres. Tout changement (ou amélioration) apporté à un logiciel GPL doit aussi être conforme à la

GPL. Souvent appelé « copyleft » Tout droit « renversés »

Licences Open Source La plupart des utilitaires et application contenus dans la distribution Red Hat sont aussi couverts par la GPL. La seule grande exception à cette règle est le système X Widow, qui a ses propre termes et conditions., Le texte de la GPL://www.gnu.org/copyleft/gpl.html.

Linux : Principes de Base Elies JEBRI

Page N° 10

D’autres applications. Telles que NetscapeTM , ont leur propre contrat de licence, qui doit être accepté avant de pouvoir les utiliser . Le contrat de licence de Netscape s’affiche lors de la première utilisation de l’application et peut être visualisée depuis le menu l’aide. Les développeurs de logiciels (et autres) qui utilisent le code de BSD TM doivent accepter de se soumettre aux conditions de la Berkley Software Distribution. Visitez le site Web http://www.bsd.com pour avoir plus d’information à ce sujet. Tout logiciel contenu dans la distribution Red Hat est libre pour les utilisateurs ordinaires. Si, toutefois, vous prévoyez développer des applications commerciales ou désirez redistribuer certains logiciels de la distribution, veuillez d’abord lire les licences et les contrats.

Origines de Linux

Linus Torvalds Etudiant universitaire finlandais en 1991 Créé le noyau « Linux » La conjugaison du noyau Linux aux applications GNU permet l’apparition d’un système

d’exploitation de type UNIX complètement gratuit. Linus annonça linux sur le groupe de nouvelles comp.os. août 1991 : Expéditeur : trovlds@Klaava . Helsinki. FI (Linus Benedict Trovalds) Groupe de nouvelles : comp.os.minix. Objet : Qu’aimeriez-vous le plus obtenir de minix ? Résumé : petit sondage pour mon tout mon tout nouveau système d’exploitation Message-ID : <1991 Aug25.205708.9541@ klaava. Helsinki.FI> Date :25 août 91 20 :57 :08 GMT Organisation :Université d’Helsinki Bonjour à tout les utilisateurs de minix, Je m’affaire actuellement à la création d’un système d’exploitation (gratuit) pour les clones AT 386 (486) ( ce n’est qu’un hobby, le résultat ne sera pas aussi gros et professionnel que GNU). Je mijote cette idée de puis le mois d ‘avril dernier et ça commence à prendre forme. J’aimerais avoir vos commentaires afin de savoir ce que les gens aiment et n’aiment pas de minix car mon système d’exploitation lui ressemble quelque peu (même construction physique du système de fichiers (dû à des raisons pratiques ) notamment). J’y déjà adapté bash (1.08) et gcc (1.40) et tout semble fonctionner. Cela signifie que je devrais obtenir quelque chose de concret d’ici quelques mois et j’aimerais savoir quelles sont les fonctions les plus demandées par les utilisateurs. Toutes vos suggestions ont les bienvenues, bien que je ne puisses vous promettre de les appliquer :- Linus ([email protected] ) P.S : Eh oui ! mon système n’a aucun code minix et a un système de fichiers multichaîne. Il n’est pas adaptable ( utilisation multitâche 386, etc.) et ne prendra probablement jamais en charge autre chose que des disques durs AT car c’est tout ce que j’ai:-(

Linux : Principes de Base Elies JEBRI

Page N° 11

Pourquoi choisir Linux ?

Nouvelle mise en œuvre DES API UNIX Modèle de développement Open Source Prise en charge d’une grande variété de matériel Prise en charge de nombreux protocoles et configurations Complètement pris en charge.

Linux est un système d’exploitation de type UNIX Bien des gens croient, à tort, que Linux sont complètement différent. Au contraire, Linux est aussi semblable à UNIX que les différentes versions d’UNIX Le sont entre elles. Dans l’ensemble, tout ce qu’il est possible de faire avec une autre version d’UNIX peut aussi l’être avec le système d’exploitation Linux, bien que parfois les méthodes puissent varier légèrement.

Multi –Utilisateurs et multitâche L’une des caractéristiques clés de Linux et q’il s’agit d’un système d’exploitation multi-utilisateurs et multitâche. Cela signifie que plus d’une personne peuvent être connectées à un même ordinateur Linux au même moment (évidemment, chaque utilisateur doit travailler sur son propre terminal).Un utilisateur pourrait même être connecté à son compte depuis plus d’un processus (programme) simultanément.

Prise en charge d’un grade variété de matériel Red Hat Linux prend en charge la plupart de produits matériels x 86 moderne compatible PC. Au début, la prise en charge matérielle de Linux, était un problème important, mais au fils des ans, vu l’évolution et la popularité grandissante de Linux, la prise en charge du matériel est devenue l’une des priorités des fournisseurs de matériel.

Complètement pris en charge Red Hat Linux est une distribution complètement prise en charge. Red Hat Inc. Fournit de nombreux programmes de prise en charge pour toutes les sociétés, de la plus petite les sociétés, de la plus petite à la plus grande.

Red Hat Linux Red Hat est une distribution de Linux

Version du noyau Linux la plus récente Utilitaires et applications les plus courants Logiciel d’installation et de configuration Assistance disponible

Chronologie de Red Hat Inc. 1995 – Bod Young et Mark Ewing créent Red Hat Software, In. 1996 – Red Hat Linux 4.0 est nommé système d’exploitation bureau de l’année par InfoWord. 1997 – Red Hat Linux 5.0 est, encore une fois, nommé système d ‘exploitation réseau de l’année

par InfoWord. 1998 – La part de marché de Linux passe de 6,8% en 1996 à 17,2% selon I DC 1999 – Red Hat, Inc. Offre un concours de formation qui permet aux participants d’obtenir la

certification RHCE (Red Hat Certified Engineer). 2000 – La part de marché de Linux augmente et atteint 28%.

Linux : Principes de Base Elies JEBRI

Page N° 12

Matériel requis Processeur de type Pentium ou supérieur 64 Mo de mémoire vive 600Mo- 1,2Go d’espace disque, selon l’utilisateur prévue Lecteur de CD-ROM ou de disquette 31/2 po.amorçable Les CD-ROM Red Hat Linux

cd-ROM Red Hat Linux cd 1 - CD-ROM d’installation amorçable, contenant les paquetages les plus couramment

utilisés ; cd 2 – parquetages complémentaires, pouvant être nécessaires au moment de

l’installation, selon le type choisi ; cd 3 – CD-ROM de documentation ; cd 4 – parquetages RPM source (d’autres parquetages RPM source se trouvent

également sur le cd 2). CD-ROM nécessaires pour l’installation Généralement, seul CD-ROM 1 est requis lors de L’installation de Red Hat Linux. Toute fois, si le CD-ROM 2 est aussi nécessaire, le système vous l’indique. CD-ROM de documentation Ce CD-ROM contient des RPM. Cependant, il n’est pas nécessaire d’installer les RPM de documentation. La façon la plus simple pour lire les informations est d’explorer le CD-ROM à l’aide du navigateur Web. Pour ce faire, ouvrez le fichier index. html qui se trouve sur le CD-ROM. CD-ROM source Red Hat inclut les parquetages RPM source sur les CD-ROM 2 et 4 pour les utilisateurs finaux et pour se conformer à la GPL. Les RPM source contiennent les codes source originaux des autres, les correctifs fournis par Red Hat Inc., de même que les instructions de compilation.

Environnements GUI Linux

Système X WINDOWS Linux standard XFree86 XFree86 3.3.x XFree86 4.0.x GNOME – environnement bureau cohérent basé sur l’ensemble d’outils GTK. KDE – environnement bureau cohérent basé sur l’ensemble d’outils QT.

X Window Le système x Window est la base de l’interface graphique utilisateur(GUI) pour la plupart des fournisseurs versions UNIX. Cependant, bien que x soit la base de l’interface graphique, la différence au niveau de l’apparence et du confort d’utilisation peut être considérable. Cela est dû au fait que x a un très haut niveau configurabilité et, donc, que les fournisseurs choisissent de le configurer différemment les uns des autres.

Le Consortium XTM , un groupe de fournisseurs et d’organisation qui développent et distribue le système x Window, préfère que l’on se réfère à leur produit sous les appellations suivantes : système x Window,x Window ou, tout simplement, x. Notez que Window s’écrit au singulier, soit sans « s » final.

Linux : Principes de Base Elies JEBRI

Page N° 13

Interfaces graphiques cohérentes GNOME (GNU NetWork Objet Model Environnement) est un environnement bureau convivial qui permet à l’utilisateur de configurer et d’utiliser facilement son ordinateur. GNOME comprend une fenêtre dans la plupart inférieure de l ‘écran qui sert à lancer des applications et à visualiser des informations. De plus, GNOM est aussi doté d’un ensemble d’applications d’outils pour le bureau. Enfin, GNOM constitue un ensemble de normes et de conventions pouvant être utiliser par des applications de façon à pouvoir communiquer et être cohérentes entre elles.

KDE est un autre environnement bureau convivial, mais des problèmes concernant la licence de la bibliothèque QT, sous-jacente à KDE, en ont ralenti le déploiement. Toutefois, depuis la fin 2000, la bibliothèque QT fait partie de la GPL.

Linux : Principes de Base Elies JEBRI

Page N° 14

LEÇON 2 Bref aperçu

Objectifs : Bref aperçu de Linux Se familiariser avec les opérations de base Observer les procédures clés en exécution Thèmes abordés : Bref aperçu de Linux Opérations de base Procédures clés

Linux : Principes de Base Elies JEBRI

Page N° 15

Connexions locales

Connexion en mode texte à la console virtuelle Niveau d’exécution 3 Connexion graphique Niveau d’exécution 5

Connexion à un ordinateur local Lorsque vous vous connectez à un ordinateur local (un ordinateur qui se trouve en face de vous), une invite de connexion en mode texte ou graphique, selon le niveau d’exécution de l’ordinateur, apparaît à l’écran. Le système affiche une invite vous demandant votre nom d’utilisateur suivie par une autre invite vous demandant votre mot de passe. Si l’un des deux est entré de façon incorrecte, la connexion échoue et vous devez effectuer à nouveau la connexion. Si les deux sont corrects, la connexion est réussie. Ce qui s’affiche par la suite dépend d’un certain nombre de facteurs. Si votre système est en mode texte, l’invite de commande se termine probablement par un $. Par exemple : Red hat Linux release 7.1 (seawolf) Kernel 2.4.2-2 on an 1686 Localhost login: bkelson Password: Welcome to Linux 2.4.2-22 Bkelson@localhost bkelson] S Notez que votre mot de passe n’est jamais affiché. Pour les systèmes qui démarrent dans X Window, ce qui s’affiche à l’écran dépend du gestionnaire décran utilisé. Le gestionnaire d’écran par défaut de Red Hat Linux est gdm, le gestionnaire d’écran de GNOME. Etude du système de fichiers ls est la commande utilisée pour afficher le contenu du système de fichiers Red Hat Linux utilise « color ls » pour afficher chaque type de fichier d’une couleur différente ls /etc/x11 ls –l /ect/ x11 Fichiers Linux prend en charge différents types de fichiers : Les fichiers normaux, les liens symboliques, les répertoires, les sockets, les conduits, les fichiers de périphériques à blocs et à caractères. La commande ls affiche chaque type de fichier d’une couleur différente. Les chartes de couleurs sont définies dans le fichier /etc/DIR-Colors. Fichiers de périphériques

Linux : Principes de Base Elies JEBRI

Page N° 16

Tous les périphériques sont traités comme des fichiers « spéciaux » Deux types : à blocs et à caractères Enregistrés sous le répertoire /dev ls –1 /dev

Fichiers de périphériques Le fait que Linux accède aux dispositifs matériels à travers des fichiers signifie que l’utilisateur n’a pas besoin le connaître de détails spécifiques concernant le dispositif .Par exemple, le répertoire personnel d’un utilisateur peut se trouver sur le premier lecteur SCSI ou sur la quatrième partition du deuxième lecteur IDE étendu. L’utilisateur n’a pas besoin de connaître ces informations pour accéder à ses fichiers. Linux reconnaît deux types de fichiers spéciaux : les dispositifs à caractères et les dispositifs à blocs. Les dispositifs à caractères interagissent avec leurs dispositifs E/S respectifs, caractère par caractère (ou octet par octet).Le terminal est un exemple de dispositif à caractères.

Périphériques à blocs

Les périphériques à blocs, tels que les disques durs, transfèrent les données en blocs. La dimension des blocs varie de 512 octets à 32 ko. L’utilisateur peut également accéder aux dispositifs à blocs sans suivre d’ordre spécifique.

Périphériques à caractères Les périphériques à caractères, comme les ports série et les modems, transfèrent les données un octet à la fois. Les dispositifs à caractères doivent être lus et écrit dans l’ordre (série). Définition du type Comme nous l’avons déjà vu, la commande ls –l affiche le type de fichier dans la première colonne et la commande file nom de fichier affiche des informations sur le type de fichier. Les dispositifs à blocs et à caractères auront respectivement un « b » et un « c » dans la première colonne.

Processus de Linux

Un processus est une instance d’un programme en exécution Chaque processus : A un ID de processus (PID) S’exécute dans un contexte de sécurité spécifique A un environnement, des fichiers ouverts, une mémoire etc. Les « threads » ressemblent aux processus ps, top, pstree, gtop Le noyau de Linux attribue à chaque processus un unique PID. Les numéros des PID sont compris entre 1 et 32768. Le PID 1 est réservé aux processus init. L’environnement se réfère aux valeurs de différents paramètres variables. Un nouveau processus fils hérite son environnement du processus qui l’appelle ou du processus parent.

Linux : Principes de Base Elies JEBRI

Page N° 17

Shell de la ligne de commande Le shell Linux par défaut est le Bourne Again Shell, appelé bash Il gère les alias, la complémentation des commandes et la comptabilité POSIX De nombreux autres shell disponibles Le Bourne Again Shell Le shell bash fait partie du projet GNU. bash compatible avec le shell Bourne. Ses paramètres généraux sont définis dans /etc/profile et dans /etc/bashrc.

Linux : Principes de Base Elies JEBRI

Page N° 18

Exécution de commandes Les commandes ont la syntaxe suivante nom [options] [ arguments] chaque élément est séparé par une virgule Les options modifient le comportement des commandes Séparez les commandes par un ; Exécution de plusieurs commandes Les commandes se trouvent sur une même ligne doivent être séparées par des points-virgules. Lorsque l’exécution de la première commande se termine, le système exécute la commande qui qui suit. En séparant chaque commande par deux esperluettes (&&), la commande suivante ne sera exécutée que si la commande précédente n’a pas généré d’erreur. Par exemple, la ligne de commande ci-dessous est souvent utilisée pour compiler le noyau Linux :

$ make bzImage && make modules && make modules-install

Définition des options d’une commande Commande - - help La plupart des options ont un équivalent plus long -a, --all man commande par exemple: ls --help man ls

Aide en ligne La plupart des commandes contiennent une aide généralement, en attribuant l’option - - help à la commande en question vous obtenez la liste des options que vous pouvez ajouter à cette commande. Certaines commandes ne prennent pas en charge l’option - - help pour connaître les options de cette dernières, consultez les pages de manuel (man) correspondante.

Linux : Principes de Base Elies JEBRI

Page N° 19

Variables shell et d’environnement

une variable et un espace de la mémoire pouvant contenir une valeur bash peut utiliser les valeurs des variables établies par l’utilisateur Pour afficher les variables d’environnement

env. Pour afficher les variable d’environnement ainsi que les variables shell locales

set Variables d’environnement standard PATH - Chemin vers les commandes exécutables PWD - Chemin vers le répertoire courant TERM - Type de terminal de connexion SHELL - Chemin vers le Shell de connexion HOME - Chemin vers le répertoire personnel USER - Nom de l’utilisateur DISPLAY - Nom de l’afficheur X VISUAL - Nom de l’éditeur visuel EDITOR - Nom de l’éditeur par défaut

UTILISATEURS

Le super-utilisateur (UID) a un contrôle total Les comptes sans privilèges ont des UIDsupérieur à 0 Pour examiner les informations sur l’utilisateur courant id

Un compte d’utilisateur est un compte Linux normal La plupart des utilisateurs Linux ont un compte d ‘utilisateur normal. Les comptes d’utilisateur ont plein accès à leur répertoires et sous-répertoires personnels. Les Comptes d’ utilisateurs ont un accès très limité, voire pas d’accès du tout, aux répertoires du systèmes et aux répertoires personnels des autres utilisateurs. Les utilisateurs appartiennent à un ou plusieurs groupes Un groupe peut avoir un ou plusieurs utilisateurs Et Les fichiers appartiennent à un utilisateur et à un groupe Par défaut, les utilisateurs appartiennent à un groupe qui a le même nom que leur nom de connexion. Outre appartenir à un utilisateur, les fichiers appartiennent aussi à un groupe. Les autorisations d’accès à un fichier peuvent être moins restrictives pour les membres du groupe que pour les autres utilisateurs. Bien évidemment, le propriétaire du fichier est libre de configurer les niveaux d’accès sur n’importe quel paramètre sans se soucier des membres des autres groupes. Le super-utilisateur (ou utilisateur root) a un accès illimité Linux prévoit un compte utilisateur spécial qui joint d’un accès illimité à tous les fichiers et à toutes les commandes. C e type de compte est connu sous le nom de compte super utilisateur et son propriétaire est un utilisateur privilégié. Généralement, les administrateurs système utilisent leur

Linux : Principes de Base Elies JEBRI

Page N° 20

compte normal le plus souvent possible et leur compte root uniquement si indispensable, car il est difficile de remédier à une erreur grave exécutée en tant qu’utilisateur privilégié.

Changement du mot de passe

Les mots de passe devraient être modifiés après la première connexion Entrez ce qui sui dans un terminal : passwd

Choix d’un mot de passe adéquat Au moment de la réception de votre compte, vous recevrez également le mot de passe requis pour la connexion. Modifiez ce mot de passe immédiatement ! Les mots de passe devraient respecter les règles suivantes :

contenir entre 6 et 255 caractères contenir au moins 1 caractère non alphanumérique na pas se baser sur un mot du dictionnaire na pas ressembler à l’ID de connexion les mots de passe sont sensibles à la case

Pour pouvoir changer son mot de passe, l’utilisateur doit entrer le mot de passe courant. Bien évidemment, le mot de passe ne s’affiche pas à l’écran. Pour cela, il doit taper deux fois le nouveau mot de passe pour s’assurer qu’il a été tapé de façon correcte. Le mot de passe peut également être modifié à partir de GNOME. Cliquez avec le bouton droit de la souris dans le tableau de contrôle et sélectionnez System menus/ System/Change Password. Notez que si vous entrez un mot de passe non valide, le système ne l’acceptera pas et affichera un message erreur.

Linux : Principes de Base Elies JEBRI

Page N° 21

Aide en ligne-man

L’utilitaire page de manuel (man) Syntaxe man nom_de_page man -k mot_clé

Le nom de page est généralement une commande ou un fichier Le manuel content huit sections

man La commande man est l’utilitaire Linux standard utilisé pour obtenir des informations en ligne. Certaines commandes sont également expliquées par l’utilitaire info ( décrit à la page suivante). Dans le passé, la commande man affichait les pages appropriées du manuel en ligne, qui étaient identiques à la documentation sur papier fournie avec le système original. Aujourd‘hui, rares sont les fois où les vendeurs fournissent une documentations hors-ligne exhaustive. L’argument de man est généralement un nom de commande ou un fichier de système. La page correspondante est ensuite affichée. L’option –k recherche le mot de passe fournit dans les premières lignes de toutes les pages man et affiche celles qui le contiennent.

Sections de manuel

Commandes de l’utilisateur Appels système Appels à la bibliothèque Fichiers spéciaux Jeux Divers Commandes de l’administrateur

Autres utilitaires d’aides

Info En mode texte avec des sections organisées par thème La commande est info nom_de_section Documentation Red Hat HOWTOs

Autres utilitaires d’aide L’utilitaire info est un système d’aide en mode texte qui contient des informations classées par thème. Certaines commandes emploient info comme principal moyen de documentation (leur page contient un message à cet effet).Pour plus d’information sur info, entrez info à la ligne de commande.

Linux : Principes de Base Elies JEBRI

Page N° 22

Red Had offre une riche documentation sous de texte simple et de page HTML. En lançant Nets cape à partir du tableau de contrôle (ou de ligne de commande en entrant nets cape) le système affiche le début de ces pages. Les progiciels installant leurs fichiers d’aide dans / usr / share / doc. Ces fichiers contiennent des informations supplémentaires rédigées par les autres des paquetages présents sur le système. Outre les sources d’information ci-dessus, la communauté Linux a rédigé de nombreux documents qui expliquent « comment faire » appelés HOWTOs (comment faire en anglais). Ces derniers se trouvent dans le répertoire /usr/share/doc/HOWTO. Il existe un sommaire sous forme de page HTML qui peut être ouvert à l’aide de Netscape file:///usr/share/doc/HOWTO/index.html. Consoles virtuelles

Plusieurs connexions non GUI sont possibles au moyen de consoles virtuelles Les consoles virtuelles disponibles par défaut sont au nombre de 6 Pour afficher une console : CTRL-ALT-F[1-6] Si X est en exécution : CTRL-ALT-F7

Consoles virtuelles Les consoles virtuelles permettent à l’utilisateur d’avoir plusieurs connexions même si ce dernier n’utilise pas se système Linux. Notez que lorsque vous exécutez X Windows, la console virtuelle s’affiche à l’écran au moyen de la combinaison de touches CTRL-ALT-F7. Vous pouvez faire défiler les consoles virtuelles au moyens des touches MAJ+PAGE PRECEDENTE et MAJ+PAGE SUIVANTE. Le tampon servant pour le défilement est stocké dans la mémoire de la carte vidéo. De ce fait, si vous lancez une application graphique comme X, ce tampon est perdu.

Linux : Principes de Base Elies JEBRI

Page N° 23

LEÇON 3 Bases sur le Shell et les Fichiers

Objectifs :

A la fin de cette leçon, Vous saurez… Déplacer et copier des fichiers et répertoires Vous servir des utilitaires de fichiers de base

Thèmes abordés :

Fichiers et répertoires Travailler avec fichiers de texte Utilitaires de fichiers communs

Linux : Principes de Base Elies JEBRI

Page N° 24

Répertoire courant

pwd Affiche le chemin d’accès absolu au

répertoire courant ls

Affiche le contenu du répertoire en cours ou d’un répertoire spécifique

Répertoire en cours Le répertoire courant est précisément le répertoire dans lequel vous travaillez actuellement. Lorsque vous tapez pwd dans la ligne de commande, le chemin d’accès absolu vers votre répertoire courant s’affiche. Pwd sont les initiales de Print Working Directory. Exemple : $ pwd /usr/local/games La commande ls

En tapant ls à la ligne de commande, vous affichiez le contenu du répertoire courant. Pour afficher le contenu d’autres répertoires, tapez ls suivi du répertoire que vous voulez afficher. Exemple : $ ls fungie grantor hoops piemen $ ls / bin dev home lost+found mnt proc sbin usr

boot etc lib misc opt root tmp var

Linux : Principes de Base Elies JEBRI

Page N° 25

Changer de répertoire

La commande cd change de répertoire Par un chemin d’accès absolu : $ cd /home/joshua/work Par un chemin d’accès relatif: $ cd work $ cd ../work $ cd ../../work La commande cd change le répertoire en cours en un répertoire spécifié ou, si vous n’avez spécifié aucun répertoire, en votre répertoire personnel. Les répertoires peuvent être spécifiés au chemin absolu ou au chemin relatif. Un chemin absolu commence toujours par un / qui représente le haut de l’arborescence du système de fichiers. Le changement d’un répertoire en un chemin absolu fonctionnera sans le répertoire en cours. Un chemin relatif dépend du répertoire en cours. Chaque répertoire contient un fichier particulier .. qui représente son répertoire parent. Exemple : $ pwd / usr / local / games $ cd .. $ pwd / usr / local $ cd .. /.. $ pwd / la commande cd peut également être utilisée pour changer le répertoire précédent en tapant cd – de la façon suivant : $ pwd / usr / local / games $ cd / home / joshua $ cd – $ pwd / usr / local / games

Noms de fichiers – EXT2

Les noms de fichiers peuvent contenir jusqu’à 255 caractères – certains

caractères peuvent demander un traitement particulier Les noms de fichiers commençant par un . sont cachés. Les caractères spéciaux peuvent être protégés par des guillemets. Les noms de fichiers reconnaissent les majuscules et minuscules Noms de fichiers : Dans le système de fichiers ext2, le système de fichiers natif de Linux, les noms de fichiers peuvent atteindre 255 caractères. Les noms de fichiers tiennent compte des majuscules et minuscules. Ce qui veut dire que FICHIER n’est pas la même chose que fichier ou Fichier. Il et généralement déconseillé d’utiliser / ,> ,< , ? , * , ,’ , et des caractères non – imprimables dans les noms de fichiers. Pour accéder à un fichier dont le nom du fichier entre guillemets. Exemple : $ cat file name with spaces. txt

Linux : Principes de Base Elies JEBRI

Page N° 26

Fichiers cachés Dans linux, les fichiers cachés sont ceux dont le nom commence par le caractère .. la commande ls utilisée avec l’option –a affichera tous les fichiers, y compris les fichiers cachés, dans le répertoire personnel de Joshua : $ ls – a /home/Joshua .bashrc .bash_ history .bash_ logout

Répertoires du système /bin, /sbin, /usr - Binares de système /var - Logs, fichiers PID, Courier /proc – Fenêtre virtuelle dans le noyau /etc – Fichiers de configuration /lib – Bibliothèques partagées /dev – Fichiers de périphériques FHS Comme la plupart des distributions Linux, Red Hat Linux suit le FHS, ou Filesystem Hierarchy Standard. Le standard donne des instructions sur le type de fichier qui doit être placé dans les différents répertoires du système. Outre les répertoires mentionnés dans la diapositive ci- dessus, /boot et /home méritent d’être cités. /boot contient le noyau et les fichiers nécessaires au démarrage. Le répertoire /home contient tous les répertoires personnels des utilisateurs Vérification de l’espace libre

df -Reporte l’espace disque utilisé par le système de fichiers. Utilise l’option -h pour afficher en kilo-octets, méga-octects et giga-octec

du -Estimation de l’espace utilisé par le fichier. Utilise également l’option -h

La commande df df montre l’espace qu’occupe chaque système de fichiers dans sa partition. Notez l’exemple avec et sans l’option –h :

$ df –h Filesystem Size Used Avail Use % Mounted on /dev/hda5/ 12G 1.2G 10G 10% / /dev/hda1 36M 2.5M 31M 8% / boot $ df Filesystem 1k-blocks Used Avail Use% Mounted On /dev/hda5 12880648 1206420 11019912 10% / /dev/hda1 36566 2476 32202 8% / boot La commande du Du montre l’espace qu’occupe un fichier ou un répertoire. Pour savoir combien D’espace utilise le répertoire en cours, utilisez l’option-s. Si vous ajoutez l’option- H, la sortie sera plus facile à lire. $ du –sh 8.5m

Linux : Principes de Base Elies JEBRI

Page N° 27

Manipulation de fichiers

mv -Déplace ou renomme des fichiers cp -copie des fichiers touch -Crée des fichiers vierges ou actualise la date d’accès au fichier rm -Efface des fichiers Utilitaire de fichiers La commande mv est utilisé pour déplacer et/ou renommer un fichier. Notez les Exemples suivants : Pour déplacer le fichier database du répertoire en cours au répertoire /tmp : $ mv database /tmp Pour déplacer et renommer" workfile "dans le répertoire /tmp : $ mv database /tmp/workfile La commande cp copie les fichiers . La syntaxe est exactement la même que celle de la commande mv. Utilisez l’option – a pour copier un répertoire entier et son contenu, Y compris les sous-répertoire, et pour préserver les temps de modification. La commande touch actualise la date d’accès à un fichier. Si la dernière fois que Vous avez accédé à un fichier il était par exemple à 10 :02 et que vous exécutez la Commande touch sur le fichier à 10 :45, le fichier affichera le dernier accès à 10 :45. Si vous avez exécuté la commande touch sur un fichier inexistant, un fichier vierge Sera créé. La commande rm efface les fichiers. rm n’efface normalement pas les répertoires. Toutefois, si vous l’utilisez avec l’option –rf, elle effacera un répertoire ainsi que Tous les fichiers et sous-répertoires qu’il contient. Prenez garde de ne pas effacer des fichiers dont vous avez besoin avec cette option !

Linux : Principes de Base Elies JEBRI

Page N° 28

Manipulation de répertoires

mkdir -Crée un répertoire rmdir - Efface un répertoire rm -r –Efface un répertoire et son

Contenu Sous Linux, les répertoires sont créés à l’aide de la commande mkdir. Pour créer un répertoire nommé work exécutez : $ mkdir work

Pour effacer un répertoire, utilisez la commande rmdir. Exemple : $ rmdir work

Notez que rmdir effacera uniquement les répertoires vides. Pour effacer un Répertoire et son contenu, utilisez la commande rm –r.

Affiche des fichiers de texte

cat et less sont une façon rapide

D’afficher les fichiers de texte Les commandes head et tail

Affichent les premières lignes et les Dernières lignes des fichiers de texte ( 10 lignes par défaut)

La commande tail La commande tail est habituellement utilisée pour afficher les fichiers d’inscription. Exemple : [root@station1 log # tail messages oct 15 02 :40 :00 station1 CROND [22040] : (root) CMD ( / sbin/rmmod-as ) oct 15 02: 50:00 station1 CROND [22043] : ( root) CMD ( /sbin/rmmod-as ) oct 15 03: 00:00 station1 CROND [22046] : (root) CMD ( /sbin/rmmod-as) oct 15 03: 01:00 station1 CROND[22048] : (root ) CMD ( run-parts /etc/cron. Hourly) oct 15 03: 05 : 22 station1 rhnsd [22052] : running program /usr/sbin/rhn_check oct 15 03: 10 : 00 station1 CROND [22055] : (root) CMD ( /sbin/rmmod-as ) oct 15 03 :20 : 00 station1 CROND [22057] : (root) CMD ( /sbin/rmmod-as) oct 15 03 : 30:00 station1 CROND [22085] : (root) CMD ( /sbin/rmmod-as) oct 15 03 : 32 :49 station1 PAM_unix [22099] : (system-auth) session opened for [ root@station1 log #

Linux : Principes de Base Elies JEBRI

Page N° 29

Editeurs de texte Différents éditeurs sont également disponibles lorsque vous travaillez avec des fichiers de texte. Parmi les plus utilisés figurent vi, pico et éditeur de l’interface grafique GUI, gEdit. Nous en parlons dans les leçons suivantes. Afficher un fichier entier

Syntax : cat [ options ] [ file …] Le contenu des fichiers est affiché par

Séquences sans interruption Affichage des fichiers " reliés"

Option Définition

-A (All). Affiche tous les caractères, y compris les caractères contrôle et non-imprimables. -S (Squeeze). Remplace les multiples lignes vides qui se suivent par une seule ligne vide . Pour voir le fonctionnement de la commande cat, entrez la commande Suivante : cat /etc/profile A moins d’être très rapide, vous avez sans douter du mal à lire les informations parce qu’elles défilent trop vite. La commande cat est plus utile à l’affichage des fichiers courts. D’autres afficheurs sont plus adaptés pour les longs fichiers, comme par exemple less

Afficher le fichiers un ou un en plein écran

Syntaxe : less [options] [filename]

Affiche le contenu d’un fichier de texte un écran après l’autre Option Définition

-c Effacer avant d’afficher. L’écran est rafraîchi au lieu de défiler. -r Afficher les caractères contrôles bruts. (peux causer des problèmes d’affichage.). -s (squeeze). Remplace les lignes vide multiples par une seule ligne vide.

commande de mouvement d’écran pour less commande Action d ou {Ctrl-D} Avance d’un demi-écran {barre d’esp.} Avance d’un écran entier b ou {Ctrl-B} Recule d’un demi-écran {Entrée} Recule d’un écran entier

pico ― Un éditeur de texte simple

pico est un éditeur de texte simple géré par un menu.

Linux : Principes de Base Elies JEBRI

Page N° 30

Utilisez l’option –w Lorsque vous éditez des fichiers de système. Il empêche le retour automatique à la ligne qui interrompt certains de configuration.

pico L’éditeur de texte pico est conçu pour être convivial et facile à utiliser. Toutes les commandes de pico sont énumérées en haut de l’écran. Il est important de souligner que pico interrompt les lignes par défaut, ce qui peut causer des problèmes pour éditer les fichiers de systèmes. Pour désactiver l’interruption des lignes, utilisez l’option –w : $ pico –w / etc/passwd

Globalisation des fichiers (globbing) Globbing est expansion par caractère générique : * - correspond à zéro ou à plusieurs caractère ? – correspond à un seul caractère [ a – z] ― correspond à un ensemble de caractères [ ^ a – z] ― correspond à tous les caractères sauf ceux de cet ensemble

Globbing Lorsque vous entrez une commande, il est souvent nécessaire de l’appliquer simultanément à plusieurs fichiers. L’utilisation des caractères génériques, ou méta-caractères, vous permet d’étendre cette commande à plusieurs noms de fichiers grâce à un processus appelé globbing. Si un répertoire contient par exemple les fichiers suivants : joshua.txt alex.txt angelo.txt gonk..mp3 dax.mp3 Entrer la commande : $ rm *.mp3 revient à entrer : $ rm gonk.mp3 dax.mp3 le résultat de cette commande est que tous les fichiers du répertoire dont le nom termine par l’extension mp3 (dans le cas présent, les deux qui sont énumérés) seront effacés.

Le répertoire personnel

Tous les utilisateurs ont un répertoire personnel qui se trouve habituellement sous / home Contient les fichiers de configuration de l’utilisateur ainsi que ses données. Représenté par la caractère ~

Le tilde peut être utilisé dans la ligne de commande comme synonyme de répertoire personnel ou de celui d’un autre utilisateur. Exemple : l’utilisateur joshua peut se référer à un fichier exemple . txt dans le sous répertoire text de son répertoire personnel comme ~ /text/exemple . txt . Si ce fichier s’était trouvé dans le sous-répertoire text du répertoire personnel dax, joshua aurait pu s’y référer de la façon suivante : ~dax/text/exemple . txt .

Linux : Principes de Base Elies JEBRI

Page N° 31

Fichiers importants étudiés au cours de cette leçon : /bin /sbin /usr /var /proc /etc /lib /dev Commandes importantes étudlés au cours de cette leçon : pwd ls cd df du mv rm touch cp cat less

Linux : Principes de Base Elies JEBRI

Page N° 32

EXERCICES DE LA LEÇON 3 Opération sur les fichiers et les répertoires Durée approximative : 1 heur et demi Objectif : Apprendre à utiliser les fonctions, la syntaxe et l’utilisation de plusieurs

fichiers essentiels et les commandes de façon à accomplir des tâches communes de l’utilisateur.

Configuration de départ : un système Red Hat Linux et fonctionnant, avec un compte utilisateur non privilégié student et comme mot de passe student. Vérifiez avec l’instructeur que le compte ait effectivement été créé sur votre système. Si le compte utilisateur student n’a pas encore été créé, suivez la procédure ci-dessous : Inscrivez-vous sur une console virtuelle en tant qu’utilisateur root. A l’invite, entrez la commande suivante : # useradd student Ensuite, entrez la commande : # passwd student changing password for user student new UNIX password: {Entrez de nouveau student} BAD PASSWORD : it is based on a dictionary word Retype new UNIX password: {Entrez de nouveau student} password : all authentication tokens updated successfully

Linux : Principes de Base Elies JEBRI

Page N° 33

Séquence 1 : organisation de répertoires et fichiers Mise en situation : Des fichiers se sont accumulés dans votre répertoire personnel. Vous avez décidé qu’il est temps de réorganiser les choses . vous voulez crée plusieurs sous répertoire, puis copier et déplacer vos fichiers selon votre nouvelle organisation. Vous avez également des fichiers inutiles que vous décidez d’effacer. Tâche :

Inscrivez-vous dans tty1 comme utilisateur student avec le mode de passe student.

Dés que vous vous êtes inscrit dans le système , vous devriez vous trouvez dans votre répertoire personnel . utilisez la commande "print working directory" pour vous en assurer.

$ pwd /home/student

Utilisez les commendes suivantes pour vérifier que vous avez bien des fichiers dans votre répertoire personnel.

$ ls $ ls -a

$ls -al

Pourquoi les deux premières commandes donnent-elles un nombre de fichiers différent ?

D’après la troisièmes commande, quelle est la taille du plus grand fichier de votre répertoire personnel ? Y a-il des sous répertoire personnel ?

4- Utilisez touch pour créer les fichiers nécessaires à cette séquence, les détails sur le

fonctionnement de l’extension de la commande suivante seront fournis dans une autre leçon . Pour l’instant , entrez la ligne de commande suivante exactement telle que vous voyez ( avec les accolades { } et le tire de soulignement entre les premiers groupes de mots ) . Demandez à votre voisin ou à l’instructeur de vérifier votre commande avant d’appuyer sur entrée . $ touch {report,memo,graph}_{sep,oct,nov,dec}_{a,b,c}{1,2,3}

Utilisez la commande ls pour examiner les résultants de la dernières commande. Vous devriez obtenir

qu’elle a crée 108 nouveaux fichiers vierges ( il n’est pas nécessaire de les compter) dans votre répertoire personnel . Ces fichiers représentent des fichiers de données que vous utiliserez dans le reste de cette séquence . Si pour une raison quelconque vous ne voyez pas ces fichier, demandez à l’instructeur de vous aider. Sans ces fichiers le reste de l’exercice ne fonctionnera pas.

Pour organiser vos fichiers, il faut d’abord crée de nouveaux répertoires . Utilisez mkdir pour

créer des sous- répertoires dans votre répertoire personnel .

$ mkdir "A Reports" $ mkdir septembre octobre novembre december Utilisez à nouveau la pour examiner votre travail

Linux : Principes de Base Elies JEBRI

Page N° 34

7-A l’aide des commandes suivantes, créez des sous –répertoires supplémentaires dans vos nouveaux répertoires . Entrez : $ cd A\ Reports/ ou

$ cd "A Reports"/ pour changer de répertoire. Puis : $ mkdir 1 2 3 utilisez Ls pour vérifiés vous avez trois nouveaux répertoires nommés 1,2 et 3 dans votre sous- répertoire "A Reports". 8. Commencez à déplacer tous les rapports "B" hors de votre répertoire personnel et à les regrouper par mois. Lorsque vous travaillez avec des caractères générique compliqués, il est bon de vérifier l’opération pour vous assurer que vous travaillez avec les bons fichiers. Pour cela, vous pouvez par exemple remplacer votre commande par une inoffensive en utilisant les caractères génériques désirés : $ cd $ ls -1 *dec?b? vous devriez voir les 9 fichiers "b" , " décembre" . Déplacez-les à l’aide de : $ mv *dec?b? december/ Affichez la liste du contenu du sous-répertoire december pour vérifier que l’opération de déplacement a été effectuée correctement : $ ls –l december/ total 0

-rw-rw-r- - 1 student student 0 Oct 16 22: 16 graph-dec-b1 -rw-rw-r- - 1 student student 0 Oct 16 22: 16 graph-dec-b2

-rw-rw-r- - 1 student student 0 Oct 16 22:16 graph-dec-b3 -rw-rw-r- - 1 student student 0 Oct 16 22: 16 memo-dec-b1 -rw-rw-r- - 1 student student 0 Oct 16 22:16 memo-dec-b2 -rw-rw-r- - 1 student student 0 Oct 16 22: 16 memo-dec-b3 -rw-rw-r- - 1 student student 0 Oct 16 22: 16 report-dec-b1 -rw-rw-r- - 1 student student 0 Oct 16 22: 16 report-dec-b2 -rw-rw-r- - 1 student student 0 Oct 16 22: 16 report-dec-b3

9. Déplacez tous les rapports "B" restants dans leur répertoire respectif: $ mv *nov?b? novembre / $ mv *oct?b? october / $ mv *sep?b? september/ 10. Rassemblez ensuite les rapports "A" dans leur répertoire respectif correspondant numéroté : $ cd "A Reports"/ $ mv ˜/*_a1 1/ Les memo "A1" , Septembre sont vieux et inutiles. Effacez-les et vérifiez que les autres fichiers ont été déplacés correctement : $ cd 1 $ rm *sep* $ ls graph _dec_al graph_oct_a1 memo_nov_a1 report_dec_a1 report_dec_a1 graph-_nov_al memo_dec_a1 memo_oct_a1 report_nov_a1

Linux : Principes de Base Elies JEBRI

Page N° 35

11. Déplacez les rapports "A2"et "A3" dans leur répertoire respectif : $ pwd / home/ student/ A Reports /1 Déplacez les fichiers"A2" à l’aide des chemins d’accès relatifs : $ mv ../../*a2* ../2/ Déplacez les fichiers "A3" à l’aide des chemins d’accès absolus : $ mv /home/ student /*a3 * /home/student/ A\ Reports/3/ 12. Revenez à votre répertoire personnel et utilisez ls pour vérifier que seuls les fichiers "c" sont encore dans ce répertoire ( ex . graph_dec_cl, graph_dec_c2,….) 13. Les fichiers rapport"C1"et "C2" pour chaque mois sont importants et vou voulez conserver un exemplaire de sauvegarde de chacun d’entre eux dans un autre répertoire : $ mkdir /tmp/archive $ cp report*[1-2] /tmp/archive/ Vous voulez également conserver un exemplaire de sauvegarde de tous les fichiers de rapport du mois de décembre dans le répertoire /tmp/archive/. Notez l’utilisation de l’option –i pour obtenir l’invité cp avant de réécrire un fichier. $ cp –i report_dec* /tmp/archive/ cp: overwrite / tmp/ archive / report/ -dec –c1 ? n cp: overwrite / tmp/ archive/ report /-dec –c2 ‘ ? n 14. Vous avez un exemplaire de sauvegarde des fichiers "c" qui sont importants. Vous voulez maintenant effacer tous les fichiers restants de répertoire personnel . l’examen de ces fichiers vous révéler que le caractère générique "c" est commun à tout ces fichiers . Pour quoi ne voulez –vous PAS exécuter la commande rm *c* ? ( pour avoir une idée , essayer ls *c* ) 15. Effacez lez fichiers "c" restant dans votre répertoire personnel en tapant : $ rm *c[1-3] $ ls A Reports december november october september Résulats : Un répertoire personnel plus organise et des fichiers places dans les sous – répertoires appropriés. Certains fichiers ont des exemplaires de sauvegarde dans /tmp/archive

Linux : Principes de Base Elies JEBRI

Page N° 36

Séquence 2 : Déterminer l’espace disque Mise en situation : Vous voulez connaître la quantité d’espace libre de chacun des systèmes de fichiers de votre système. Vous voulez obtenir une liste des répertoires qui occuper plus de place dans votre système. Tâches :

Utiliser df pour déterminer la quantité d’espace libre sur chacun de vos systèmes de fichiers. La sortie que vous obtenez devrait ressembler à ceci : (elle pourrait être différente, suivant l’installation de votre système).

$ df File system 1 k – blocks Used Available Use % Mounted on / dev / had 5 12880648 1634344 10591988 14% / / dev / had 1 36566 2476 32202 8% / boot

Notez que l’opération de défaut de la commande df est de rapporte ses informations en blocs. Essayer d’utiliser les options – h et –H pour rapporter le résultat à des dimensions lisibles :

$ df -h File system Size Used Avail Use % Mounted on / dev / had 5 12G 1.6G 10G 14% / / dev / had 1 36M 2.5M 31M 8% / boot $ df -H File system Size Used Avail Use % Mounted on / dev / had 5 13G 1.7G 10G 14% / / dev / had 1 37M 2.6M 32M 8% / boot Quelle est la différence entre les deux commutateurs (Utilisez man df) ?

Utilisez la commande du (disk usage) depuis votre répertoire personnel pour déterminer l’espace qu’occupent vos fichiers. Utilisez l’option –h pour obtenir une sortie plus lisible.

Linux : Principes de Base Elies JEBRI

Page N° 37

Séquence 3 : Examen des fichiers de texte Tâches :

Il nous faut avant tout un fichier de texte à travailler : $ cd $ cp /usr/share/dict/words . Utilisez cat pour afficher le fichier: $ cat words Aarhus Aaron Ababa Aback . . . sortie tronquée . . . Zoroastrian Zulu Zulus Zurich cat n’est pas une excellente solution ici car une grande partie de la sortie défile trop rapidement.

Cette fois, essayer less : $ less words Aarhus Aaron Ababa . . . sortie tronquée . . . abducts Abe abed words less vous permet de revenir en arrière (avec b) et d’avancer (avec la barre d’espacement) dans la sortie, affichant un seul écran à la fois. Si vous devez voir rapidement les premières ou les dernières lignes d’un fichier, vous pouvez

utiliser head ou tail :; $ head words Aarhus Aaron Ababa Aback Abaft Abandon Abandoned

Linux : Principes de Base Elies JEBRI

Page N° 38

Abandoning Abandonment Abandons $ tail words zoologically zoom zooms zoos zorn zoroaster

Zoroastrian Zulu Zulus Zurich Reporte-vous aux pages du manuel concernant head et tail pour découvrir quels commutations utiliser pour modifier le nombre ou l’emplacement des lignes affichées. Quelle commande utiliseriez-vous pour afficher les 50 premières lignes du texte ? Head –n50 words Quelle commande utiliseriez-vous pour afficher les 25 000 dernières lignes ? Tail –n25000 words

Linux : Principes de Base Elies JEBRI

Page N° 39

Linux : Principes de Base Elies JEBRI

Page N° 40

LEÇON 4 Utilisateurs et groupes Objectifs

Comprendre le modèle de sécurité de linux Comprendre les concepts d’utilisateur et de groupe Connaître le but des utilisateurs administratifs Apprendre à changer votre identité

Thèmes abordés

Le modèle de sécurité de linux L’objectif des utilisateurs et des groupes Les utilisateurs et groupes du système Vérification des utilisateurs de votre système Changement de votre identité

Linux : Principes de Base Elies JEBRI

Page N° 41

Utilisateurs

Tout utilisateur permanent d’un système se voit attribuer un code utilisateur (appelé

uid). Les noms d’utilisateur et les uid sont stockés dans le fichier /etc/passwd. Les utilisateurs se voient aussi attribuer un répertoire personnel et un programme (un

Shell) qui est exécuté lorsqu’il se connectent. Les utilisateurs ne peuvent lire, modifier ou exécuter les fichiers des autres

utilisateurs sans permission.

Utilisateurs :

Lorsqu’ils ont été inventés, les ordinateurs étaient énormes et coûtaient extrêmement cher. le concept d’utilisateur a alors été créé afin de permettre à plusieurs personnes de partager ces précieuses ressources informatiques. Enfin, comme linux offre la possibilité d’avoir plusieurs utilisateurs connectés sur un même système au même moment, linux est un système d’exploitation Multi-Utilisateurs.

Multitâche et multi-utilisateurs :

Il arrive que le gens confondent le termes multi-utilisateurs et multitâche. Un système d’exploitation multitâche permet d’exécuté de nombreux programmes simultanément. Ainsi, linux est un système d’exploitation multi_utilisateurs et multitâche. cependant, les systèmes d’exploitations tels que Windows NT 4.0 sont multitâches, mais, comme ils ne permettent qu’à un seul individu de se connecter à la fois, ne soient pas multi-utilisateurs

Linux : Principes de Base Elies JEBRI

Page N° 42

Groupes

Les utilisateurs sont assignés à des groupes ayant un code de groupe unique (appelé gid ). Les gid sont stockés dans le fichier /etc /group. Chaque utilisateur a son propre groupe :

Un utilisateur peut aussi être ajouté à d’autres groupes pour avoir un accès supplémentaire.

Tout les utilisateurs d’un même groupe peuvent partager des fichiers lui appartenant .

Modèle de groupe privé d’utilisateurs Certains utilisateurs ont parfois besoin de collaborer entre eux lors d’un projet. Il est alors possible d’utiliser des groupes pour y parvenir. Ainsi, pour permettre à plusieurs utilisateurs de collaborer ensemble, l’administrateur système crée un nouveau groupe et y ajoute ensuite ces utilisateurs. Par exemple : groupadd workerbess usermod _ G workerbess sue usermod _ G workerbess bob ce sujet est repris de façon plus détaillée à le leçon suivante

Contrôle au l’accès de matériel : Certains groupes contrôlent l’accès aux périphériques du matériel. Par exemple, si l’on veut permettre à l’utilisateur bob d’utiliser le lecteur du disquette , et ce même lorsque bob n’est pas assis à son ordinateur, l’administrateur système ajoute bob au groupe du lecteur de disquette ( floppy). Usermod - G floppy bob

Linux : Principes de Base Elies JEBRI

Page N° 43

Modèle de sécurité de linux

Les utilisateurs et les groupes sont utilisés pour contrôler l’accès aux fichiers et aux ressources du système.

Chaque processus a un propriétaire et ne peut avoir accès qu’aux ressources auxquelles son propriétaire a accès

Chaque fichier du système est la propriété d’un utilisateur et est associé à un groupe Les utilisateurs se connectent au système à l’aide de leur nom d’utilisateur et de leur mot de

passe.

Sécurité Dans son poème mending wall, le poète lauréat robert Frost a écrit « good fences make good neighbors » ! le système d’exploitation linux a pris ce concept très au sérieux. En effet, linux utilise des utilisateurs et des groupes pour ériger des barrières entre les utilisateurs du système à « jouer selon les règles ».

Accès limité Chaque fichier sur un système d’exploitation linux est la propriété d’un utilisateur. De plus, les utilisateurs ne peuvent changer, pas même lire, les fichier des autres sans en avoir la permission . cela signifie que linux est virtuellement immunisé contre les virus informatiques qui ont été le fléau d’autres systèmes d’exploitation.sous Windows TM par exemple ,les utilisateurs ont un accès total à l’ensemble du système d’exploitation, ce qui donne une liberté complète aux destructeurs. 1-« les bonne clôtures font les bons voisins » (traduction non-officielle de la citation). .

Linux : Principes de Base Elies JEBRI

Page N° 44

L’utilisateur root

Tout le système linux possède un compte spécial d’administration : le compte root.

L’utilisateur root est aussi appelé super- utilisateur l’utilisateur root jouit d’un contrôle total sur le système, il doit donc être très

prudent. Vous ne devriez jamais vous connecter en tant que super_utilisateur sans bonne

raison. Les dommages possibles pouvant être provoqués par des utilisateurs normaux (sans

privilèges) sont limités.

Le super-utilisateur L’utilisateur root, aussi appelé super-utilisateur, a un accès illimité à tous les fichiers, périphériques et programmes du système. Il est donc très important que les administrateurs système utilisent un compte utilisateur normal pour effectuer la plupart de leur tâches de travail, afin de protéger le système de dommages provoqués accidentellement. En effet, lorsque l’on travaille depuis un compte utilisateur normal, une commande mal écrite ne peut endommager le système. Toutefois, lorsque l’on travaille en,tant que super-utilisateur, la plus petite faute de frappe lors de l’utilisation de la commande rm ( ou d’autres commandes) peut éliminer de façon permanente tous les fichiers du systèmes .

Linux : Principes de Base Elies JEBRI

Page N° 45

Utilisateurs et groupes du système

Les programmes serveur, tels que les serveurs Web ou d’impression, s’exécutent

généralement en tant qu’utilisateur sans privilèges et non en tant que super-utilisateur.

Exemples : daemon, mail, Ip, no body

L’exécution de programmes de cette façon limite les dommages que chaque programme

pourrait causer au système.

Groupe de système Prenons le groupe games comme groupe de système. Il n’est pas rare, dans le cas des jeux, d’avoir un fichier ou les meilleurs scores sont stockés. En outre, un jeu doit avoir la possibilité de modifier le fichier des scores les plus élevés. Toutefois, pour éviter la tricherie, les utilisateurs, quant à eux, ne doivent pas avoir cette faculté. Pour obtenir ce résultat, il est possible de faire en sorte que le jeu fonctionne sous le groupe games, lui permettant ainsi de modifier le fichier de meilleurs scores. Tous les utilisateurs et les groupes du système ont un nombres uid et gid, allant de 1à 499. Vous trouverez ci-dessous un extrait du fichier/ ect / passwd qui montre quelques utilisateurs du système :

Bin : x : 1 : bin : / bin: Daemon: x: 2: 2: daemon: / sbin: Adm: x: 3: 4: adm:/ var / adm: Mail: x: 8: 12: mail: / var / spool / mail: Ftp: x: 14: 50: FTP User: / var / Ftp: Nobody: x: 99: 99: Nobody: / : Voici un extrait du fichier / etc / group : Bin : x : 1 : root, bin, daemon Daemon: x: 2: root, bin, daemon Sys: x: 3: root, bin, adm Adm: x: 4: root, adm, daemon Tty: x: 5: Disk: x: 6: root Mail: x: 12: mail ftp: x: 50: nobody: x: 99:

Linux : Principes de Base Elies JEBRI

Page N° 46

Commandes d’information sur les utilisateurs

Pour découvrir qui vous êtes :

Whoami

Pour savoir à quel groupe vous appartenez :

Groups, id

Pour savoir qui est connecté :

Who, users, w

Visualisation d’informations sur les utilisateurs Si vous êtes connecté au système sous le nom d’utilisateur bob, vous pouvez découvrir quel est votre nom d’utilisateur à l’aide de la commande suivante : $ whoami bob bob peut ensuite vérifier à quel groupe il appartient : $ groups floppy workerbees Enfin, bob peut aussi visualiser les utilisateurs actuellement connectés au système : $ who biff : 0 oct 13 19 : 36 sue pts / 1 oct 13 19 : 44 bob pts / 3 oct 14 15 : 51

Linux : Principes de Base Elies JEBRI

Page N° 47

Changement de votre identité

Exécutez passwd pour modifier votre mot de passe. Les mots de passe inefficaces sont refusés

par défaut.

Vous pouvez agir en tant qu’autre utilisateur en exécutant

Su [username]

Pour vous connecter en tant qu’autre utilisateur, utilisez

Su - [username]

Devenir un autre utilisateur

Imaginons que bob a besoin de lire le courrier électronique de sue. Il peut alors se servir

temporairement de l’uid sue en exécutant la commande suivante :

$ whoami

bob

$ su – sue

Password

Sue

Bob peut alors lire le courrier électronique de sue car il a temporairement pris son identité et p par

conséquent le même droit d’accès aux fichiers de sue que sue elle-même. Notez que cela n’est

possible que si bob connaisse le mot de passe de sue. Sans le mot de passe de

sue, bob n’a qu’à oublier cette idée.

Linux : Principes de Base Elies JEBRI

Page N° 48

FIN DE LEÇON 4

Questions et réponses

Résumé

Linux fait appel à des utilisateurs et des groupes pour limiter l’accès aux ressources du

système.

Le super-utilisateur ( root ) a le contrôle sans privilèges spéciaux

Les utilisateurs ne peuvent endommager leurs propres fichiers.

Fichiers importants étudiés au cours de cette leçon : / ect / passwd / ect / group Commande importantes étudiées au cours de cette leçon : groupadd groups passwd su usermod who whoami

Linux : Principes de Base Elies JEBRI

Page N° 49

EXERCICES DE LA LEÇON 4 Examen des informations sur les utilisateurs

Durée approximative : 30 minutes Objectif : Se familiariser avec l’utilisation de plusieurs commandes essentielles pour

l’identification des utilisateurs et la commutation entre les comptes

Configuration de départ : un système RED HAT LINUX installé et fonctionnel et avoir complété

les exercices de la leçon 3 . vous devez aussi avoir un compte utilisateur supplémentaire sans

privilèges appelé visitor, dont le mot de passe est visitor. Vérifiez avec votre instructeur si ce

compte a déjà été créé sue votre système. Si le compte utilisateur visitor n’a pas encore été créé,

créez- le en suivant les étapes suivantes :

connectez – vous sue une console virtuelle en tant que super-utilisateur ;

entrez la commande suivante à l’invite :

# useradd visitor

entrez ensuite la commande ci-dessous :

# passwd visitor

changement de mot de passe pour l’utilisateur student NOUVEAU MOT DE PASSE UNIX :

{Entrez visitor ici}

MAUVAIS MOT DE PASSE : basé sur un mot du dictionnaire

Entrez le nouveau mot de passe UNIX encore une fois : {Entrez visitor ici}

Mot de passe : tous les jetons d’authentification ont été mis à jour avec succès

Linux : Principes de Base Elies JEBRI

Page N° 50

Séquence 1 : noms de connexion d’utilisateurs locaux

Tâches :

Déconnectez-vous complètement de votre station de travail. Assurez-vous de bien sortir tous les

terminaux virtuels et du système X window.

Passer au terminal virtuel 1 ( ttyl) en appuyant sur les touches

CTRL-ALT-F1 Connectez –vous à votre station de travail sous le nom root avec le mot de passe redhat.

Visualisez les informations au sujet de ce mot de connexion spécifique. Exécutez les commandes

suivantes :

# whoami

# groups

# id

Examinez le résultat de ces commandes.

Visualisez les informations de tous les noms de connexion sur la station de travail. Ace stade, il ne

devrait y avoir qu’un seul utilisateur connecté au système. Le résultat de ces commandes

devrait donc être un peu plus intéressant plus loin au cours de la séquence.

# users

# who

# w

Examinez le résultat de ces commandes.

Passez au terminal virtuel 2 (tty2) en appuyant sur les touches

CRTL- ALT- F2 Connectez - vous à votre station de travail sous le nom student avec le mot de passe student.

Visualisez les informations au sujet de ce nom de connexion spécifique. Exécutez les commandes

suivantes :

$ whoami

$ groups

$ id

Examinez le résultat de ces commandes

Visualisez les informations de tous les noms de connections existantes sur la station de travail.

$ users

$ who

$ w

Examinez le résultat de ces commandes.

Passez au terminal virtuel 3 ( tty3 ) en appuyant sur les touches

Linux : Principes de Base Elies JEBRI

Page N° 51

CTRL- ALT – F3 Connectez- vous à votre station de travail sous le nom visitor avec le mot de passe visitor.

Visualisez les informations au sujet de ce nom de connexion spécifique. Exécutez les commandes

suivantes :

$ whoami

$ groups

$ id

Examinez le résultat de ces commandes.

Visualisez les informations de tous les noms de connexion sur la station de travail.

$ users

$who

$ w

Examinez le résultat de ces commandes.

Linux : Principes de Base Elies JEBRI

Page N° 52

Séquence 2 : communication entre différents comptes utilisateur

Tâches :

Passez au terminal virtuel 3 ( tty3) en appuyant sur les touches

CTRL – ALT –F3

Exécutez la commande pwd pour déterminer votre répertoire actuel. Identifiez votre chemin

d’accès exécutable de recherche courant. Visualisez vos informations d’utilisateur.

$ id

$ pwd

$ echo $PATH

Inscrivez les résultats ci-dessous:

Id=

Pwd=

$PATH=

Utilisez la commande su sans l’option – pour commuter à l’utilisateur root. Exécutez la commande

pwd pour déterminer votre répertoire actuel. Identifiez votre chemin d’accès exécutable de

recherche courant.

$ su

# id

# pwd

# echo $PATH

Inscrivez les résultats ci-dessous :

Id=

Pwd=

$PATH=

4. Sortez du compte root, revenant ainsi au compte student

# exit

5.Utilisez la commande su sans l’option- pour commuter à l’utilisateur root. Exécutez la

commande pwd pour déterminer votre répertoire actuel. Identifiez votre chemin d’accès exécutable

de recherche courant.

$ su -

# id

# pwd

Linux : Principes de Base Elies JEBRI

Page N° 53

# echo $PATH

Inscrivez les résultats ci- dessous :

Id=

Pwd=

$PATH=

Quelle différence y a-t-il avec l’étape 3 ? Pourquoi ?

6. Déconnectez- vous de tous les shells, locaux ou à distance, que vous avez utilisées au cours de

cet exercice.

Linux : Principes de Base Elies JEBRI

Page N° 54

LEÇON 5 Autorisations d’accès aux fichiers Objectifs

A la fin de cette leçon, vous serez en mesure …. De comprendre la sécurité de fichiers linux ; De contrôler des autorisations d’accès au fichier ; De changer des autorisations d’accès au fichier .

Thèmes abordés

Sécurité de fichiers linux Autorisations d’accès au fichier Autorisations d’accès au répertoire Contrôle et modification d’ autorisations

Linux : Principes de Base Elies JEBRI

Page N° 55

Sécurité des fichiers linux

Chaque fichier est la propriété d’un utilisateur et est associé à un groupe . L’accès un fichier ou un répertoire est dicté par les autorisations de lecture, modification

(écriture )ou exécution activées pour l’utilisateur du fichier, le groupe du fichier et pour les autres utilisateurs .

Catégories d’utilisateurs

Les autorisations d’accès au fichier sont définies pour chacune des trois catégories d’utilisateurs. Celles-ci sont représentées par une lettre :

U – propriétaire du fichier (utilisateur) ; G – autres membres du groupe du fichier ; O- toute autre personne (others / autres ).

Ce qu’il faut bien comprendre c’est que linux divise l’accès au fichier en trois catégories générales : accès pour l’utilisateur d’un fichier, accès pour le groupe d’un fichier et accès pour tous les autres individus .Chacune de ces catégories peut obtenir l’autorisation d’accès au fichier, indépendamment des autorisations accordées aux autres catégories.

Linux : Principes de Base Elies JEBRI

Page N° 56

Types d’autorisation d’accès aux fichiers

R – autorisation de lire un fichier ou de visualiser la liste du contenu d’un répertoire . W- autorisation d’écrire ou de modifier un fichier ou de créer et éliminer des fichiers dans

un répertoire . X- autorisation d’exécuter un programme ou d’accéder aux fichiers d’un répertoire .

Types d’autorisation d’accès au fichier Chaque type d’autorisation standard peut être utilisé pour restreindre l’accès de l’utilisateur d’un fichier, du groupe d’un fichier ou de tout autre utilisateur. Types d’autorisation spéciale

Les exécutables SUID / SGID

Normalement, les processus lancés par un utilisateur sont exécutés dans le contexte de sécurité de cet utilisateur et de son groupe.

Les binaires SUID et / ou SGID établis sur un fichier exécutable l’exécutent dans le contexte de sécurité de l’utilisateur ou du groupe d’utilisateurs propriétaire.

chmod u + s < nom_ de_ fichier > (SUID) chmod 4xxx < nom_ de_ fichier > chmod g + s < nom _ de _ fichier > (SGID) chmod 2xxx < nom_ de_ fichier >

Le mode d’accès Setgid

Normalement, les fichiers créés dans un répertoire appartiennent au groupe par défaut de l’utilisateur.

Lorsqu’un fichier est créé dans un répertoire doté du binaire setgid, il

appartient au même groupe que le répertoire. chmod g+s répertoire chmod 2xxx répertoire

Le bit setuid définit l’identificateur (ID) utilisateur effectif d’un processus sur celui du fichier au moment de l’exécution .Aucun effet sur les répertoires.

Le bit setgid définit l’identificateur (ID) groupe effectif d’un processus sur celui du fichier au moment de l’exécution . Cela a pour effet, dans un répertoire, de forcer tous les fichiers qui

Linux : Principes de Base Elies JEBRI

Page N° 57

y ont été créés à avoir le même groupe que le répertoire sans tenir compte du groupe de leur créateur .

Le bit sticky, appliqué sur des répertoires, empêche les utilisateurs d’éliminer des fichiers qu’ils ne possédent pas .Aucun effet sur les fichiers texte sans mise en forme .

Le sticky bit

Normalement les utilisateurs ayant l’autorisation d’écrire dans un répertoire peuvent effacer tous les fichiers du répertoire quelles que soient les permissions et propriétés de ce fichier.

Si un répertoire est doté du sticky bit, seul le propriétaire d’un fichier

peut effacer ce fichier.

chmod o+t répertoire chmod 1xxx répertoire

Types d’autorisation spéciale Chaque type d’autorisation spéciale peut être utilisé pour modifier le comportement de fichiers ou de répertoires pour l’utilisateur d’un fichier, le groupe d’un fichier ou les autres utilisateur . Le bit setuid peut être un outil très puissant et très dangereux .En effet, si, par exemple, vous appliquez le bit setuid à un programme qui est la propriété du super- utilisateur, chaque fois que le programme est exécuté il se comporte exactement comme si c’était le super-utilisateur qui l’exécutait. Cela est nécessaire pour certains programmes, qui en ont besoin pour fonctionner correctement. Exemple : le programme ping doit avoir le bit setuid root pour envoyer des paquets ICMP standard via le réseau. Les programmes qui ont le bit setuid doivent être analysés en détail afin d’identifier toute brèche à la sécurité, avant de pouvoir s’y fier . Le bit setgid, tout comme le bit setuid, peut être très puissant et devrait être utilisé avec précaution car il peut autoriser l’accès nom intentionnelle aux fichiers et ressources. Il est souvent utilisé pour fournir un accès élevé aux programmes . Par exemple, le programme simulateur de terminal minicom a le bit setgid pour le groupe uucp, afin qu’il ait l’accès aux ports séries de l’ordinateur (qui sont la propriété du groupe uucp ).

Lorsque le bit sticky est utilisé sur un répertoire, généralement / tmp, il empêche tout utilisateur d’éliminer les fichiers des autres utilisateurs.

Linux : Principes de Base Elies JEBRI

Page N° 58

Analyse des autorisations

Les autorisations d’accès au fichier peuvent être visualisées à l’aide de la commande 1s. $1s – 1 /bin/login -rwsr-xr-x 1 root root 39100 Aug 1 00 : 00/ bin / login

Le type de fichier et les autorisations d’accès au fichier sont symbolisés par une chaîne composée de 10 caractères .Analyse des Répertoires

Le premier caractère dans la chaîne d’accès permet de distinguer s’il s’agit d’un

répertoire (d) ou d’un autre type de fichier

Analyse des Répertoires

Le premier caractère dans la chaîne d’accès permet de distinguer s’il s’agit d’un répertoire (d) ou d’un autre type de fichier .

$ ls –ld /bin drwxr-xr-x 2 root root 4096 Aug 3 09 : 02 /bin/

Linux : Principes de Base Elies JEBRI

Page N° 59

Analyse des autorisations utilisateur :

Les caractères 2, 3 et 4 du mode d’accès de la chaîne identifient les autorisations d’acées de l’utilisateur.

$ ls -1 /bin/login

-rwsr- xr –r 1 root root 39100 aug 1 00 : 00 / login / login

Ce fichier peut être lu , modifié et exécuté suid par l’utilisateur. Le «s » mis à la position 4 indique que ce fichier peut être exécuté suid. Un « s » à la position 7 indiquerait plutôt que le fichier peut être exécuté sgid.

Analyse des autorisations Groupe:

Les caractères 5, 6 et 7 du monde d’accès de la chaîne identifient les autorisations du groupe.

$ 1s -l README -rw-rw-- 1 andersen visitor 2948 oct 11 14:07 README

Ce fichier peut être lu et modifié par les membres du groupe visitor, mais ne peut être

exécuté.

Analyse des autorisations Autres utilisateurs:

Les caractères 8, 9 et 10 du mode d’accès de la chaîne identifient les autorisations pour les autres utilisateurs.

$ ls –l README -rw-rw-r-- 1 andersen visitor 2948 oct 11 14:07 README

Ce fichier peut être lu par les utilisateur non-membres du groupe visitor, mais ne peut être

modifié ou exécuté.

Autre exemples L’utilisateur fred est membre des groupes fred et staff L’utilisateur mary est membre des groupes mary, admin et staff

Le fichier fileA est la propriété de l’utilisateur fred et appartient au groupe fred Le fichier fileB est la propriété de l’utilisateur mary et appartient au groupe root Le fichier fileC est la propriété du super-utilisateur (root) et appartient au groupe

staff

Linux : Principes de Base Elies JEBRI

Page N° 60

A la lumière des utilisateurs et fichiers indiqués, les niveaux d’accès suivants peuvent être accordés :

utilisateur fileA FileB FileC fre mary root

u,g,o o u,g,o

O u,g u,g,o

o,g o,g u,g,o

Si fileA a le mode rwxr-xr--, alors les autorisations d’accès pour les utilisateurs sont les suivant :

Lecture modification Exécution fred mary root

oui non oui

oui non oui

oui oui oui

Linux : Principes de Base Elies JEBRI

Page N° 61

Changement des autorisations d’accès

Pour changer les modes d’accès : o chmod [ -R] mode fichier…

Cela a pour effet de changer le mode d’accès des fichier et des répertoires.

Syntaxe chmod Vous pouvez définir chaque mode d’accès à l’aide d’une experssion numérique ou d’une combinaison de lettres indiquant qui à accès au fichier, l’opérateur pour sélectionner les changements d’autorisation à effectuer et une autorisation pour le (s) fichier (s) ou le(s) répertoire (s). Choisissez qui parmi les éléments suivants : Choisissez l’opérateur parmi les éléments suivant : u Utilisateur propriétaire du fichier + Ajoute une autorisation g Utilisateur du groupe du fichier - Elimine une autorisation o Autre utilisateurs = Assigne une autorisation a Tous les utilisateurs choisissez l’autorisation parmi les éléments suivants : r Lecture w Modification x Exécution (ou accès dans le cas des répertoires ) s Activation du bit user ID (à la position 4 ) ou du bit groupId (à la position 7 ) t Bit sticky (pour empêcher tout utilisateur non-propriétaire d’éliminer des fichier d’un répertoire- se met à la position 10) Exemples : Chomd g+w .bash_profile Cette commande donne l’atorisation de modifier . bash_profile au groupe de fichier. Chmod go-rw .bash_profile Cette commande enlève au groupe et aux autres utilisateurs les autorisations d modifier et de lire le fichier. L’une des options très utiles de chmod est – R(récursif). Cette option indique à la commande chmod de traverser une arborescence de répertoires en entier pour changer les autorisations de tous ses fichiers et sous-répertoires.

Linux : Principes de Base Elies JEBRI

Page N° 62

Changement des autorisations : méthode numérique

Fait appel à un nombre de trois chiffres : Le premier spécifie les autorisations Utilisateur ; Le deuxième spécifie les autorisations Groupe ; Le troisième représente les autorisations Autres.

Les autorisations se calculent en additionnant : 4 (pour la lecture) 2 (pour la modification) 1 (pour l’exécution)

Définition numérique du mode d’accès Il est parfois plus simple d’utiliser la méthode numérique de mode d’accès pour changer toutes les autorisations d’un fichier. Par exemple, utilisez la commande ci-dessous si vous souhaitez accorder uniquement les autorosations de lecture du fichier file à l’utilisateur, au groupe et aux autres utlisateurs : Chmod 444 file Si vous désirez accorder les autorisations du lecture, modification et exécution du fichier file au propriétaire, les autorisations de lecture et d’exécution au groupe et ne donner aucune autorisation aux autres utilisateurs, utilisez la commande suivante :

Chmod 750 file

Linux : Principes de Base Elies JEBRI

Page N° 63

Autorisations d’accès aux fichiers par défaut Par défaut, autorisations de lecture de modification pour tous. Un umask peut être utilisé pour retirer des autorisations lors de la création de fichiers. La valeur umask pour les utilisateurs non privilégiés est 002. La valeur umask pour le super-utilisateur est 022. Droits d’accès + umask = 666 pour un fichier ou 777 pour un répertoire.

Sans un umask activé, tout fichier créé a les autorisations 666. Cela signifie que n’importe qui sur le système a l’accès de lecture et de modification à tout nouveau fichier créé. De façon à retirer certaines autorisations nous utilisons un umask. Celui-ci indique la liste des autorisations à retirer. Ainsi, un umask 002 fait en sorte que les fichiers créés aient des autorisations 664. Notez que le privilège d’exécution est toujours refusé pour les fichiers nouvellement créés, et ce peu importe le umask activé. En effet, le privilège d’exécution doit toujours être accordé de façon explicite à un fichier. $ umask 022

Remarquez que lorsque vous définissez votre umask depuis la ligne de commande, votre umask est remis à la valeur par défaut lors de votre connextion suivante, il est donc généralement définit par l’un des scripts d’initialisation bash.

Linux : Principes de Base Elies JEBRI

Page N° 64

FIN DE LA LEÇON 5

Questions et réponses Résumé

Quels sont les trois modes d’accès de base d’un fichier ? Comment pouvez-vous changer les modes d’accès d’un fichier ?

Fichiers importants étudiés au cours de cette leçon : Commandes importantes étudiées au cours de cette leçon : Is chmod umask

Linux : Principes de Base Elies JEBRI

Page N° 65

EXERCICES DE LA LEÇON 5 Autorisations d’accès aux fichiers

Durée approximative : 30 minutes Objectif : Se familiariser avec les fonctions, la syntaxe et l’utilisation de plusieurs

commandes essentielles de changement d’autorisation et les façons de combiner ces commandes pour accomplir des tâches utilisateur courantes.

Configuration de départ : Un système installé et fonctionnel ayant un compte utilisateur précédemment créé, appelé student.

Séquence 1 : exercices pour définir des autorisations d’accès au fichier UNIX Tâches :

Quels sont les équivalents symboliques (ex. : rwxr-x-r-x) des autorisations 644,755,000 ;711,700,777,555,705,111,600 et 731 ? 644 : ……………… 755 : ………………

000 : ……………… 711 : ……………… 700 : ……………… 777 : ……………… 555 : ……………… 705 : ……………… 111 : ……………… 600 : ……………… 731 : ………………

Imaginons un fichier ayant les autorisations 755. A l’aide de quelles commandes pourriez-vous changer ces autorisations pour obtenir --xr---w- ?

Chmod 142 fichier

Vous venez tout juste d télécharger un fichier exécutable fiable depuis Internet. Quelle étape devez-vous accomplir avant de pouvoir l’exécuter ? Indiquez deux façons différentes d’accomplir cette étape.

source ./exécutable . ./exécutable

Imaginons que vous avez une arborescence de répertoires appelée /home/student/archives composée de centaines de branches et de sous-répertoires contenant de nombreux fichiers. Actuellement, tous les fichiers et répertoires ont des autorisations 700. Maintenant, vous décidez de mettre cette archive à la disposition d’autre utilisateurs via le web, mais devez d’abord changer les autorisations de façon à ce que le serveur web exécuté en tant qu’utilisateur apache puisse y avoir accès. Comment pouvez-vous changer les autorisations en une seule commande à l’aide de chmod ?

chmod –R g+rx, o+rx /home/student/archives

Linux : Principes de Base Elies JEBRI

Page N° 66

Séquence 2 : utilisation de umask pour définir les autorisations par défaut d’un fichier nouvellement créé

Tâche :

connectez-vous sur votre station de travail et obtenez une invite du shell.

Visualisez votre umask courant.

$ umask Créez plusieurs fichiers et répertoires, puis visualisez leurs autorisations. $ touch umtest1 $ touch umtest2 $ mkdir umtestdir1 $ ls –l um* Avant de poursuivre et de visualiser les autorisations, à quoi pensez-vous qu’elles ressembleront ? $ ls –l um*

*** Fin de la séquence 2 ***

Linux : Principes de Base Elies JEBRI

Page N° 67

LEÇON 6 Le système de fichier Linux

Objectifs

Principe de base du système de fichier Linux Ext3 Monter du matériel mobile Utiliser find Comprimer et archiver des fichiers

Concepts de hiérarchie des fichiers linux

Les fichiers et répertoires sont organisés dans une arborescence inversée à racine unique Les noms de fichiers sont sensibles à la casse ( distinction miniscule/majuscule) / est le point de départ de l’arborescence du système de fichier linux Chaque shell et processus de système a un « répertoire en cours »

Répertoire de système linux

/bin Utilisé pour stocker les commandes de l’utilisateur. Le répertoire /usr/bin stocke également les commandes de l’utilisateur

/sbin Emplacement de nombreuses commandes de système, telles que shutdown. Le répertoire /usr/sbin contient également de nombreuses commandes de système

/root Le répertoire personnel du super-utilisateur root /mnt Ce répertoire contient traditionnellement les points de montage pour les systèmes

de fichiers montés après le démarrage du système /boot Contient le noyau et d’autre fichiers utilisés pour la mise en route du système lost+found Utilisé par fsck pour placer les fichiers orphelins (fichiers sans nom) /lib Contient de nombreux fichiers de bibliothèques utilisés par les programmes dans /bin et

/sbin. Le répertoire /usr/sbin contient plus de fichiers de bibliothèques /dev stocke des fichiers de périphériques /etcContient de nombreux fichiers et répertoires de configuration /var Pour les fichiers « variables » comme les fichiers d’inscription et le printer spool /usr Contient des fichiers et répertoires directement liés aux utilisateurs du système /proc Un système de fichiers virtuel contenant les informations de système utilisées par

certains programmes /tmp est un « scratch pad » pour les utilisateurs et programmes et comprend un accès

global de lecture/écriture /home Emplacement typique des répertoires personnels de l’utilisateur

Détails sur le système de fichier ext3

Linux : Principes de Base Elies JEBRI

Page N° 68

Superblocs ext3 Lorsqu’un système de fichier ext3 est crée, le metadata (nom de volume, UID, compte inode,compte bloc, compte des blocs réservés, emplacement du groupe de bloc, etc…) spécifique du système de fichier est stocké dans un superbloc. Cette donnée est essentielle pour l’opération du système de fichier. C’est pourquoi des copies du système de fichiers superbloc sont crées ( par exemple tous les 8192 blocs pour les petits systèmes de fichier). La commande dumpe2fs peut être utilisée pour afficher une grande partie des données stockées dans le superbloc d’un système de fichiers. Inodes ext3 Les inodes se comportent comme des cartes ou descriptions des données contenues dans les différents blocs du système de fichiers. Les inodes ne stockent pas les données d’un fichier, mais elle contiennent les informations le concernant. La commande stat peut être utilisée pour afficher une grande partie des données stockées dans l’inode concernant un fichier. Il est à noter que stat reporte le nom du fichier, mais le nom du fichier n’est pas stocké dans l’inode du fichier. Il est stocké comme une donnée dans l’entrée du répertoire. Ls –i montre les numéros d’inode de chaque fichier du répertoire en cours

Liens physiques Les liens physiques permettent en effet à un fichier d’avoir deux noms ou plus. Ls –l indique le nombre de liens physique que possède un fichier dans la deuxième colonne. Lorsque le nombre de liens du fichier atteints zéro, le fichier est effacé. Les liens physiques ont les restrictions suivantes :

Le fichier et le nom de son lien doivent faire partie du même système de fichiers Il ne peut pas y avoir de lien physique entre les répertoires

Syntaxe $ ln nomdefichier nomdelien

Liens symboliques A la différence du lien physique, le lien symbolique est un type de fichier qui stocke le nom du fichier auquel il se rapporte. Les liens symboliques peuvent s’étendre à travers différents systèmes de fichier et se rapporter à des répertoires. Les permissions des liens symboliques sont toujours en mode 777. Syntaxe $ ln –s nomdefichier nomdelien

Monter du matériel mobile Montage manuel

Linux : Principes de Base Elies JEBRI

Page N° 69

Avant d’accéder aux données d’un nouveau matériel mobile, le(s) système(s) de fichiers du média doit/doivent être monté(s). Exemples : $ mount -t vfat /dev/fd0 /mnt/floppy $ mount /mnt/floppy $ mount –t iso9660 /dev/cdrom /mnt/cdrom $ mount /mnt/cdrom Le materiel mobile doit être démonté avant d’être éliminé avec umount Exemple : $ umount /mnt/cdrom Montage à l’aide de autofs Si vous utilisez les options de montage pré-définie contenues dans les fichiers de configuration par défaut /etc/auto.master et /etc/auto.misc, le démon d’auto-montage contrôlera ces répertoires magiques et montera automatiquement le système de fichier lorsque vous accèderez au répertoire.

La commande find Syntaxe : $ find [chemin] [options] [expression]

La commande find permet de localiser tous les fichiers correspondant à un critère de fichier ou nom particulier. La commande find peut être encore plus puissante si elle est combinée avec les options suivantes : -atime +n, -n Trouve les derniers fichiers auxquels on a accédé il ya plus de ou moins de n

jours -mtime +n, -n Trouve les fichiers modifiés il y a plus de ou moind de n jours -name pattern Trouve les fichiers dont le nom correspond à pattern -size n[c] Trouve les fichiers contenant n blocs, ou, si c est spécifié, n caractères -type c trouve les fichiers de type c. c peut être b(fichier spécial bloc), c(fichier spécial

caractère), l(lien symbolique), ….

Trouver et traiter les fichiers Syntaxe : $ find dir_list [options] -exec cmd {} \;

Les fichiers « trouvés » sont passés par cmd comme des paramètres. Le commutateur –exec peut exécuter une commande sur chaque fichier « trouvé »

Linux : Principes de Base Elies JEBRI

Page N° 70

Archivage des fichiers Créer une archive Syntaxe : $ tar cvf fichiers nom_archive c : crée une nouvelle archive v : produit des messages verbeux f archive_name : est le nom du nouveau fichier

Exemple : $ tar cf /dev/fd0 ~ $ tar cvf myHome.tar ~ $ tar cvf work.tar .bash_profile /tmp

Examiner les archives Syntaxe : $ tar tf nom_archive.tar $ tar tvf nom_archive.tar Affiche une liste de tous les fichiers contenus dans l’archive

Extraire une archive Syntaxe : $ tar xvf nom_archive.tar L’archive sera extraite dans le répertoire en cours. Les fichiers gardent leur hiérarchie relative au répertoire en cours.

Compression des fichiers Utilitaires de compression * gzip, gunzip Utilitaire de compression Linux standard, il comprime les fichiers de texte jusqu’à 75%

Linux : Principes de Base Elies JEBRI

Page N° 71

* bzip2, bunzip2 L’utilitaire de compression Linux le plus récent, il effectue en général de meilleures compressions que gzip. * tar Les archives tar sont souvent comprimées. La commande tar peut comprimer/décomprimer les archives en utilisant le commutateur z pour la compression gzip et j pour la compression bzip2 Exemple : $ tar czf smallhome.tgz ~ $ tar cjf smallhome.tbz ~

Exercice de la leçon 6 Principe de base du système de fichiers Linux Durée approximative : 1 heure et demi Objectif : Développer une meilleure connaissance des principes de base du système de fichier Linux : Créer et utiliser des liens, utiliser find, archiver et compresser des fichiers.

Séquence 1 : Créer et utiliser des liens Tâche :

Dans un exercice précédent, vous avez copié le fichier /usr/share/dict/words dans le répertoire personnel de l’utilisateur « student » en tant que ~/words. Dans ce cas, vous n’aviez pas eu besoin d’éditer le fichier. Faire une copie du fichier dans votre répertoire personnel fournissait un accès facile au fichier à utiliser dans l’exercice. Nous aurions pu faire la même chose en utilisant un lien.

Pour éviter la confusion entre l’original et la copie, effacer la copie de words dans le répertoire personnel student : $ cd $ rm words

Vous ne vous en étiez aperçu à ce moment-là, mais le fichier /usr/share/dict/words auquel vous

vous référiez dans votre opération de copie était un lien symbolique. Affichez le contenu de /usr/share/dict pour voir le lien et le fichier auquel il se réfère : $ ls –l /usr/share/dict

Comment pouvez-vous dire que words est un lien symbolique ? Le caractère « l ». Pourquoi le champ de la taille du fichier words est-il établi à 11 ? La taille d'un lien symbolique est la longueur de la chaîne représentant le chemin d'accès

qu'il vise, sans le caractère NUL final.

Linux : Principes de Base Elies JEBRI

Page N° 72

La chaîne de permissions pour words permet l’accès total à tous. Quel impact cela a-t-il sur le fichier linux.words ? Les utilisateurs non root peuvent-ils utiliser le lien pour écrire des données dans linux.words ?

Le droits d’accès du lien ne concerne pas le fichier original. Afficher encore les fichiers ainsi que leur inode respective. Les deux fichiers ont-ils la même

inode ? Non

$ ls –i /usr/share/dict

Ensuite, créez un lien symbolique (soft link) et un lien physique (hard link) dans votre répertoire personnel vers /usr/share/dict/linux.words :

$ ln –s /usr/share/dict/linux.words soft $ ln /usr/share/dict/linux.words hard

Vérifiez que vos nouveaux liens fonctionnent vers les données de linux.words:

$ head hard soft

Examinez les liens que vous avez créés à l’aide des commandes suivantes, puis répondez aux questions.

$ ls -il hard soft $ stat hard soft Taille de fichier reportée de hard ……….. et soft ……………. Nombre réel de blocs de données utilisés par hard……………et soft……… Comment expliquez-vous la différence entre les blocs utilisés par les deux liens ? Compte de lien pour les hard…………. Et soft …………… Propriété (UID/GID) des hard …………..et soft ……………. Le fichier hard n’a qu’un utilisateur racine et les autres utilisateurs ont un accès en lecture seule. Student peut-il effacer ce nouveau fichier ? Pourquoi ?

Pouvez-vous créer un lien symbolique vers un fichier destination qui n’existe pas ? La sortie de ls vous donne-t-elle des indications à ce propos ?

Pouvez-vous créer un lien physique vers un fichier destination qui n’existe pas ? Pourquoi ? Pouvez-vous créer un lien physique vers un lien symbolique ? Que ce passe-t-il si vous essayez ?

Il sera un lien soft vers le même fichier original pointé par le lien symbolique. Après avoir créé plusieurs liens physiques, y a-t-il un moyen de déterminer quel est le « vrai »

fichier ? Cette question a t-elle un sens ?

Séquence 2 : Archiver et compresser Mise en situation : Le disque dur primaire de votre système fait du bruit chaque fois que vous l’utilisez. Vous pensez qu’il est sur le point de mourir et d’emprunter avec lui vos données les plus importantes. La dernière fois que vous avez fait un exemplaire de sauvegarde de votre système remonte à deux ans et demi. Vous décidez donc d’effectuer maintenant un exemplaire de sauvegarde de quelques uns de vos fichiers les plus importants. Le répertoire /tmp est stocké dans une partition d’un disque physique autre que celui

Linux : Principes de Base Elies JEBRI

Page N° 73

qui est entrain de mourir ; C’est donc là que vous allez temporairement stocker vos fichiers. Veiller cependant à ne pas y laisser vos données principales trop longtemps, car tmpwatch efface les fichiers de /tmp qui n’ont pas été manipulés depuis 10 jours. Tâches :

Utilisez find pour trouver tous les fichiers de /home dont le propriétaire est student, puis passez ces noms de fichiers dans tar pour les ajouter dans une archive tar de /tmp :

$ find /home -user student -exec tar rvf /tmp/backup.tar {} \;

Stockez le contenu de /etc dans une autre archive tar de /tmp:

$ tar cvf /tmp/confbackup.tar /etc

Affichez les deux nouveaux fichiers puis notez leur taille :

$ ls -lh /tmp/*.tar Taille de votre fichier backup.tar………… Taille de votre fichier confbackup.tar…………

Utilisez gzip pour comprimer vos archives. Notez les nouvelles tailles :

$ cd /tmp $ gzip *.tar $ ls -lh *tar* Taille de votre fichier backup.tar.gz………… Taille de votre fichier confbackup.tar.gz…………

Décomprimez les fichiers, puis recomprimez-les à l’aide de bzip2, et notez les nouvelles tailles :

$ gunzip *.gz $ ls -lh *tar $ bzip2 *tar $ ls -lh *tar* Taille de votre fichier backup.tar.bz2………… Taille de votre fichier confbackup.tar.bz2…………

Sur un système traditionnel UNIX, les deux étapes de l’archivage à l’aide de tar puis la compression de l’archive seraient deux opérations séparées, comme vous avez fait dans les étapes précédentes. Sur un système Linux muni de la commande tar GNU, le fichier tar peut être filtré automatiquement par de nombreux programmes de compression au cours de la création du fichier. Essayez d’accomplir les étapes suivantes. Les commandes tar afficheront quelques messages d’erreur car les utilisateurs non-privilégiés n’ont pas accès en lecture seule à certains fichiers de /etc. Vous pouvez les ignorer dans cet exercice.

$ rm confbackup.tar.bz2 $ tar cfz test1.tgz /etc

Linux : Principes de Base Elies JEBRI

Page N° 74

$ tar cfj test2.tbz /etc $ file test*

Linux : Principes de Base Elies JEBRI

Page N° 75

LEÇON 7 Entrée/sortie standard et “pipes”

Objectifs :

Comprendre les canaux E/S standard Comprendre la redirection de fichier

Comprendre les « pipes »

Thèmes abordés :

Canaux E/S standard Redirection de fichier

« pipes »

Linux : Principes de Base Elies JEBRI

Page N° 76

Entrée et sortie standard

Linux offre trois canaux E/S aux processus : entrée standard - clavier par défaut ; sortie standard – fenêtre du terminal par défaut ; erreur standard - fenêtre du terminal par défaut.*

canaux E/S standard on fait parfois référence à ces canaux sous forme abrégée : stdin (flot ou canal), stdout (1) et stderr (2). Le fait d’avoir deux canaux de sortie permet de séparer les messages d’erreur et la sortie normale est affichée à l’écran. Il s’agit là d’une caractéristique standard des systèmes d’exploitation de type UNIX, pouvant s’avérer un outil très puissant.

Redirection de l’entrée et de la sortie

L’entrée, la sortie et l’erreur standard peuvent être redirigées vers différents emplacements.

Les opérateurs de redirection du shell permettant aux canaux E/S standard d’être redirigés vers, ou depuis, un fichier.

Les « pipes » permettent aux canaux E/S standard d’être connectés à l’entrée ou à la sortie des programmes.

Redirection de fichier et « pipes » On utilise aussi bien la redirection de fichier que les « pipes » pour manipuler les canaux E/S standard. Toutefois, il est important de se rappeler la grande différence entre les deux : les « pipes » sont utilisé pour envoyez la sortie d’un programme vers un asutre programme, afin d’y servir d’entrée.

Opérateurs de redirection couramment utilisés

Opérateur Fonction Description > Commande >fichier Dirige la sortie standard vers un fichier >> Commande>> fichier Ajoute la sortie standard à la fin d’un fichier < Commande <fichier Reçoit l’entrée standard depuis un fichier 2> nom de fichier Canal d’erreur Redirige le canal d’erreur de la sortie

habituelle vers nom de fichier

Linux : Principes de Base Elies JEBRI

Page N° 77

Redirection de la sortie Utilisez la commande find pour étudier la redirection de sortie et d’erreur standard. find/etc -name passwd Cette commande permet de rechercher tous les fichiers appelés passwd dans le répertoire / etc et

ses sous-répertoires. Par défaut, la sortie et l’erreur standard sont toutes deux affichées à l’écran.

Exemple de sortie [ bob@ station 2 guru]$ find /etc –name passwd /etc / passwd find : /etc/default :Permission denied /etc/pam.d/passwd [ bob@ station2 guru]$ Redirection de la sortie standard

Redirection la sortie stand à laide de Par exemple : Redirection de la sortie standard vers un fichier :

Find /etc -name passwd > findresult Dan ce cas, l’erreur standard s’affiche encore à l’écran. Exemple de sortie lorsque la sortie standard est redirigée vers un ficher et que l’erreur standard est affichée sur le terminal : [bob@ station2 guru]$ find /etc –name passwd > findresult find: /etc /default: Permission denied [ bob@ station2 guru]$ cat findresult /etc /passwd /etc /pam.d /passwd [ bob@ station2 guru] $

Linux : Principes de Base Elies JEBRI

Page N° 78

Ecrasement ou ajout Si le ficher cible de la redirection de ficher à l’aide de « > » existe déjà, celui-ci est écrasé. Utilisez « >> »pour ajouter les données à un fichier existant, au lieu de « > ».

Redirection de la sortie et création/écrasement du fichier ou tupt

[bob@station 2 guru] $ find /etc –name passwd > output find : /etc /default : Permission denied

Redirection de sortie et ajout des données au fichier output [bob@station 2 guru] $ find /etc –name passwd > output find : /etc /default : Permission denied visualisation du fichier output [bob@station 2 guru] $ cat output /etc /passwd /etc /pam.d /passwd /etc /passwd /etc / pam.d/passwd

Redirection de la sortie et écrasement du fichier ouput [bob@station 2 guru] $ finnd /etc –name passwd > output find : /etc /default : Permission denied

Visualisation du fichier ouput [bob@station 2 guru] $ cat output /etc /passwd /etc /pam.d /passwd [bob@station 2 guru] $.

Redirection de l’erreur standard

Redirigez l’erreur standard à l’aide de « 2> » Par exemple :

Redirection de la sortie standard vers un fichier : find / etc – name passwd 2> finderrors

La sortie standard est affichée à l’écran. Redirigez toute autre erreur standard, en l’ajoutant au même fichier, à laide de « 2>> ».

Redirection de l’erreur standard vers le fichier finderrors bob@station2 guru $ find /etc–name passwd 2> finderrors /etc/passwd /etc/pam.d/passwd

Linux : Principes de Base Elies JEBRI

Page N° 79

Visualisation du fichier finderrors [bob@station2 guru] $ cat finderrors fin: / etc / default: permission denied [bob@station2 guru]$ Redirection d’autres erreurs standard vers le fichier finderrors [bob@station2 guru] $ find / tmp –name passwd 2>> finderrors visualisation du fichier finderrors [bob@station2 guru] $ cat finderrors find: /etc/default: Permission denied find: /tmp/orbit-root: Permission denied

Redirection de la sortie et de l’erreur standard

Il est possible de rediriger la sortie et l’erreur standard simultanément : Find / -name passwd 2>errs > results

Chaque canal E/S peut être redirigé vers des fichiers différents ou vers le même

fichier : Find / -name passwd > alloutput 2> & 1 (ou) find / -name passwd & >alloutput

Redirection de l’erreur standard vers le fichier errs et redirection de la sortie standard vers le fichier results [bob@ station2 guru] $ cat errs find : /etc/ default : Permission denied Visualisation du fichier results [bob@station2 guru] $ cat results /ect/passwd /etc/pam.d/passwd redirection de l’erreur et de la sortie standard vers de fichier alloutput [bob@statuib2 guru] $ find etc –name passwd > alloutput 2>&1 Visualisation du fichier alloutput [bob@station2 guru] $ cat alloutput /ect/passwd find : /etc/ default : Permission denied /etc/pam.d/passwd [bob@station2 guru] $

Linux : Principes de Base Elies JEBRI

Page N° 80

Redirection de l’entrée

Redirection de l’entrée standard à l’aide de « < ». Certaines commandes ne fonctionnent qu’avec une entrée standard.

Tr n’accepte pas les noms de fichier comme argument – son entrée doit être redirigée à partird’un autre endroit :

Tr ׳A-Z׳ ׳a-z׳ < .bash profile Cette commande transforme les caractères majuscules copris dans .

bash_profile en caractère minuscules. Exemple de sortie [bob@station2 guru] $ tr ׳A-Z׳ ׳a-z׳ <.bash_profile # .bash_profile # get the aliases and functions if [- f ~ /.bashrc ]; then . ~/.bashrc fi # user specific environment and startup programs path=$path:$home/bin bash_env=$home/.bashrc username="" export username bash_env path [bob@station2 guru]$

Utilisation de « pipe » pour connecter des processus

Les « pipe » (caractère | ) vous permettent de rediriger la sortie d’une commande, de façon à ce qu’elle devienne l’entrée d’une autre commande : $ Is /usr/mib | less

Ils permettent aussi de créer des pipelines, une fonction puissante d’UNIX: $ cut – fl – d : passwd | sort – r | less

Voici deux des principes de base de la philosophie d’UNIX: faire de petits programmes qui exécultent bien une fonction précise et s’attendre à ce que la sortie de tout programme puisse devenir l’entrée d’un autre programme, qu’il soit connu ou non à ce moment. L’utilisation de pipelines vous permet de tirer parti des effets de ces deux principes, afin de créer des chaînes de commande extrêmement puissantes pour obtenir les résultats désirés. La plupart des programmes à ligne de commande qui agissent sur les fichiers peuvent aussi accepter une entrée sur l’entrée standard et une sortie sur la sortie standard. Enfin, certaines commandes, telles que tr, n’ont été créées que dans le but d’agir au sein d’un pipeline (elles ne peuvent agir directement sur des fichiers). Exemple de sortie [bob@station2 man] $ pwd /usr/share/man [bob@station2 man] $ Is –C | tr ׳ a-z׳ ׳ A-Z ׳ MAN1 MAN3 MAN5 MAN7 MAN9 PT_BR WHATIS MAN2 MAN4 MAN6 MAN8 MANN TMAC.H [bob@station2 man] $

Linux : Principes de Base Elies JEBRI

Page N° 81

tee vous permet d’appliquer la commande tee à un pipeline, soit de rediriger une sortie vers un

fichier tout en continuant l’action du pipeline vers un autre programme. $ Ispci-v | tee Ispci. out | Less

Dans cet exemple, la sortie de Ispci est écrite dans le fichier Ispci. Out alors qu’elle est aussi conduite vers less.

Utilisation de tee La commande tee est très utile pour enregistrer la sortie à différents stades d’une longue chaîne de pipes. Par exemple : $ command |tee stagel1.out | tee stage2.out | uniq - c| tee stage3.out | sort – r | tee stage4.out | more

Linux : Principes de Base Elies JEBRI

Page N° 82

LEÇON 8

Traitement de chaînes Objectifs :

Explorer des nombreux utilitaires de traitement de chaînes disponibles sous Red Hat Linux

Thèmes abordés :

Head/tail Wc Grep/expressions régulières de base sort diff cut uniq paste tr aspell

Linux : Principes de Base Elies JEBRI

Page N° 83

Head

affiche les premières lignes (10pardéfaut) de texte d’un fichier. Head /tmp/output-txt Utilisez les paramètres –n ou - -lines Pour modifier le nombre de lignes affichées Head -n 20 /tmp/output.txt

Head est utilisé pour n’afficher que les premières lignes d’un fichier-le nombre de lignes par défaut est 10 $head /etc/passwd root : x :0:0:root:/bin/bash bin :x : 1:1:bin :/bin: daemon: x:2:2:daemon:/sbin: adm: x:3:4:adm:/var/adm: 1p:x:4:7:lp:/var/spool/lpd: spnc:x:5:0:sync: /sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt :x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail: news:x:9:13:news:/var/spool/news: l’option- nspécifie le nombre de lignes à afficher- $ head -n 3 /etc/passwd root : x :0 :0 root:/root:/bin/bash bin :x :1 :1 :bin:/bin: daemon:x:2:2:daemon:/sbin:

Tail

Affiche les dernières lignes(10pardéfaut) de texte d’un fichier. Tail /var/.org/messages Utilisez les paramètres –n ou – lines pour modifier le nombre de lignes affichées Tail -n 20 /var/log/maillog La commande tail est utilisée pour afficher les dernières lignes D’un fichier0 le nombre de lignes par défaut est 10 tail est souvent utlisé par l’administrateur système pour lire les entrées les plus récentes des fichiers journaux. # tail / var / log /cron root (10/13-08 :20 :00 –659 ) CMD ( /sbin / rmmod -as ) CRON ( 10 /13 -10:54:37-422) STARTUP (fork ok ) CRON (10/13-14:36:26-422) STARTUP (fork ok ) Root (10/13-14:40:00-661) CMD ( /sbin/ rmmod - as ) CRON (10/13-17:53:08-422 ) STARTUP (fork ok) Root (10/13/-18 :01:00-658) CMD (run-parts /etc/ cron .hourly ) CRON (10/15-13 :14 :45-422) STARTUP (fork ok) CRON (10/15-13 :45:56-422) STARTUP (fork ok ) Root (10/15-13:50:00-781) CMD ( /sbin /rmmod –as)

Linux : Principes de Base Elies JEBRI

Page N° 84

Linux : Principes de Base Elies JEBRI

Page N° 85

Tail ( suite)

Utilisez – f pour suivre la fin d’un fichier de texte en cours de modification. tail –f / var /log/ httpd /error – log Très utile pour contrôler les fichiers journaux.

Lorsque vous utilisez l’option –f , tail continue d’afficher le fichier en temps réel ce qui très pratique lorsque vous visualisez des fichiers journaux .L’administrateur système peut ainsi garder l’œil sur le journal système ( auquel il est le seul à avoir accès ) à l’aide de la commande suivante : #tail –f /var/log messages de cette façon,tail –f continue d’afficher les mises à jour apportées au fichier jusqu’à ce que vous appuyez sur ctrl- c. wc

Bien que wc signale compte des mots,de l’anglais wors cotant ,cet utilitaire permet également de compter les lignes et les caractères.

$ wc story .txt 39 237 1901 story .txt utilisez le paramétrer – 1 pour ne compter que les lignes. Utilisez le paramètre –w pour ne compter que les mots Utilisez le paramètre – c pour ne compte que les caractères.

Wc est utile lorsque vient le moment de compter le nombre de caractére de mots ou de lignes d’un fichier.En outre,si vous spécifiez plus d’un fichiers ,wc vous fournit également le total ,comme dans l’exemple ci-dessous $ wc tmpfile . tmp2 file .txt 13 12 28 tmpfile .txt 13 12 28tmp2file .txt 26 24 56total grep

Utile pour chercher du texte dans des fichiers. $ grep john /etc /passwd

john : x : 500 :500 : john Doe : /home /john/ :bin/ zsh bon filtre à utiliser dans les pipelines . ls | grep .c

Grep permet d’afficher les lignes de son entrée qui correspondent à un motif donnée comme argument . Grep [- variable (s) ] motif [nom (s) de fichier] Comme la plupart des filtres Linux ,il peut lire son entrée depuis un fichier ou une entrée standard. Lorsqu’on lui donne un seul motif en question, L’exemple suivant demande au système une liste des processus en cours d’exécution et conduit ensuite la sortie obtenu vers un processus grep qui n’affiche que la ligne contenant le motif init : $ ps ax grep init 1 ? s 0:04 init [5]

Linux : Principes de Base Elies JEBRI

Page N° 86

Lorsqu’on lui donne plusieurs noms de fichiers , grep afficher avant chaque ligne du fichier dans lequel il a trouvé l’élément correspondant au motif . La variable – i indique à grep d’ignorer la casse lorsqu’il effectue la recherche du motif dans le fichier .

$ grep – i ghostview * .faq Comp.text.faq: sun Pageview, Ultrascript, Ghostview plus ghiotscript): Postscript. faq : Systems . Or use th mord general utilities ghostview, sgi. faq: foundation; ghostview (a viewer which uses ghostscript) is likewise La variable –v fait en sorte que grep affiche les lignes de son entrée qui ne contiennent pas le motif. La variable –n indique à grep affiche les numéros des lignes avant chaque ligne correspondant au motif. -c fait en sorte que seul le compte des correspondants au motif soit affiché. -I fait en sorte que la sortie ne comprenne que le ou les noms de fichier contenant le motif demandé. La variable –r exécute la commande grep à répétition, en commençant par le répertoire courant. Le motif peut contenir des expressions régulières, semblables(mais pas identiques) aux caractères

d’extension nom de fichier du shell.

Expressions régulières et grep

Des recherches plus sophistiquées grâce aux modèles d’expression régulière. $grep ̀ ˆ h [oa]t...5$ ́ /tmp / out . txt Les expressions régulières font de grep l’un des filters les plus utilisés (et les plus puissants) . L’ensemble des expressions constitue pratiquement,un langage en soi. A l’aide des expressions régulières, grep devient un outil extrêmes flexible et puissant.Une expression régulière est un modèle qui décrit un ensemble de chaînes. Voici quelques exemples : . Concordance avec un seul caractère * Concordance avec zéro occurrence ou plus d’un caractère [ˆ abc] Concordance avec a,b ,ou c

a* Concordance avec zéro ou n’importe quel nombre de répétitions de a, tel que aaa, aaaa ou aaaaaaaa

a ? Concordance avec un seul a ou aucun a a+ Concordance avec un seul a ou n’importe quel nombre de répétitions de a.

sort Trie toutes sortes de données texte. $ sort –rn result .txt Options courante : -r- inverse l’ordre du tri afin d’obtenir une liste décroissante (par défaut, les listes sont en ordre croissant) ; -n- effectue un tri numérique ; -f- ignore la casse des caractères dans les chaînes ; -u- unique. La commande sort est utilisée pour trier des données texte. Ces données peuvent être dans un fichier ou la sortie d’une autre commande. Sort est souvent utilisé avec des conduits, comme dans l’exemple ci-dessous qui affiche une liste en ordre alphabétique d’utilisateurs dont le shell de connexion est le shell bash. $ grep bash /etc/passwd sort alex :x: 503:504::/home /alex:/bin/bash gdm: x:42:42::/home/gdm:/bin/bash guru:x:501:501:Guru Labster : /home/guru:/bin/bash

Linux : Principes de Base Elies JEBRI

Page N° 87

Joshua :x:500:500 joshua M. hoffman :/home/ joshua:/ bin /bash root :x: 0:0:root :/root:/ bin/ bash star :x: 504:504:: /home /star: /bin/bash

diff Compare deux fichiers, afin de trouver les différences entre eux.

diff area.c /tmp/area .c 33c33

< x = y + 2; - - - > x = y + 4;

33 c 33 indique la ligne où les deux fichiers différents. < indique la ligne du premier fichier. > indique la ligne du second fichier.

Diff est utilisé pour comparer le contenu de deux fichier, afin d’en identifier les différences. Si vous procédez à la mise à jour d’un utilitaire et désirez voir en quoi les nouveaux fichiers de configuration diffèrent des anciens, vous n’avez qu’à utiliser diff. Par exemple : $ diff /etc /named .conf. old /etc /named .conf 20c20 < file “ root. hints”; - - - > file “ named. ca”; vous pouvez voir dans cet exemple que dans la nouvelle version de named. Conf la ligne file « root . hints » ; a changé et s’appelle maintenant file « named. ca » ; Notez que diff est un utilitaire très utilisé par les développeurs de logiciels et que ces derniers préfèrent généralement une sortie diff unifiée, obtenue par l’ajout de l’option –u.

Cut

Affiche des colonnes de données spécifiques d’un fichier $ cut – f 4 resultat . dat l’option – f spécifie le champ ou la colonne. L’option - f d spécifie le délimiteur de champ (par défaut : TAB) $ cut - f 3 - d : /etc. /passwd l’option - c vous permet de faire la coupure par caractère : $ kill ps - aux cut - c10 -16 Pensez au concept de coupure en termes de << copier et coller >> .La commande cut est utilisé pour couper du texte d’un fichier et l’afficher à la sortie standard .Prenez , par exemple ,la commande suivante : $ cut - f 3 - d : / etc /passwd

Linux : Principes de Base Elies JEBRI

Page N° 88

elle permet d’afficher une liste d’uid du fichier / etc passwd car les uid sont stockés dans le champs 3 et le symbole : est utilisé comme délimiteur

uniq

éliminer les lignes répétées successive dans un fichier. Souvent utilisé de concert avec sort pour éliminer toutes les répétions. Utilisez l’option - c pour compter le nombre d’apparitions de données répétées. Unique <<élimine>> les lignes répétez et adjacentes d’un fichier .Pour n’afficher que des lignes uniques d’un fichier ( soit après en avoir éliminé toutes les répétitions ) , l’entrée d’uniq doit d’abord être triée. L’exemple suivant fait appel à cette technique pour générer la liste des shells utilisés dans / etc /passwd. $ cut - d : - f 7 /etc / passwd sort | uniq / bin / bash / bin / false / bin / sync / dev / null / sbin / hall / sbin / shutdown

paste

Fusionne des données provenant de fichiers différents en un seul fichier. $ paste ids . txt data .txt > newdata .txt utilisez l’option - d pour changer le délimiteur de sortie ( par défaut : TAB ) $ paste - d : ids . txt data .txt

la commande paste sert à regrouper des fichiers .En effet , elle permet de prendre une ligne dans différents fichiers et de <<coller>> ces lignes en une seule et même ligne dans un nouveau fichier ,séparées d’un espace TAB .Examinez l’exemple suivant : $ cat numbers .txt 1 2 3 4 5 $ cat letters .txt A B C D

Linux : Principes de Base Elies JEBRI

Page N° 89

E $ paste numbers .txt letters .txt 1 A 2 B 3 C 4 D 5 E

tr

Utilisé pour transformer ou éliminer des caractères dans des données. $ tr A-Z a-z < date .txt > data2.txt les caractères en majuscule (A-Z) sont transformés en caractères minuscules (a-z). peut aussi éliminer des caractères (à l’aide de l’option –d). $ tr -d \ r < area.c > new.area.c dans cet exemple, les caractères « Entrée » sont éliminés.

tr peut être utilisé pour transformer, entasser ou éliminer des caractères d’une entrée standard, écrivant à la sortie standard. L’une des utilisation les plus courantes de tr est la conversion de fichiers texte DOS (les lignes se terminent par un retour de chariot et un retour à la ligne) en fichiers texte de type UNIX (les lignes ne se terminent que par un retour à la ligne). tr -d \ r < dostextfile.txt > unixtextfile - élimine les retours de chariot du fichier.

aspell

correcteur orthographique interactif très puissant plus intelligent que celui de MS WordTM à ce qu’il paraît. Vérification facile de l’orthographe dans un fichier $ aspell check letter.txt Permet de créer des dictionnaires personnels. aspell est un correcteur orthographique interactif. Il offre des suggestions de correction d’une interface simple avec menus. $ aspell check file.txt some times *peple* type stuff wrong. people 6) peel pele 7) pelee peale 8) peopled purple 9) peoples peel 0) pep i) Ignore I) Ignore all r) Replace R) Replace all a) Add x) Exit

Linux : Principes de Base Elies JEBRI

Page N° 90

vous pouvez également trouver plus de renseignement sur aspell à l’adresse Web http : // aspell . sourceforge .net.

FIN DE LA LEÇON 8

Questions et réponses Résumé

Traitement de chaîne de base Expressions régulières simples

Fichiers importants étudiés au cours de cette leçon : Commandes importantes étudiées au cours de cette leçon : head tail wc grep sort diff cut uniq paste tr aspell

Exercices de la leçon 8 Traitement de chaînes, E/S standard et « pipes » Durée approximative : 30 Minutes Objectif : Se familiariser avec de nombreuses applications de traitement de chaînes, l’E/S standard et les « pipes », alors qu’ils sont utilisés avec les différents utilitaires disponibles dans systèmes Red Hat Linux. Configuration de départ : un système Red Hat Linux installé et une copie de / etc / passwd dans votre répertoire personnel. Séquence1 : traitement de chaînes de base Tâches :

faites une copie de /etc / passwd dans votre répertoire personnel. $ cd

Linux : Principes de Base Elies JEBRI

Page N° 91

$ cp /etc/passwd . Il y a une lignes dans / etc / passwd pour chacun des comptes du systèmes. Utilisez wc pour

compter le nombre de lignes présentes dans le fichier passwd. $ wc -l passwd Nombre de comptes sur votre système :

Générez une liste des différents shells en cours d’utilisation sur votre ordinateur et placez-la dans un autre fichier. $ cut -d : -f7 passwd > shells

Visualisez le contenu de votre nouveau fichier shells à l’aide de la commande cat. Vous remarquer

que le fichier contient les informations demandées, mais qu’elles sont présentées sans ordre particulier. Triez les lignes de la sortie et placez les nouvelles données ordonnées dans nouveau fichier.

$ sort shells > sorted. shells

5. Certaines valeurs identiques se répètent dans le fichier. Utilisez alors la commande uniq pour savoir combien de fois chaque valeur est indiquée. $ uniq -c sorted. shells > uniq.sorted. shells Pourquoi vous a-t-il été nécessaire de trier la sortie avant d’utiliser la commande uniq ? (Conseil :essayer uniq -c shells et man uniq)

Utilisez la commande qui suit pour obtenir une liste triée en ordre décroissant des shells en cours d’utilisation sur l’ordinateur (bien entendu, les nombres exacts sur votre ordinateur peuvent être différents des nombres indiqués dans l’exemple ci-dessous).

$ sort -nr uniq. Sorted. Shells 12 7 /bin/bash 3 /bin/false 1 /sbin/shutdown 1 /sbin/halt 1 /dev/null 1 /bin/sync Résultat: Vous obtenez une liste numérique triée en ordre décroissant des shells assignés aux comptes utilisateur sur l’ordinateur.

Séquence 2 : traitement de chaîne de base Tâches :

1. Essayez maintenant d’utiliser la commande grep pour obtenir uniquement la sortie des lignes

du fichier words (qui devrait encore être dans votre répertoire personnel, depuis les exercices

Linux : Principes de Base Elies JEBRI

Page N° 92

de la leçon 3) qui contiennent un motif de texte précis. Par exemple, affichez les lignes qui contiennent le motif fish.

$ grep fish words blowfish bluefish codfish … sortie tronquée … unselfish unselfishly unselfishness comparez attentivement la sortie indiquée ci-dessus à celle qui est obtenue au moyen de la commande ci-dessous et déterminez ensuite la fonction de la variable –I ajoutée à grep. $ grep -i fish words 2. A l’aide de la page man de grep, construisez et testez une commande qui provoquera la sortie

de toutes les lignes contenant le motif fish, de même que les deux lignes succédant et précédant chacune de ces lignes (afin d’obtenir un contexte plus étendu).

$ grep -A 2 –B 2 fish words

3. A l’aide de la page man de grep, construisez et testez une commande dont la sortie n’indiquera

que le compte du nombre de fois que le motif fish apparaît dans words. $ grep -c fish words

4. A l’aide de la page man de grep, construisez et testez une commande dont la sortie indiquera une ligne pour chacune des répétitions du motif fish dans le fichier words, y compris le numéro de ligne où celles-ci se trouvent. Sur quelle ligne le mot starfish a-t-il été trouvé ?

$ grep -n fish words

5. Utilisez grep pour afficher la ligne de tout compte commençant par la lettre « g ».

$ grep ^g passwd games:x:12:100:games:/usr / games: gopher:x:13:30:gopher: /usr/lib/gopher-data: gdm:x:42:42:: /home/gdm: /bin/bash 6. Affichez la ligne de tout compte utilisant le shell bash. $ grep bash$ passwd root :x : 0 : 0: /root:/root:/bin/bash gdm:x:42:42::/home/gdm:/bin/bash pvm:x:24:24::/usr/share/pvm3:/bin/bash visitor:x:501:501::/home/visitor:/bin/bash bob:x:502:502::/home/bob:/bin/bash student:x:503:503::/home/student:/bin/bash

7. Affichez la ligne de tout compte n’utilisant pas le shell bash.

Linux : Principes de Base Elies JEBRI

Page N° 93

$ grep -v bash$ passwd bin:x:1:1:bin:/bin: dademon:x:2:2:daemon:/sbin: adm:x:3:4:adm:/var/adm: … sortie tronquée …

8. Pour illustrer l’utilisation de la commande diff, créez une copie modifiée du fichier passwd.

Utilisez d’abord grep pour éliminer toutes les lignes qui contiennent les lettres « N » ou « P ». $ grep -v [N , P] passwd > modified.Passwd

9. Comme changement final, utilisez tr pour convertir toutes les lettres majuscules (s’il en reste) en minuscules.

$ tr ‘A-Z‘ ‘a-z ‘ < modified. Passwd > modified2.passwd

10. Utilisez cat pour visualiser votre fichier passwd original et le nouveau fichier modified2 . passwd. Si on ne les examine pas attentivement il est assez difficile de voir les différences entre les deux, et ce même s’il s’agit de petits fichiers. Imaginez alors ce que ce serait si votre fichier passwd contenait les entrées de milliers d’utilisateurs ! Servez-vous de la commande diff pour générer une liste des changements entre les deux fichiers, en format unifié.

$ diff -U 0 modified2.passwd passwd - - - modified2.passwd wed oct 18 04:39:06 2000 + + + passwd wed oct 18 04:08:57 2000 @@ -15 +15,3 @@ -xfs:x:43:43:x font server:/etc/x11/fs:/bin/false +ftp :x :14 :50 :FTP User:/var/ftp: +nobody:x:99:99:Nobody: / : +xfs:x:43:43:x Font server:/etc/x11/fs:/bin/false @@ -16 ,0 +19 ,2 @@ +rpcuser :x :29 :29 :RPC Service User:/var/lib/nfs:/bin/false +rpc:x:32:32:Portmapper RPC user: / : /bin/false

Séquence 3: exploration de l’utilisation des « pipes » et de la redirection Mise en situation

Au cours des deux séquences précédentes, vous avez utilisé plusieurs utilitaires de traitement de chaînes pour créer une liste triée de shells, en quatre étapes. Dans cette séquence, vous ferez la même chose, mais en une étape seulement. Vous approfondire également l’utilisation de « pipes ».

Tâches : Pour créer une liste triée de shells, combinez les commandes des étapes 3 à 6 de la séquence 1 des

exercices de la leçon 7. contrairement aux exercices de la leçon précédente, vous n’avez besoin d’aucun fichier temporaire car l’ensemble de l’opération est effectué en « conduisant » la sortie d’une commande vers une autre, de façon répétée.

$ cut -d : -f7 passwd | sort | uniq -c | sort -nr 12

/bin/bash /bin/false /sbin/shutdown /sbin/halt /dev/null /bin/sync

Linux : Principes de Base Elies JEBRI

Page N° 94

Si vous désirez visualiser une liste alphabétique de tous les processus exécutés en tant que root, utilisez ps pour obtenir une liste des processus en cours et des noms d’utilisateur, puis conduisez la sortie vers grep pour n’obtenir que la sortie des processus appartenant au root. Le symbole « ^ » indique à grep de ne chercher qu la chaîne root au début de chaque ligne.

$ ps auxw | grep ^ root root 1 0.0 0.2 1324 536 ? s oct 13 0:04 init [5] root 2 0.0 0.0 0 0 ? sw oct 13 0:00 [Kflushd] root 3 0.0 0.0 0 0 ? sw oct 13 0:00 [Kupdate] root 4 0.0 0.0 0 0 ? sw oct 13 0:00 [Kpiod] root 5 0.0 0.0 0 0 ? sw oct 13 0:00 [Kswapd] . . . sortie tronquée . . . Imaginons que vous vouliez passer ces données à un script qui n’a besoin que des noms de

processus. Vous devez alors utiliser la combinaison de tr et cut pour produire cette liste. Premièrement, tr est utilisée pour transformer les espaces blancs en un séparateur de champ pouvant être compris par cut (un % dans ce cas). Ensuite, on utilise cut pour afficher uniquement les noms de processus (champ 11 de la sortie de tr).

$ ps auxw | grep ^root |/ tr -s [ : blank: ] [%] | cut -d% -f11 init [Kflushd] [Kupdate] [Kpiod] [Kswapd ] . . . sortie tronquée . . . Vous avez maintenant la liste des processus appartenant à root, mais comme vous avez demandé à cut de n’afficher

que le champ 11 (field 11), vous avez perdu les arguments de la ligne de commande. Dans l’exemple de sortie de l’étape 2, le premier processus est init [5], mais à l’étape 3 on ne voit que init. Si vous changez -f 11 -, cut affiche alors le champ 11 jusqu’à la fin de la ligne.

$ ps auxw | grep ^root | tr -s [ :blank :] [%] | cut -d% -f11 init % [5] [Kflushd] [Kupdate] [Kpiod] [Kswapd] . . . sortie tronquée . . . Voilà, vous avez ainsi obtenu la sortie désirée… ou presque. Vous souvenez-vous que vous avez utilisé tr pour

transformer les espaces blancs en % pour cut ? Vous devez maintenant utiliser tr de nouveau pour remettre les % en espaces blancs.

$ ps aux | grep ^ root | tr -s [ :blank :] [%] | cut -d% -f 11- | tr [%] “ [ ] ” init [5] [Kflushd] [Kupdate] [Kpiod] [Kswapd] . . . sortie tronquée . . . Comme vous avez pu le constater au cours des étapes précédents, les “pipes” sont trés pratiques lorsque l’on travaille

avec des utilitaires à ligne de commande. Toute fois, bien que les étapes soulignées vous permettent de réaliser les tâches voulues, assurez-vous toujours tout de même que le programme qui produit la sortie originale peut aussi la formater correctement avant de perdre trop de temps à « manipuler » la sortie d’une commande. Ps, tout particulièrement, peut produire une sortie sous pratiquement tous les formats imaginables. Notez les variables utilisées ci-dessous pour obtenir le résultat souhaité :

$ ps -u root -o args init [5] [Kflushd] [Kupdate]

Linux : Principes de Base Elies JEBRI

Page N° 95

[Kpiod] [Kswapd] . . . sortie tronquée . . . Résultat : Vous obtenez une combinaison de commandes utilisant des « pipes », aboutit à la génération d’une liste de processus exécutés en tant que root sur le système.

Linux : Principes de Base Elies JEBRI

Page N° 96

LEÇON 9

INTRODUCTION AUX PROCESSUS

Objectifs :

Comprendre ce qu’est un processus

Comprendre les états des processus

Gérer les processus

Comprendre le contrôle de travail

Thèmes abordés :

Définir un processus

Etats de processus

Gestion de processus

Contrôle de travail

Linux : Principes de Base Elies JEBRI

Page N° 97

QU’EST-CE QU’UN PROCESSUS ?

Un processus compte de nombreux composants et propriétés

Exec thread

PID

Priorité

Contexte de mémoire

Environnement

Descripteurs de fichiers

Références de sécurité

Processus Les processus sont communément considérés comme des programmes d’exécution. C’est juste, mais ils présentent plusieurs composants et propriétés.

Lancement des processus

Un processus peut en exécuter (« exec ») un autre

Le nouveau processus exec remplace le vieux processus

PID ne change pas

Ramification

Lorsqu’un processus est ramifie, (« forks ») une copie de ce processus est créée

Lancer un processus

Lorsqu’un programme en lance un autre (situation très commune pour un shell), derrière les rideaux le programme se ramifie et la nouvelle branche exécute le nouveau programme. Le PID du shell est 28570 [bob @ station2 gurul] $ ps PID TTY TIME CMD 28570 pts/8 00:00:00 bash 28587 pts/ 00:00:00 ps [ bob@ station2 guru] $ bash Le PID du nouveau shell est 28588

Linux : Principes de Base Elies JEBRI

Page N° 98

[ bob@ station2 guru] $ ps PID TTY TIME CMD 28570 pts/8 00:00:00 bash 28588 pts/8 00:00:00 bash 28597 pts/8 00:00:00 ps [ bob@ station2 guru] $ exec bash Le PID du shell d’exécution est toujours 28588 [ bob@ station2 guru] $ ps PID TTY TIME CMD 28570 pts/8 00:00:00 bash 28588 pts/8 00:00:00 bash 28606 pts/8 00:00:00 ps

[ bob@ station2 guru] $

Ascendance des processus

Init est le premier processus lance au moment du démarrage

Il a toujours PID 1

Tous les processus ont un parent, sauf init

Comme les humains, les processus peuvent être à la fois parent et enfant

Ascendance des processus La commande pstree affiche l’ascendance de tous processus exécutés sur le système.

[ bob@ station2 guru] $ pstree init - + - apmd -atd

-crond -deskguide_apple -gdm - + - x -gdm - - - gnome – session -gmc -gnome – name – sery -gnome – smproxy -gnome – terminal - + - 5* [bash] -bash - - - telnet -bash - - - ssh -bash - - - bash -bash - - - pstree -gnome – pty – helpe -pine -gpm -identd - - - dentd - - - 3* [identd] -kflushd -khubd -klogd

Linux : Principes de Base Elies JEBRI

Page N° 99

Etat des processus

Un processus peut être dans un des nombreux états

R – Exécutable (dans la file d’attente d’exécution)

S – En veille

T - Arrêté

D – Sommeil irréversible

Z – Processus Defunct (zombie)

Les états suivants sont définis dans Linux :

- Exécutable Le processus est dans la file d’attente d’exécution. Il est en cours d’exécution.

- En veille Le processus n’est pas exécuté. Il attend un événement pour se mettre en marche.

- Arrêté Le processus n’est pas exécuté. - Sommeil irréversible Le processus est en veille et ne peut être mis en route que par un événement. Advient en général après une fonction I/O. - Zombie Avant de disparaître, le processus informe ses parents et attend une confirmation. S’il ne la reçoit pas, son PID n’est pas libéré, mais toutes les autres ressources le sont. Les processus Zombie sont éliminés du système au lancement suivant et n’affectent pas le fonctionnement du système.

Afficher les processus

Syntaxe ps : Ps [options]

Les options aux ou auxw sont les plus utilisées Affiche les différentes informations concernant les processus du systèmes Contrôle du processus : top, gtop

Afficher les processus La commande ps affiche les informations concernant les processus du systèmes. Si vous n’utilisez pas d’options, elle affiche uniquement les processus exécutés par le terminal en cours. Voici quelques exemples parmi toutes les options disponibles. Pour plus d’informations, consultez la documentation en ligne. -a Affiche tous les processus, sauf ceux ne sont pas contrôlés par un terminal.

Linux : Principes de Base Elies JEBRI

Page N° 100

-x Comprend les processus non contrôlés par un terminal, comme par exemple les processus démon. -i Longue liste. Contient des informations supplémentaires, comme par exemple l’uid du propriétaire du processus. -u Affiche le nom d’utilisateur du propriétaire du processus. Il peut y avoir des centaines de processus sur un système. C’est pourquoi il existe un technique de localisation d’un processus spécifique : envoyer la sortie grep depuis ps : Ps -a x / grep

La commande ci-dessus affichera toutes les lignes de la saisie de la commande ps contenant 1pd. Si une seule ligne apparaît dans la ligne grep, il est probable que le démon 1pd ne fonctionne pas et doit être relancé

Vous pouvez afficher une liste des processus interactive et continuellement mise à jour à l’aide de top ou gtop.

Envoi de signaux aux processus

Syntaxe Kill [-signal] pid Kill [-signal] % jobID Kill -1

Envoie le signal spécifié au processus Le signal par défaut est TERM L’option –1 affiche tous les signaux disponibles

Killall Envoyer des signaux Les signaux peuvent être spécifiés par leur nom, comme par exemple KILL, ou par leur numéro, par exemple 9. La commande kill peut envoyer de nombreux signaux. Toute fois certains programmes ne répondront pas à certains signaux. Voici des signaux identiques qui enverront le signal TERM au processus à l’aide du PID numéro 3428 : Kill 3428 Kill -15 3428 Kill -TERM 3428 Remarquez que le signal TERM est le défaut. Les commandes : Kill -9 3428 Kill -KILL 3428 Sont identiques et enverront le signal KILL au processus. De plus, pour tuer il existe une commande killall que vous pouvez utiliser pour envoyer un signal à un groupe de commandes, comme tous les processus getty. Elle doit être utilisée

Linux : Principes de Base Elies JEBRI

Page N° 101

avec précaution car le fait de tuer certains processus peut causer des dommages au système. Voici un exemple utile qui envoie un signal KILL à tous les processus en cours nommés Netscape – communicator : Killall -KILL netscape – communicator Les signaux peuvent être envoyés de façon interactive au processus à l’aide de top et gtop.

Terminer les processus La meilleure façon de terminer un processus Est de le laisser s’achever Les commandes se terminent et les applications sont quittées Interrompre avec Ctrl-C ou envoyer un signal TERM Si tout le reste échoue, envoyer un signal KILL Programmes de sortie En général les processus se terminent tous seuls lorsqu’ils ont terminé leur tâche. Certaines commandes pourraient pousser l’utilisateur à fermer l’application, par exécutant la commande a : q depuis vi. De nombreux processus peuvent être interrompus à l’aide de la commande Ctrl-C, qui envoie un signal d’interruption (INT) au processus. Le processus est fermé « proprement », ce qui veut dire que les processus enfants sont terminés les premiers et que les opérations I/O en cours sont achevées. Ceci est vrai pour les processus recevant un signal de terme (TERM) de la commande kill. Si un processus ne répond pas à un signal TERM, peut être utilisé. Ce dernier risque tout fois de ne pas terminer proprement le processus. Il est recommandé de ne pas utiliser le signal KILL en premier recours pour terminer un processus. De nombreux néophytes utilisent KILL car il provoque presque toujours une fin anormale du processus.cette manœuvre peut cependant provoquer des problèmes car elle peut engendrer la création de processus zombie et la perte de données.

Linux : Principes de Base Elies JEBRI

Page N° 102

Modifier la priorité de programmation du processus

Au moment de lancer le processus Syntaxe

nice [-n adjustment] command Les processus sont programmés avec une priorité par défaut de 0 La valeur de priorité s’échelonne de -20 (plus haute priorité) à 19 ( la plus basse) Modifier la priorité du processus au lancement La commande nice peut être utilisée pour lancer un exécutable en modifiant la priorité programmée. ( Rappelez-vous que des utilitaires comme top peuvent être utilisés pour déterminer quels processus monopolisent les ressources du système). La commande nice ne peut être utilisée qu’au lancement d’un processus. Sans l’option –n, nice utilisera une valeur de 10.

Modifier la priorité de Programmation du processus – Suite

Changer la propriété d’un processus en Cours

Syntaxe Renice # [ [ -p | -g] PID] [ [-u ]user]

# est la valeur d la priorité est Augmentée, un utilisateur non –privilégié ne peut pas la diminuer

modifier la priorité d ‘un processus en cours l’option –p est le défaut et n’est nécessaire qu’après l’option –u user . Exemple : renice 3 -u doug -p 7134 établit la priorité de tous les processus de l’utilisateur doug ainsi que le processus 7134 à 3 l’option –p ne modifie que la priorité des processus énumérés et garde intacts les enfant . l’option -g modifie la priorité d’un groupe entier .

Exécuter un processus au premier

Linux : Principes de Base Elies JEBRI

Page N° 103

Plan Lorsqu’une commande est saisie, le shell

Ne lancera aucun autre processus avant Que celui qui en cours ne soit terminé et Que l’invite du shell s’affiche

Le typeahead buffer vous permet D’entrer d’autres commande ,mais elle ne seront pas traitées avant la fin ou le "retour" du processus en cours Multitâche à la ligne de commande Lorsqu’un processus est démarré depuis la ligne de commande d’un terminale, il est généralement exécuté en premier plan .le processus peut être interrompu, relancé en arrière-plan ou terminé. Ces manœuvres sont appelées "job control ",le control de travail. Le contrôle de travail est souvent nécessaire sur les systèmes basés sur du texte où il est impossible d’ouvrire autre fenêtre terminale. Sous X, il est rarement utilisé car il Est extrêmement facile d’ouvrir une fenêtre terminale.

Exécuter un processus en arrière-plan

Exécuter une commande en arrière –plan Permet à un autre processus d ‘être Exécuté simultanément sur le même terminal Lancez un programme en tant que processus d’arrière-plan en ajoutant une

Esperluette (&) à la fin de la commande Processus en arrière –plan Un processus en arrière –plan est toujours l’enfant des processus qui l’ont généré. Le processus parent n’attend pas que le processus enfant termine pour se poursuivre . Exécuter des processus est lancer en arrière –plan peut provoquer une saisie standard est une erreur standard est peut souvent le reconduire. Lorsqu’un processus est lancé en arrière –plan, un nouveau sous shell BASHest créé. Le programme bash est ensuite remplacé par la commande en cours d ‘exécution(la ramification exec).comme tous les autres processus d ‘arrière plan peuvent être tués à l’aide de la commande KILL(dont nous parlerons plus tard dans cette même leçon )

Suspendre un Processus

Linux : Principes de Base Elies JEBRI

Page N° 104

Les travaux entamés au premier plan Peuvent être suspendus ils peuvent être

Repris à l’arrière –plan (bg) Repris au premier plan (fg) Tués (KILL)

Suspendre un processus de premier plan Dans une fenêtre terminale avec ctrl-z. Suspendre un processus Appuyer sur ctrl-z pour envoyer un signal au processus de premier plan à suspendre. La commande stty, consulter la documentation en ligne.

Afficher une liste des travaux en arrière-plan et suspendus

La commande jobs affiche tous les processus exécutés en arrière-plan ou suspendus.

Le chiffre entre parenthèses est le numéro du travail, utilisé pour tuer les travaux ou les ramener au premier plan.

Les numéros de travaux sont exprimés en %

Afficher vos travaux

La commande jobs reporte également le statut des processus suspendus et exécutés en arrière-plan. L’identificateur de travail reporté peut être utilisé avec d’autres commandes pour gérer le processus.

[bob@station2 guru] $ jobs [1] + Stopped man bash [2] - Running find / -mane joe >output 2>&1 & [bob@station2 guru] $

Linux : Principes de Base Elies JEBRI

Page N° 105

Rependre des travaux suspendus

Lorsqu’une commande est suspendue ou mise en arrière-plan, elle peut être ramenée au premier plan avec fg.

Syntaxe Fg [job number]

Rependre des travaux en arrière-plan

L’utilisation d’une combinaison Ctrl-Z,bg est souvent utile lorsque l’utilisateur a oublié de démarrer un processus en arrière-plan. Les commandes suivantes placeront par exemple le processus find en arrière-plan : Prompt $ find / -name '*.ps' 2> /dev/null >ps.out ^z prompt$ bg % 1

Le chiffre 'l' ci-dessus se réfère à l’identificateur de travail numéro un ( l’identificateur de travail peut varier d’il y a ou non d’autres travaux. Si vous avez un doute, utilisez la commande jobs pour vérifier le numéro d’identification du travail ).

Linux : Principes de Base Elies JEBRI

Page N° 106

FIN DE LA LEÇON 9

Questions et réponses Résumé

Définir un processus Etats de processus Gestion de processus Contrôle de travail

Fichiers importants étudiés au cours de cette leçon : Commandes importantes étudiées au cours de cette leçon : Kill Killall Bg Fg Nice Renice Ps Top gtop

Linux : Principes de Base Elies JEBRI

Page N° 107

EXERCICES DE LA LEÇON 9 Contrôle de processus Durée approximative :30 Minutes

Objectif : Apprendre à utiliser les différentes commandes de contrôle de processus.

Configuration de départ : Un système Red Hat Linux installé et fonctionnant. Un compte utilisateur nomé student, et le mot de passe student.

Séquence 1 : Contrôle de processus Mise en situation : Dans cette séquence vous lancerez plusieurs processus puis vous utiliserez les fonctions de contrôle de travail du Shell bash pour les gérer et les contrôler. Vous commuterez d’une console virtuelle à l’autre. Veillez à soigneusement noter quelle console est utilisée avec quelle commande. Tâches :

Commencez par vous inscrire sur les terminaux virtuels et 2 (ttyl, tty2) en utilisant le compte student.

Passez à tty1 (CTRL+ALT+F1) et démarrez un processus à l’aide de la commande suivante : $ (while true ; do echo –n A >> log; sleep 1; done) Notez que ce terminal est désormais utilise par votre processus (exécuté en premier plan). Le

processus que vous avez lancé ajoute la lettre " A" de façon répétée à une seconde d’intervalle au fichier ~/ log. Pour affichez, passez à tty2 (CTRL+ALT+F2) et exécutez : $ tail –f log vous devriez voir une séquence de caractères "A" qui s’allonge.

Passez à tty1et interrompez le processus en cours d’exécution en appuyant sur CTRL+Z sur cette

console. Le Shell reporte que le processus à été arrêté et vous donne un numéro de travail [1] pour le travail. Passez à tty2 et vérifiez visuellement que le fichier n’augments plus.

Passez à tty1et lancez à nouveau le processus, cette fois en arrière-plan. Utilisez jobs pour montrer que le travail [1] est en cours d’exécution. Enfin, passez à tty2 et vérifiez visuellement que le fichier grossit à nouveau :

$ bg $ jobs Passez à tty1 et lancez deux autres processus à l’aide des commandes suivantes. ( La première

commande est presque identique à celle que vous avez exécutée dans la deuxième étape. Pour rappeler la commande, utiliser la flèche vers le haut, changez "A" en "B", puis ajoutez l’esperluète à la fin. La seconde commande exécute la première, remplaçant "B" par "C").

$ (while true ; do echo –n B >> log; sleep 1; done) & $ ^B^C Entrez jobs et vérifiez que tous les trois sont en cours. Passez à tty2 et vérifiez que le fichier

augmente de nouveau, ajoutant cette fois "A", "B", et "C" chaque seconde. Dans l’étape 4, vous avez interrompu le processus de premier plan en appuyant sur CTRL+Z. En

réalité vous avez envoyé un message au processus. Utilisez Kill pour afficher une liste de

Linux : Principes de Base Elies JEBRI

Page N° 108

signaux avec leur nom et numéro respectif. Utilisez ensuite Kill pour envoyer un SIGSTOP au travail [1] pour le suspendre. Passez à tty1 et exécutez :

$ kill -1 $ kill -19 %1

Entrez jobs et vérifiez que le travail [1] apparaît comme arrêté. Passez à tty2 et vérifiez visuellement que le travail [1] est arrêté.

Relancez le travail [1] à l’aide de kill pour lancer un SIGCONT (18) au processus. Utilisez la commande jobs et tty2 pour vérifier que les trois travaux fonctionnent à nouveau (Remarque : si vous avez besoin d’aide pour la syntaxe, consultez l’étape 8)

Tuez (kill) les trois processus. Si vous ne spécifiez pas de signal à envoyer, kill enverra par défaut SIGTERM (15). L’utilisation de SIGTERM terminera la plupart des programmes. Après avoir signalé les travaux [2] et [3], utilisez jobs pour vérifier qu’ils sont terminés :

$ Kill %2 %3 $ jobs

Pour terminer le processus final : $ fg $ CTRL+C Entrez jobs et vérifiez qu’aucun travail n’est affiché. Passez à tty2 et vérifiez visuellement que

l’activité s’est arrêtée. Arrêtez la commande tail en appuyant sur CTRL+C, et déconnectez-vous de tty.

Passez à tty 1 et nettoyez en effaçant le fichier ~/ log .

***Fin de la Séquence 1***

Linux : Principes de Base Elies JEBRI

Page N° 109

LEÇON 10

Le Shell bash

Objectifs :

En apprendre plus sur les shells disponibles En apprendre plus sur la configuration des shells Comprendre les divers fichiers de démarrage En apprendre plus sur les scripts shell

Thèmes abordés :

Shells Configuration des shells Fichiers de démarrage du shell Scripts shell

Linux : Principes de Base Elies JEBRI

Page N° 110

Introduction au shell bash

Bourne Again Shell Développé pour le projet GNU Shell Linux standard de facto Compatible en amont avec le Shell Bourne (sh) – le Shell Linux original (standard)

BASH Le nom <<Bourne Again Shell>> n’est qu’un exemple des noms humoristiques souvent attribués dans le cadre du projet GNU. D’ailleurs, le terme <<GNU>> lui-même est aussi employé régulièrement en tant qu’acronyme de << GNU’s Not Unix>> ,soit GNU n’est pas UNIX.

Héritage de bash

Shell Bourne (sh) – shell original d’UNIX, écrit par Steven Bourne de AT&T. Shell C (csh) – écrit par Bill Joy de Berkeley Ajouta de nombreuses fonctions, telles que l’achèvement de commandes, l’historique et le

contrôle des travaux . Le Shell C Le nom Shell C a été choisi du fait que son langage semblable au langage de programme C . comme la plupart des programmeurs UNIX de l’époque programmaient en C, Bill Joy s’est dit qu’il serait beaucoup plus facile pour rux d’utiliser un langage de scripts Shell similaire au langages de développement d’applications qu’ils utilisaient .

Héritage de bash (suite)

Shell Korn ( ksh) – écrit par David Korn de AT&T Met en œuvre de nombreuses fonctions csh, telles que l’achèvement de commandes et

l’historique . Shell C améliore (tcsh) – un effort de groupe de toute la communauté Plus de fonctions ,telles que l’édition de lignes de commande et un système d’achèvement

plus sophistiqué Tcsh Le Shell C amélioré est un Shell très utilisé. En fait ,il s’agit du deuxième Shell le plus utilisé, bash étant le premier. Il comprend de nombreuses fonctions innovatrices, telles que la correction orthographique de commandes et de fichiers.

Héritage de bash (suite)

Bourne Again She (bash) Appliqué un grand nombre des nouvelles fonctions que l’on retrouve dans csh ,Ksh et tcsh.

Linux : Principes de Base Elies JEBRI

Page N° 111

Achèvement de lignes de commande Edition de lignes de commande Historique des lignes de commande Contrôle perfectionné des invites

Version 1 .x de bash vs version 2.x Les versions précédentes de Red Hat Linux utilisaient la version Lx de bash en tant que Shell par défaut et comprenaient la version 2 en tant que paquetage RPM séparé .Red Hat Linux 7.0 a adopté la version 2.x de bash en tant que Shell par défaut. Utilisez l’une des deux méthodes suivantes pour savoir quelle version de bash est exécutée : Appuyez sur CTRL+X puis sur CTRL+ V à une invite du Shell bash Ou $ chu $ BASH – VERSION

variables du Shell

Les données des scripts Shell et des réglages d’environnement sont stockées sous forme de variables.

Par convention, on n’utilise que des majuscules. Réglage de la valeur d’une variable : $ FAV – COLOR = bleu

Pour récupérer la valeur d’une variable, utilisez un $ devant le nom de la variable : $ écho $ FAV _ COLOR bleu variable du Shell les variables du Shell peuvent être utilisées de nombreuses façon :le Shell bash les utilise comme information de configuration .Par exemple ,l’historique des lignes de commande est contrôle par les variables du Shell suivantes : HISTFILE =/ home / student /. Bash _history HISTFILESIZE = 1000 HISTSIZE =1000

Variables du Shell et variables d’environnement

Les variables du Shell n’existant que dans l’instance du Shell courant. Les variables d’environnement sont passées aux gestionnaires de commandes secondaires. Les variables du Shell peuvent être exportées dans un environnement. $ EDITOR = / bin / vi

$ export EDITOR

Linux : Principes de Base Elies JEBRI

Page N° 112

Variables d’environnement Les variables d’enivrement sont utilisée par des programmes exécutes depuis le Shell .Par exemple, la variable EDITOR est utilisée par un certain nombre de programmes ayant besoin d’appeler un éditeur de texte pour l’utilisateur .Le réglage de cette variable permet aux utilisateurs d’employer leur éditeur de texte préfère pour un certain nombre de programmes par défaut. Bash prend en charge une forme e syntaxe condensée pour la création de variables d’environnement. L’exemple qui suit fonctionne sous bash et est équivalent aux deux instructions données ci-dessus : $ export EDITOR = /BIN /vi pour << effacer>> la valeur d’une variable d’environnement,vous n’avez qu’à laisser la chaîne vide : $ export EDITOR=

Variables d’environnement couramment utilisées

HOME – Chemin d’accès au répertoire personnel de l’utilisateur. PATH – Chemin d’accès de recherche exécutable : liste de répertoires dans lesquels chercher

des programmes. LANG – Identification de la langue que les programmes doivent utiliser par défaut (ex. :

« en » pour anglais). LINES – Lignes de texte disponibles sur le terminal courant ou la fenêtre du terminal.

Chemin d’accès de recherche exécutable La variable d’environnement PATH procure une liste de chemin d’accès UNIX séparés par des deux-points. Par exemple, si vous entrez echo $ PATH à la commande, vous devriez obtenir une sortie qui ressemble à ceci : $ echo $ PATH usr/bin:/bin:/usr/X11R6/bin:/usr/local/bin:/usr/local/java/bin $ mkdir $HOME/files $ 1s -1d $ HOME/files $ drwxrwxr – x 2 joe joe 4096 oct 16 07:08 /home/joe/files

Linux : Principes de Base Elies JEBRI

Page N° 113

Variables d’environnement couramment utilisée (suite)

Columns – colonnes de texte disponibles sur le terminal courant ou la fenêtre du terminal. PS1 – Définition de l’apparence de l’invite de commande. EDTOR - Editeur par défaut que les programmes doivent appeler pour l’édition de texte.

Personnalisation des invites de bash Le variable Ps1 permet de contrôler à quoi l’invité de commande doit ressembler et peut contenir des caractères d’échappement spéciaux : [joe@barney ~] $ echo $ PS1 [\ u@\h\w]\ \$ Voici une liste de quelques-unes des séquences d’échappement qu’il vous est possible d’utiliser pour formater votre invite : \d La date en format « jour de lasemaine et mois » (ex. : « Tue May 26 »

\h Le nom d’hôte jusqu’au premier.

\H Le nom d’hôte

\l Le nom de base du nom de l’unité d’entrée/sortie du shell

\s Le nom du shell, le nom debase de $0, la portion suivant la barre oblique finale

\t L’heure actuelle en format 24 heures (HH :MM :SS)

\T L’heure actuelle en format 12 heures (HH :MM :SS)

\@ L’heure actuelle en format 12 heures am/pm

\u Le nom d’utilisateur courant

\w Le répertoire de travail courant

\w Le nom du base répertoire detravail courant

\! Le numéro d’historique decette commande

\\ Une barre oblique inverse

UTILISATION DE WHICH

La commande which indique le chemin D’ accès d’ un fichier exécutable Lorsqu’ une commande est entrée : S which xboard /usr/local/bin/ xboard

Linux : Principes de Base Elies JEBRI

Page N° 114

La commande which effectue une recherche dans les répertoires énumères par votre variable PATH pour trouver des fichiers exécutables correspondants , Lorsqu’ elle trouve un , elle affiche le chemin d’ accès du système de fichier menant à l’ exécutable . Notez que la commande which ne donne que des informations concernant le chemin d’ accès d’ exécutables contenus dans le chemin d’ accès courant .Par exemple ,la commande which passwd affiche / usr /bin / paaswd, mais n’ affiche pas /etc./ passwd

EXPANSION de lignes de commande

HISTORIQUE(!)

Permet de remplacer des commandes précédentes dans la ligne de commande. $ !cp/less

Tilde(~) Peut faire référence à votre répertoire personnel .

cat. ~/. Bash profil.

Peut faire référence au répertoire personnel d un autre utilisateur. $ ls ~Julie /public htm fonctions avancées du Shell Nous destruction davantage de l’expansion de l’ historique un peu plus loin dans cette leçon . La fonction d’ expansion tilde(~)a été empruntée au Shell Cet fait en sorte qu il est facile de référencer des fichiers et des répertoires à l’ intérieur de votre répertoire personnel ou de celui d’ un autre utilisateur.

Paramètre /variable : ( $) Remplacer la valeur une variable dans une ligne de

commande. $ cd $HOME/ public htm

accolades { } Créent une chaîne pour chaque modèle à l’ intérieur des

accolades , qu un fichier existe ou non . $ rm hello . {c, o} Les accolades provoquent l’expansion afin de créer les modèles de chaîne qu elles décrivent . Exemple : $ echo {a , b} a b $ echo x (a, b) xa xb $ echo x ( , b) x xb $ CP file . txt ( ,- Save)

Linux : Principes de Base Elies JEBRI

Page N° 115

CP file . txt file . txt- Save Les accolades sont pratiques pour générer des chaînes arbitraires . Autre exemple :

( guru@station4 guru)$ mmkdir -p work/( inbox, out box, pending) /( normal, urgent, important) (guru@station4 guru) $cd work/ (guru@station 4 work) $ ls –al total 20 drwxrrwxr- 5guru guru 4096oct 17 15 :54 drwx------- 25guru guru 4096oct 17 15 :54 drwxrwrx-x 5 guru guru 4096oct 17 15 : 54 inbox drwxrrwxr 5 guru guru 4096oct 17 15 : 54 out box drwxrrwxr 5guru guru 4096oct 17 15 : 54pending (gur@station4 work)$ cd inbox (guru @station4 inbox) $l -al total20 drwxrwrx-x 5 guru guru 4096 oct. 17 15 :54 drwxxrwwxr-x 5guru guru 4096oct 17 15 :54 drwwxrrrwxr-x 2guru guru 4096oct 17 5 :54important drwxrwwxr-x 2guru guru 4096oct 17 15 :54normal drwxrwrx-x 2guru guru 4096 oct17 15 : 54urgent

Sortie de commande – ou $() Remplacer la sortie par une commande dans une ligne de

commande. $echo ‘hostname : hostname’

Arithmétique -$() Remplace le résultat d’une expression arithmétique

dans une ligne de commande Echo Area : $ ( $x *$y)

L’exemple de remplacement de la sortie de commande donnée ci-dessous aurait aussi pu être écrit de la façon suivante

La methode traditionnelle (Shell Boune) pour faire des opérations arithmétiques dans une ligne de commande du Shell consistait à utiliser la commande expr et le remplacement de la sortie de commande $ echo Area : expr $x* $y

Expansion du chemin d’ accès -* ? Utilisation de caractère générique sur des fichiers EXEMPLE : ls-al /dev/fd* * - concordance avec toute chaîne de caractères ? - concordance avec n ‘ importe quel caractère

Linux : Principes de Base Elies JEBRI

Page N° 116

[] - concordance avec tout caractère situe à l’ intérieur

L expansion du chemin d’ accès permet à bash de remplacer les caractères génériques par des caractères ou des chaînes de caractères . Examinez l’ exemple d’ expansion de caractères génériques suivant

$ ls –al /dev/hda* brw-rw---- 1 root disk 3, 0Aug 24 03 :00 /dev/hda brw-rw---- 1 root disk 3, 1Aug 24 03 :00 /dev/hda1 brw-rw---- 1 root disk 3, 2Aug 24 03 :00 /dev/had2 brw -rw---- 1 root disk 3, 3Aug 24 03 :00 /dev/had3 brw-rw---- 1 root disk 3, 4Aug 24 03 :00 /dev/had4 $ Is – al /dev/hd ? brw-rw---- 1 root disk 3, 0Aug 24 03 :00 /dev/hda brw-rw---- 1 guru disk 3, 64Aug 24 03 :00 /dev/hdb brw-rw---- 1root disk 22, 0Aug 24 03 :00 /dev/hdc brw-rw---- 1root disk 22, 64Aug 24 03 :00 /dev/hdd brw-rw---- 1root disk 33, 0Aug 24 03 :00/dev/hde $Is –al /dev/hd[ab] brw-rw---- 1root disk 3, 0 Aug 24 03 :00 /dev/hda brw_rw---- 1guru disk 3, 65 Aug 24 03 :00 /dev/hdb

Protection contre l’expansion

Les guillemets offrent une isolation contre l’expansion. Les guillemets simples (') – font en sorte que tout soit littéral.

$ echo ' $*[ ] ' $ * [ ]

Les guillemets doubles ('') – font en sorte que tout soit littéral, sauf $, ` (guillemet inverse) et \ (barre oblique inverse).

$ echo « Home dir : $ HOME » Dans de nombreux cas, l’utilisation de guillemets simples ou doubles donne des résultats identiques, ce qui fait croire à certains utilisateurs que ces deux façons d’échapper à l’expansion sont identiques. Faites attention car ce n’est pas le cas ! Comme nous l’avons expliqué dans la diapositive ci-dessus, les deux méthodes sont différentes. Jetez d’ailleurs un coup d’œil à l’exemple suivant qui illustre bien ce concept :

$ echo “The current date is `date` “ The current date is Mon Oct 16 08:34:28 MDT 2000

Linux : Principes de Base Elies JEBRI

Page N° 117

$ echo ' The current date is`date' ` The current date is `date'

Protection contre l’expansion (suite)

La barre oblique inverse (\) est le caractère d’échappement et fait en sorte que le caractère suivant soit littéral.

$ echo Your cost : \ $5 . 00 Elle est aussi utile pour vous permettre d’écrire une ligne de commande unique sur

plusieurs lignes. $ Is -1 \ grep ^d \

cut -c17 – 25 \ sort \ less

La protection des caractères contre l’expansion à l’aide de la barre oblique inverse (\) est très importante pour certaines opérations, telles que la commande find :

$ find / -name foo* Si vous utilisez la commande ci-dessus, bash effectue l’expansion du caractère *. Toutefois, dans ce cas-ci le caractère a une signification spécification spécifique pour find ; l’expansion pourrait ainsi briser la commande find et provoquer quasi certainement un résultat indésirable. Pour éviter tout cela ,il faut avoir recours à la barre oblique inverse \ , qui permet d’échapper à l’expansion du *.

$ find / -name foo\ *

Utilisation de nohup Utilisez nohup pour lancer un processeur en tâche de fond qui se poursuit après la fermeture de

votre session. $ nohup tar-cvf sourcee.tar / opt/src& $ exit

Par défaut, la sortie des travaux de nohup est écrite dans le fichier nohup.out.

Exécution de processeur en tâche de fond

Nohup commande exécute la commande spécifiée et lui fait ignorer les signaux d’arrêt, de façon à ce que la commande puisse continuer de fonctionner après la fermeture de votre session.

Nohup augmente la priorité d’ordonnancement de commande par 5, de sorte qu’elle ait un changement un peu plus petit à exécuter. Si la sortie standard est un terminal , celle ci et l’erreur standard sont redirigées afin d’être ajoutées au fichier nohup.out ; si ce dernier ne permet pas l’écriture, elles sont ajoutées au fichier $HOME/nohup.out. Enfin, ci ce fichier ne permet pas l’écriture non plus, la commande n’est pas exécutée.

Linux : Principes de Base Elies JEBRI

Page N° 118

Nohup ne place pas automatiquement la commande exécutée en tâche de fond ; vous devez donc le spécifier de façon explicite, en finissant la ligne de commande par une esperluette « & ».

History-Rappel de commandes Bash stocke un historique des commandes auxquelles vous avez eu accès et qu’il vous est possible

d’utiliser pour répéter des commandes. Utilisez la commande history pour visualiser les commandes enregistrées. $ history.

Historique avancé En plus du rappel de commandes de base effectué à l’aide des flèches de direction, le mécanisme d’historique de bash prend en charge toute une gamme de méthodes avancées pour récupérer des commandes depuis la liste de l’historique. !! - répétition de la dernière commande !x - répétition de la dernière commande commençant par x !n - répétition d’une commande à partir de son numéro dans la sortie de l’historique !-n - répétition d’une commande entrée n commandes plus tôt Utilisez la forme ^ ancien ^ nouveau pour répéter la commande précédente dans laquelle ancien est remplacé par nouveau. Par exemple : $ cp filter.c /usr/local/src/project $ ^filter^frontend cp frontend.c /usr/local/src/project Enfin, vous pouvez appuyer sur CTRL+ r à l’invite de commande si vous souhaitez exécuter une recherche interactive dans l’historique pour trouver une commande.

Commandes Composées Liste de commandes séparées par des points-virgules. Liste entre parenthèses ( ) pour exécution dans un gestionnaire de commandes secondaire. $ (cd /usr ;du –cks*) & Liste entre accolades pour exécution dans le shell courant. $ [grep jon messages ; echo « Done » ]&

Commande composées Imaginions que vouliez garder le compte du nombre d’utilisateurs connectés, ainsi q’une référence temporelle de l’heure et de la date dans un fichier. Cela peut se faire à l’aide de deux commandes : $ date >> logfile

Linux : Principes de Base Elies JEBRI

Page N° 119

$ who | wc –l >> logfile Cette séquence de commandes requiert que vous entriez deux lignes de commande, que vous fassiez l’ajout à logifile deux fois et, de façon plus générale, que vous écriviez plus qu’il n’est nécessaire en réalité. Lorsque vous écrivez vers le terminal, vous pouvez simplifier cette tâche en conjuguant les commandes sur une seule ligne et en les séparant par points-virgules .Exemple : $ date ;who | wc –l Cependant, si votre but est de rediriger l’entrée standard, vous n’obtiendrez pas le résultat escompté : $ date ; who | wc –l >>logfile Les deux commandes s’exécutent, mais seule la sortie de la seconde commande est redirigée vers logfile. Un groupe pour gestionnaire de commande secondaire combine les commandes de façon à ce qu’elles soient traitées comme une seule unité. Lorsqu’un groupe de commandes est placé entre parenthèse, un nouveau gestionnaire de commandes secondaire est activé et la sortie peut être redirigée comme s’il s’agissait d’une seule commande. $ (date ; who | wc –l ) >> logfile

Valeurs de retour des commandes Les commandes du shell retournent 0 en cas de succès et d’autres valeurs en cas d’erreur. La variable $ ? contient la valeur de retour de la dernière commande exécutée.

$ mkdir / tmp/student/stuff $ echo $ ? 0

Valeur de retour

De nombreux programmes utilisent différentes valeurs de retour en fonction de ce qui se produit durant leur exécution. Les pages de manuel offrent plus de détails sur les valeurs de retour. Voici, par exemple un extrait de la page de manuel de fsck, un outil servant à vérifier les incohérences d’es systèmes de fichier au démarrage :

The exit code returend by fsck is the sum of the flowing conditions :

-no errors -file system errors corrected -system should be rebooted 4 - file system errors left uncorrected - opérational error 16 - usage or syntax error - shared library error

The exit code returned when all file systems are checked using the –A option is the bit-wise or of the exit code for file system that is chesked. Les exécutables /bin/true/bin false sont souvent utilises shell (et dans d’autres situations également ) pour retourner de façon fiable des codes de sortie 0 et 1 respectivement.

Linux : Principes de Base Elies JEBRI

Page N° 120

Scripts démarrage

Scripts de commandes exécutés lorsque vous vous connectez. Nombreuses utilisations :

Règlent l’environnement ; Etablissent des pseudonymes utilisés couramment ; Exécutent des programmes.

/etc / profile

Script de démarrage pour l’ensemble du système Analysés par tous les utilisateurs ayant un shell bourne ou dérivé (c-à-d sh, ksh,

zsh,bash) Règle généralement la varible PATH par défaut, les limites d’utilisateurs, de même que

d’autres variables et paramètres. Bash n’apparaît qu’avec un shell de connexion.

# /etc/ profile #system wide environment and startut programs #function and aliasesgo in /ETC/ bashrc if ! echo SPATH | / bin|grep –q “/usr/ x11R6/bin” ; then PATH=”SPATH | / bin” ; then Fi Ulimit -s -c 1000000 > /DEV/null 2>&1 If [ ‘id -gn’ = ‘id –un’ –a ‘ id -ù –gt 14 ] ; then Umask 002 Else Umask 022 Fi USER=’id -un ‘ LOGNAME= SUSER MALL=’ /var/spool/mail/SUSER " HOSTNAME= ‘/bin/hostname’ HISTSIZE=1000 If ( -z « SINPUTRC3 -A ! -f “SHOME/ .inputrc” ]; the

INPUTERC= / etc/inputerc Fi Export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTERC For I in /etc/profile.d/* . sh ; then If [ -x si ] ; then si

Linux : Principes de Base Elies JEBRI

Page N° 121

fi done uset i

/etc/bashrc Définitions des alias et fonctions systèmes.

/etc/profile .d

Red Hat place un certain nombre de scripts de démarrage spécifiques à des applications dans ce répertoire .

Scripts appelés par une boucle for dans /etc / procédures de réglage des variables et d’initialisation d’exécution des scripts.

$ Is / etc / profile .d / colorls .csh lang . csh less .csh mc. Csh pvm . csh which-2 . csh xpvm. Csh colorls . sh lang . sh less . sh mc . sh pvm . sh which-2 sh xpvm . sh $ cat / etc / profile . d/ colorls.sh # color- Is initialization CLORS=/etc/DIR_ CLORS eval ‘dircolors –sh /etc/ DIR_COLORS’ [-f “$ HOME /. dircolors ” ] && eval ‘dircolors –sh $ HOME / .dircolors’ && COLORS = $HOME / . dircolors if echo $ SHELL grep bash 2> & 1 > / dev /null: then # aliases are bash only if ! egrep – qi “ˆCOLOR .*none ˝ $ COLORS $ > / dev /null ; then alias LL = ‘Is –1- -color = tty’ alias L. = ‘Is –1s – d . [a –zA-Z ] * -- color = tty’ alias Is = ‘Is – color = tty’ else alias II = ‘Is – 1 ̉ alias I. = ‘ Is – d . [a – AZ- Z ]* ́ fi fi

Autres scripts de démarrage

˜ / . bash_ profile situé dans le répertoire personnel. Contient les personnalisations ou additions des commandes dans / etc / profile. Analysé uniquement par les shells de connexion

Linux : Principes de Base Elies JEBRI

Page N° 122

˜ / . basshrc Situé dans le répertoire personnel. Exécuté par tous les shell.

$ cat .bash_profile # . bash _profile # Get the aliases and functons if [ -f ˜ / . bashrc] ; then . ˜/ . bashrc fi # User specific environment and startup programs PATH = $ PATH :$ HOME / bin BASH_ENV =$HOME /. bashrc Export BASH_ENV PATH unset USERNAME $ cat . basshrc # . bashrc # User specific a dises and functions # Source global definitions if [-f /etc / bashrc ] ; then ./ etc / bashrc fi

Bash _ logout Situé dans le répertoire personnel. Exécuté lorsque vous sortez d’un Shell de connexion. Est utile pour exécuter automatiquement des programmes lorsque vous terminez votre session. Exemples d’utilisations :

Faire des copies de sauvegarde de fichiers ; Eliminer des fichiers temporaires.

Shells de connexion

Les shells de connexion sont les premiers shells lancés(c-à-d lorsque vous vous connectez) Les shells lancés depuis un shell de connexion ne sont pas des shells de connexion. Les shells de connexion règlent

L’environnement exportés vers les autres shells( qui ne sont pas des shells de connexion.

Linux : Principes de Base Elies JEBRI

Page N° 123

Notions de base sur les scripts

Les scripts Shell sont des fichiers texte qui contiennent des commandes. Les scripts Shell sont utiles pour :

Automatiser l’entrée de commande ; Exécuter l’administration du système et le repérage de pannes ; Crée des applications simples.

Un script sell est tout simplement un fichier texte contenant des commandes. Les scripts sont utiles pour automatiser des processus que vous exécutez de façon répétée à la ligne de commande. Imaginez, par exemple, que vous exécutiez les opérations suivantes chaque matin lorsque vous vous connectez :

vérification de la date du système ; visualisation du mois courant à l’aide du calendrier ; vérification de votre courrier électronique ; affichage de la liste des utilisateurs.

Plutôt que d’entrer les commandes une par une pour exécuter les taches 1à4, vous pourriez créer un script sell contenant ces commandes. Ainsi, chaque matin vous n’auriez qu’a entrer une seule commande pour exécuter ces 4 taches. Nous créerons précisément un script pour réaliser ce travail au cours des prochaines pages. Les utilisateurs UNIX qui ont un rôle d’administration du système et de repérage des erreurs utilisent souvent les scripts selle. Un grand nombre de ces scripts sont crées de l’installation du système d’exploitation. Prenez par exemple les script/etc./profile. Il s’agit du script de connexion pour l’ensemble du système qui s’exécute chaque fois qu’un utilisateur se connecte au système.Les utilisateurs chargés de l’administration du système et du repérage des erreurs utilisent souvent ce fichier lorsque doivent régler des problèmes reliés à la connexion des utilisateurs. Les programmeurs créent régulièrement des versions simplifiers de programmes à l’aide de scripts lors des phases initiales d’un proet de programmation. Cette méthode est appelée prototypage. Une fois les programmeurs et les utilisateurs du programme satisfait des fonctions principales du programmes, les programmeurs créent alors le programme définitif et toutes ses fonctions à l’aide d’un langage de programmation tel que C.

Linux : Principes de Base Elies JEBRI

Page N° 124

Création de scripts Shell

voici la marche à suivre pour un script Shell : utilisez un éditeur de texte, tel que emacs , pour créer le

fichier texte devant contenu les commandes. Faites en sorte que le script soit exécutable. Pour exécuter le script :

Placez le fichier du script dans un répertoire dans le chemin d’accès exécutable ou ;

Spécifiez le chemin d’accès absolu ou relatif du fichier sur la ligne de commande.

Les scripts sell contiennent d’habitude une commande par ligne, mais il peut y en avoir plus si vous les séparez des points-virgules( ;). Le caractère de répétition pour bash est la barre oblique inverse suivie d’une nouvelle ligne. Pour ce faire, appuyez sur la touche/ et ensuite sur la touche Entrée depuis la plupart des claviers. Cela vous permet de saisir une commande qui s’entend sur plusieurs lignes. Assurez-vous que le script est situé dans un répertoire faisant partie de la liste donnée par la variable d’environnement PATH. Vous n’avez qu’à entrer la commande suivante pour vérifier : Echo SPATH Si le script n’est pas situé dans un répertoire faisant partie de la liste donnée par la variable PATH, mettez –le dans un répertoire qui en fais partie (tel que, par exemple, SHOME/bin) ou spésifiez le chemin d’accès absolu sur la ligne de commande lorsque vous exécutez le script : /hom/user/mytestscript ./mytestscript

Faire en sorte qu’un script soit exécutable

Changer les autorisations du fichier. $ chmod a+x myscript.sh

Assurez- vous que la manière ligne contient magic(# !).

#!/ bin/sh contient le nom du sell (interpréteur) à utiliser pour analysez le

script. Après avoir créé le script à l’aide d’un éditeur de texte et l’avoir enregistré, vous devez changer les autorisations du fichier du script afin qu’il devienne exécutable (notez que les scripts doivent aussi être lisibles pour être exécutés, de manière à ce que le sell puisse lire le script et l’interpréter en code exécutable ). Si vous étés propriétaire d’un script (appelé script file) et souhaitez qu ‘il soit exécutable, entrez la commande suivante : chmod u+x script file

Linux : Principes de Base Elies JEBRI

Page N° 125

Génération d’une sortie

utilisez echo pour générer une sortie simple. echo "welcome to linux paradise!"

utilisez printf pour générer une sortie formatée. printf "the result is %.2f/n" $RESULT

syntaxe semblable à la fonction print() de c. la fonction print fournit plus de flexibilité pour le formatage de la sortie que la commande echo. Contrairement à echo, printf ne fournit pas une nouvelle ligne. Cela vous permet ainsi d’avoir plusieurs instructions printf s’appliquant à une ligne , lors de situations de formatage plus complexes. Vous devez utiliser la séquence d’échappement/n si vous avez besoin d’une nouvelle ligne. La valeur format string peut etre composée de caractères littéraux, de chaines de contrôle de formatage et d’options supplémentaires. Les chaines de contrôle de formatage.sont construire sur le modèle % largeur. Précision suivi par bune lettre de contrôle de formatage.la valeur largeur spécifie la largeur de champs minimum .La valeur précision établit la nombre de chiffre à afficher après le point décimal pour les nombres affichés en notatiion scientifique .Dans le cas de chaînes de caractéres, précision établit le nombre maximum de caractere à afficher. Voooici quelques-unes des lettres de contrôle de formatage existance :C- caractére ,i – nombre décimal ,e- notation exponentielle, s- chaine). Exemple : # ! /bin / sh var l = "Testing" var 2= 12345 printf "var1 is %10 .5s\ n" $ var1 printf "var1 is %7.7s\ n" $ var1 printf "var2 is %5.5e\ n" $ var2 printf "var3 is %2.1e\ n" $ var2 sortie var1 is Testi var1 is Testing var1 is 1.23450 e +04 var1 is 1.2e+04

Manipulation d’une entrée utlisez la commande read pour attribuer une valeur d’entrée à une variable du shell. Echo -n "Enter your age : "read AGE

La commande Read prend une ligne depuis l’entrée standard et la divise en mots (normalement ,un mot se définit par une chaîne de caractères entourée d’espaces blancs aux extrémités ). Le premier mot est assigné à var1 , le deuxième à var2 et ainsi de suité .S’il y a de variable ,la dernière variable se voit assigner tous les mots restants. L’option – p est utilisé pour afficher une chaîne d’invites. Mettez la chaîne entre guuillements si vous besooin de présenter à l’utilisateur une commande ayant plusieurs mots. Exemple : # ! /bin / sh

Linux : Principes de Base Elies JEBRI

Page N° 126

read - p "Enter several values: " valeu1 value2 value3 echo valeu1is $value1 echo valeu2is $value2 echo valeu3is $value3

Exécution conditionnelle à l’aide de l’instruction If:

Les instruction logique conditionnelles évaluent des expressions test et exécutent différentes actions en fonction du résulta t obtenu.

La structure de contrôle if ,then, else, fi est une des façons disponibles pour appliquer une exécution conditionnelle.

La forme de base de l’instruction if est la suivante : If condition Then commande(s) Else Alt – commande (s) Fi Si l’expression test vraie ,alors les commandes indiquées pares then sont executes .Dans le cas contraire ,ce sont les commandes indiquées après else qui sont exécutées. Exemple : # / bin / sh read - p "Enter a password" $ pwd – entered if ["$ pwd entred "= " password " ] then echo password is correct else echo password is incorrect fi

Exécution conditionnelle à l’aide de l’instruction case

L’utilisateur de l’instruction case est une autre méthode disponible pour appliquer une exécution conditionnelle

Il est possible de représenter une série d’instructions if -then –else de façon concise à l’aide d’instructions case.

La forme de base de l’instruction case est la suivante : Case expression in Motif 1 ) Instructions ; ;

Linux : Principes de Base Elies JEBRI

Page N° 127

Motif 1 ) Instructions ; ;

* ) Instructions ; ; # action de case par défaut

Esac Si l’expression correspondà l’un ou l’autre des motifs ,alors les instructions qui suivant le motif sont exécutées. Exemple : # ! /bin / sh read - p "Enter a password " $ pwd – entered case $ pwd – enterd in password 1) echo you enterd password ;; pattern2 ) echo yoou enterd password 2 ;; easc

Boucle for La structure de la boucle for est une méthode servant à exécuter des commandes à répétition pour une liste de valeurs .Voici sa syntaxe : For variable in liste-de –valeurs do commandes … done les valeurs sont généralement des chaînes .Le bouclage se poursuit tant que la liste de valeurs n’est pas épuisée. Exemple : # ! /bin/ sh read - p "enter several words" words –entered clear echo the words you entered are: for word in $ words – entered do echo $word done

Boucle while La structure de la boucle while est une méthode très utile servant à executer un ensemble de commandes lorsu’une des conditions demeure vraie .Sa syntaxe est : While condition

Linux : Principes de Base Elies JEBRI

Page N° 128

Do Commandes …. Done Le script suivant fait appel à une boucle qui s’exécute sans relâche tant que vous n’entrez pas le bon mot de passe ,qui est opensesame (sésame ouvre-toi !). Exemple : 1. créez le script ci-dessous .Enregistrez – le sous le nom while –test .Faites en sorte qu’il soit exécutable et essayez-le. # ! /bin/ sh read – p " Enter a password " pwd – entered clear while ["$ pwd –enterd "! = " opensame" ] do echo sorry ,try again read - p "Enter a password" pwd –entered done echo Correct password entered

Boucle unti1 La boucle until ressemble à la boucle while, sauf que le bouclage se poursuit jusqu’à ce qu’ une condition s’avère vraie. Until condition Do Commandes … Done La structure until est l’opposé logique de l’instruction while.

Linux : Principes de Base Elies JEBRI

Page N° 129

Utilisation de paramètres de position

Les paramètres de position sont des variables spéciales qui transmettent les arguments ligne de commande au script.

Les paramètres de position sont diponibles via les valeurs $ 1 ,$ 2 , $ 3, etc. $* transmet tous les arguments de la ligne de commande.

La plupart des commandes et des scripts peuvent exécuter différentes tâches , en fonction des arguments fournnnis au programme. Exemple : # !/ bien/ sh echo the first command line argument is $1 echo the second command line argument is $2 echo the third command line argument is $3

Conseils pour l’utilisation de l’historique

Utilisez les flèches de direction pour faire défiler les commandes précédentes. Entrez CTRL-R pour effectuer la recherche d’une commande dans l’historique

des commandes. (reverse-i-search) Utilisez ESC. Ou ALT. Pour rappeler le dernier argument de la commande

précédente. Historique L’historique représente un outil formidable pour améliorer votre productivité. En effet, les utilisateurs de linux qui prennent l’habitude de se servir de l’historique emploient le shell de façon beaucoup plus efficace et rapide. Vous pouvez ignorer les commandes répétées en double, de même que les lignes répétées qui ne différent qu’au niveau des espaces les précédent, en ajoutant ce qui suit à votre fichier. bashrc. Export HISTCONTROL=ignoreboth

Conseils pour l’utilisation de l’achèvement de commandes

Entrez TAB pour compléter des lignes de commande. Bash complète des commandes et des noms de fichier. $ xboa<TAB>

$xboard Personnalisation de l’achèvement de commandes Vous pouvez configurer l’achèvement de commandes de façon à ignorer certains fichiers. Par exemple, pour ignorer les fichiers se terminant par .bak, ajoutez la liogne suivante à votre fichier .bashrc. Export FIGNORE= !.bak !

Linux : Principes de Base Elies JEBRI

Page N° 130

Conseils pour l’édition de lignes de commande

CTRL-A déplace le curseur en début de ligne. CTRL-E déplace le curseur en fin de ligne. CTRL-K élimine tout jusqu’à la fin ded la ligne. ESC suivi de f déplace le curseur au début du mot suivant. ESC suivi de b déplace le curseur au début du mot précédant ou courant.

Edition de ligne de commande La conjugaison de l’édition de lignes de commande et de l’historique est un excellent moyen pour modifier des commandes qui ont été exécutées précédemment. Les combinaisons de touches par défaut sous bash sont les mêmes que celles de l’éditeur de texte emacs ; des combinaisons de touches de style vi sont également disponibles.

Conseils pour l’édition de lignes de commande (suite)

Par défaut, bash utilise des combinaisons de touches detype amacs pour l’édition de lignes de commande.

Entrez set-o vi pour changer et adoptre des combinaisons de touches de type vi. Si vous désirez vi par défaut, ajoutez la commande ci-dessus à $HOME/.inputrc Combinaisons de touches

La plupart des utilisateurs préfèrent les combinaisons de touches de style emacs. Toutefois, les mordus de vi préfèrent bien entendu les combinaisons de touches de style vi. Si vous optez pour ce monde, les commandes ont un comportement modal, comme si vous étiez sous vi.

Linux : Principes de Base Elies JEBRI

Page N° 131

FIN DE LA LEÇON 10

Question et réponses Résumé

Fichier important étudiés au cours de cette leçon : /etc/profile /etc/bashrc ˜/ . bashrc ˜/ . bash_profile Commandes importantes étudiées au cours de cette leçon : Sh Bash Csh Ksh Tcsh Which Nohup

Linux : Principes de Base Elies JEBRI

Page N° 132

EXERCICES DE LA LEÇON 10 Le shell bash Durée approximative : 45 minutes Objectif : Développer vos aptitudes en matière de personnalisation du shell bash et de création de pseudonymes personnalisés.

Séquence 1 : utilisation de pseudonymes Mise en situation : Créez et testez un pseudonymes shell, puis installez-le dans ˜/ . bashrc. Tâches :

1. Vous avez décidé de créer un pseudonyme ( alias ), de façon à ce que le système exécute la commande clear pour libérer l’écran lorsque vous entrez cls. D’abord, connectez-vous en tant qu’utilisateur student sur le tty1, ensuite entrez et testez votre pseudonyme.

$ alias cls=clear $ alias $ cls

2. Ce pseudonyme n’est pas enregistrer et par conséquent, sera perdu si vous terminez votre session et vous connectez de nouveau. Aussi , pour vous assurer que ce pseudonyme est disponible chaque foi que l’utilisateur student se connecte, exécutez les étapes suivantes :

$ cd $ vi .bashrc Localisez la ligne contenant le texte qui suit : # User specific aliases and fonctions. Ajoutez votre pseudonyme sur la ligne juste en dessous : Alias cls=clear Enregistrez le fichier et quittez.

3. Testez le changement effectué en terminant votre session et vous connectant de nouveau sur le tty1, puis entrez ceci :

$ alias $ cls

Résultat: Un système ayant un tout nouveau pseudonyme qui libère l’écran et est disponible automatiquement lors de chaque connexion.

Linux : Principes de Base Elies JEBRI

Page N° 133

Sequence 2 : Configuration des options du shell Mise en situation : Vous procéderez a plusieurs personnalisations de votre environnement shell bash à l’aide de set et shopt. Tâches : Connectez-vous sur tty1 en tant qu’utilisateur student. Visualisez ensuite une liste de quelques-

unes des options du shell actuiellement configurées :

$ set -o allexport off braceexpand on errexit off hashall on …sortie tronquée…

Notez le réglage actuel ( off ) de l’option noclobber. Vérifier s’il vous est effectivement possible d’appliquer la fonction « clobber » aux fichiers à l’aide d’une sortie redirigée.

$ echo “contenu original “ > foo $ cat foo contenu original

$ echo “nouveau contenu” > foo $ cat foo

Nouveau contenu Utiliser set pour modifier l’option noclobber et vérifiez ensuite son fonctionnement.

$ set –o noclobber $ echo “newer contents” > foo bash: foo: cannot overwrite existing file.

Notez le réglage actuel (off) de l’option ignoreeof vérifiez son fonctionnement en appuyant sur CTRL+D pour savoir si vous êtes sortie de votre session.

Reconnectez-vous sur le tty1 en tant que student , exécutez le changement suivant à l’option ignoreeof et testez-la.

$ set –o ignoreeof $ CTRL+D $ Utilisez “exit” pour quitter le shell. $ set +o ignoreeof $ CTRL+D Maintenant, utilisez la commande incorporée shopt du bash2 pour visualiser des option

supplémentaire du shell.

$ Shopt cdable_vars off cdspell off checkhash off

Linux : Principes de Base Elies JEBRI

Page N° 134

checkwinsize off …sortie tronquée… réglez et testez le fonctionnement de l’option cdspell (N.B. : prêtez une attention toute particulière

aux fautes de frappe faites intentionnellement dans les commandes suivantes) : $ cd $ mkdir test_directory $ cd test_ driectoy bash: cd: test_ driectoy: No such file or directory $ shopt –s cdspell $ cd test_ directory test_directory $ pwd /home /student/test_directory $ cd .. $ shopt –u cdspell $ cd test_directoy bsh : cd: test_directoy: No such file or directory

Vous venez tout juste de voir que lorsque vous essayer d’exécuter une commande depuis l’invite du shell, il se pourrait en réalité que vous executer un binaire externe, une commande du shell incorporée, un pseudonyme, une fonction du shell, etc. Il est parfois important de déterminer ce que le shell exécute réellement lorsque vous entez une commande. Utilisez la commande incorporé du shell type pour demander au shell ce qu’il utilise pour exécuter les commandes suivantes :

$ type cat cat is /bin/cat $ type cls cls is aliased to ‘clear’ $ type shopt shopt is a shell builtin $ type while while is a shell keyword

Résultat:

Une meilleure compréhension des différentes options du shell.

*** Fin de la séquence 2***

Linux : Principes de Base Elies JEBRI

Page N° 135

Séquence défi : utilisation des fonctions du Shell Mise en situation : Si l’instructeur estime que le temps le permet, essayez de créer et utiliser l’exemple simple de fonction du shell qui suit : Tâches :

depuis une invite du shell bash, créer une fonction du Shell simple en entrant ceci : $ lsbytesum ( ) >{ > Totalbytes=0; > for Bytes in $(ls –l grep “^-“ | cut –c30-41); > do > let TotalBytes=$Total Bytes+$Bytes; > done; > TotalMeg=$ (echo –e «scale=3 \ n$TotalBytes/1048576 \nquit » | bc); > echo -n « $TotalMeg» >}

Pour vérifier si votre nouvelle fonction est disponible et pour être témoin de son impressionnante puissance, exécutez ce qui suit : $ set …sortie omise - votre nouvelle fonction est au bas … lsbytesum= ( ) {

TotalBytes=0; for Bytes in $ (ls –1 grep “^-“ I cut –c30-41); do Let TotalBytes=$TotalBytes+$Bytes; done; TotalMeg=$ (echo -e “scale=3 \ n$TotalBytes/1048576 \nquit » | bc) ; echo -n « $TotalMeg »

} …invite complète afichée, afin de montrer les changements apportés à l’invite … [stident@stationl student1 $ Ps1= » [\ u@\h: \w (\$(lsbytesum) Mb) ] \$ ” [stident@stationl :~ (11.971 Mb) ] $ cd / bin [stident@tationl :/ bin (.476 Mb)]$ cd /sbin [stident@stationl :/ sbin (.587 Mb)] $ cd /etc [stident@stationl :/ etc (.124 Mb)] $

3. Questions défi additionnelles: 1) quelles sont les étapes à suivre pour que cette fonction soit chargée chaque fois que vous

connectez ? 2) Quelles sont les étapes nécessaires pour convertir cette fonction en un simple script shell ?

Resultat : Une nouvelle invite du shell primaire qui affiche le total de toutes les tailles de fichiers du répertoire courant.

*** Fin de la séquence défi***

Linux : Principes de Base Elies JEBRI

Page N° 136

+ LEÇON 11

X / GNOME / KDE Objectifs : Comprendre les concepts et l’architecture de X Explorer des applications utiles de X Thèmes abordés : Concepts et architecture de X Applications de X

Linux : Principes de Base Elies JEBRI

Page N° 137

Système X Window Fournit la base des composants graphiques de Linux. Créé en 1986 et toujours employé aujourd’hui. Raisons : son bon design, modulaire et extensible.

Architecture Client / Serveur X Free 86-mise en œuvre Open Source gratuite de X X Le système X Window ( aussi appelé «X » ou « X11 », mais jamais « Xwindows » au pluriel ) est la base de l’interface utilisateur graphique de Red Hat Linux. Le système X Window est maintenu par le consortium X, que vous pouvez visiter à l’adresse Web http:// www.x.org. Ce dernier crée la mise en œuvre de référence de X sous la licence Open Source, appelée X licence. D’autres fabricants utilisent le code source pour créer ou construire leurs propres produits. Le projet Xfree86 ajoute des pilotes de matériel pour toute une série de cartes vidéo, de même que de nombreuses extensions et les distribue en tant que Xfree86. A l’origine, Xfree86 n’était destiné qu’aux puces compatibles Intel, mai il est maintenant pris en charge par les systèmes PowerPC, Sparc et Alpha. Architecture Client / Serveur Il est important de bien comprendre la relation qui existe entre X et ce que vous voyez à l’écran. X ne définit pas ce à quoi les choses doivent ressembler où la façon dont elles doivent se comporter. X s’occupe plutôt de fournir une manière standard selon laquelle les applications, appelées clients X, peuvent s’afficher à l’écran. Le serveur X est donc le programme qui communique avec votre matériel graphique. Toute application voulant afficher des graphiques à l’écran est un client X. X fournit ainsi l’infrastructure nécessaire aux clients X. Xinerama La version 4.x de Xfree86 est basée sur X11 édition 6.4, alors que la version Xfree86 3.3.x est basée sue X11 édition 6.3. L’une des caractéristiques des intéressantes de X11R6.4est l’ajout de Xinerama. Xinerama est une extension du serveur X qui permet à de nombreux moniteurs physiques de se comporter comme s’ils n’étaient qu’un seul et unique écran. Cela vous permet de glisser et déplacer des applications d’un moniteur physique à l’autre. X a toujours été multi-monitteurs ( aussi appelé multi-head), sauf que ses fenêtres ne peuvent s’étendre sur plusieurs moniteurs physiques ou sortir de leurs limites. Xinerama est la solution pour remédier à cette restriction.

Linux : Principes de Base Elies JEBRI

Page N° 138

Protocole X

Les applications X communiquent avec un afficheur via le protocole X. X est indépendant du système d’exploitation. Il est disponible sur de nombreuses plates-formes.

L’histoire du protocole X.

X est protocole Dans l’univers X, les applications (appelées clients X) sont complément séparées de l’afficheur ( appelé serveur X). X utilise un protocole réseau asynchrone pour la communication entre les clients X et le serveur X. ce protocole définit la façon dont les éléments graphiques sont communiqués entre les client X et la serveur X. l’un des avantages de cette méthode est de permettre au protocole X de cacher les détails individuels du système d’exploitation et du matériel sous-jacent. Un client X exécute sur un système d’exploitation, quel qu’il soit, peut afficher sur n’importe quel serveur X en cours d’exécution sur n’importe quel système d’exploitation. Sur un poste de travail unique, les clients X et le serveur X communiquent également entre eux à l’aide du protocole X, mais au lieu d’utiliser le protocole TCP/IP, ils ont recours à une connexion (socket) UNIX à grande vitesse. Généralement, il s’agit du fichier socket / tmp / .X11-unix /XO. Histoire de X En 1984, le MIT ( Massachusetts Institute of Technology) crée le projet Athena. Son objectif est de rassembler tous les postes de travail incompatibles existants produits par différents fabricants et de développer un réseau de postes de travail graphiques pouvant être utilisé à des fins d’aide à l’enseignement. La solution obtenue est un réseau enmesure d’exécuter des applications locales et d’appeler simultanément des ressources à distance. Le premier environnement d’exploitation graphique véritablement indépendant du type de matériel utilisé et de son fabricant est ainsi créé : le système X Window. Déjà en 1986, des organisations externes commencent à demander le système X. En 1988, le MIT lance officiellement la version 11 édition 2. le Consortium X gérer aujourd’hui tout ce qui trait au développement de X ; sa version la plus récente est l’édition 6. Le système X Window, fonctionnant à l’aide du protocole X, est l’environnement graphique de Linux. Il faut comprendre que X n’est pas une GUI en soi, mais bien l’infrastructure graphique de base derrière la GUI. Transparence réseau

Le protocole X peut être envoyé via un TCP/IP Il permet aux applications d’exécuter et d’utiliser les ressources d’un

ordinateur, tout en affichant et acceptant l’entrée, à l’aide d’une souris ou d’un clavier, d’un autre ordinateur.

X à distance Les client X exécutés sur un hôte peuvent afficher sur le serveur X d’un autre hôte via réseau, en autant que les autorisations nécessaires aient été accordées. X permet un accès sans problème des

Linux : Principes de Base Elies JEBRI

Page N° 139

clients d’une station au serveur d’une autre station de travail et ce, même si cette dernière exécute un système d’exploitation différent de celui exécutée par la première station. Le serveur X utilise par les clients X pour afficher leur interface est déterminée par la variable d’environnement DISPLAY. Par défaut, celle-ci est réglée sur : 0, qui représente l’écran principal de l’ordinateur local. Si vous souhaitez, par exemple, spécifier au système d’afficher les client X de saffron sur l’écran principale de l’hôte somehost .example . com, utilisez ce qui suit : [ user @ saffron ] $ export DISPLAY =somohost. Example. Com: 0 par défaut, le serveur X ne permet pas aux ordinateurs distants d’afficher leurs clients x sur l’écran local. Il existe deux mécanismes pour autoriser les clients à afficher sur un serveur X :xhost, qui peut être utilisé pour permettre à tous les utilisateurs d’un hôte donné d’afficher sur un serveur X ; et xauth , qui ne permet l’affichage qu’aux clients X ayant un « témoin1 » de données spécifique. Généralement, lorsque ssh est utilisé pour connecter à un ordinateur distant, la variable DISPLAY et le témoin xauth de l’utilisateur sont automatiquement réglés de façon à permettre aux clients X d’être exécutés sur des ordinateurs distants d’afficher à l’aide de leur serveur X local. Cela permet aussi de protéger les données du protocole x envoyées, en les transmettant via un tunnel crypté.

Versatilité le X Flexibilité des composants principaux : •Aptitude à utiliser des polices de caractères sur un ordinateur local ou distant ; •Diverses ouvertures de session graphiques

-- gdm, kdm, xdm Nombreuses possibilités de

Personnalisation de la GUI : •Divers gestionnaires de fenêtres ; •Divers ensembles de widgets.

Le système X Window est extrêmement modulaire et permet à l’administrateur ou à l’utilisateur final de permuter des composants à son bon vouloir. Cette modularité explique d’ailleurs pourquoi, après plus de 15 ans, X est encore très utilisé. Widgets Un Widget est un composant d’une application GUI. Les widgets peuvent être des boites de dialogue, barres de défilement, menus, case à cocher, listes, etc. Il existe de nombreuses bibliothèques de widgets que les applications peuvent utiliser : Athena, Motif, QT, GTK+, et bien d’autres. La bibliothèque QT est utilisé par l’environnement KDE, alors que la bibliothèque GTK+ est utilisé par l’environnement GNOME. L’environnement bureau par défaut peut être défaut peut être défini dans / etc./ sysconfig/ desktop ; vous avez le choix entre GNOME, KDE ou Anotherlevel. En outre, chaque utilisateur peut également définir son propre environnement bureau par défaut à l’aide de switchdesk.

Linux : Principes de Base Elies JEBRI

Page N° 140

Gestionnaires de fenêtres

Gestionnaires de fenêtres : •Clients X spéciaux ;

•Exécution de déplacements, dimensionnements et mises au point des fenêtres ; •Personnalisation d’applications ;

Réduction, agrandissement et restauration de boutons ; • Barre de titre ;

•Menus d’arrière plan et barre d’outils

Les gestionnaires de fenêtres sont des types particuliers de client X. Ils englobent d’autres clients et leur permettant d’être déplacés, redimensionnés ou mis sous forme d’icône. Il peuvent également servir à personnaliser le fenêtre root, les menus configurables, les liens d’application et les bureaux virtuels. Les clients X peuvent être géré par n’importe quel gestionnaire de fenêtres. Il existe une multitude de gestionnaires de fenêtres disponibles pour X Red Hat Linux en fournit plusieurs : sawfish, gestionnaire de fenêtre par défaut du bureau GNOME. Englightenment, autre solution, très intéressante du point de vue graphique et offrant une grande configurabilité. Fvwm, gestionnaire de fenêtres moins gros et très utilisé, qui se prête bien aux situations de mémoire restreinte. WindowMaker, gestionnaire de fenêtres GNU conçu pour imiter l’apparence et le confort d’utilisation de la GUI Nex Step. Twm, gestionnaire de fenêtres de base utilisé comme gestionnaire de secours par défaut. KDE ( K Desktop Environment) fournit son propre gestionnaire de fenêtres :Kwm

Sawfish

Gestionnaire de fenêtres par défaut de GNOME Anciennement appelé Sawmill. Personnalisation par thèmes

•http : / / sawill . thèmes . org Grandes flexibilité et possibilités de personnalisation

•sawfish-ui •Fait aussi de l’outil de configuration de Gnome.

Configuration de Sawfish

Linux : Principes de Base Elies JEBRI

Page N° 141

GNOME

Trois caractéristiques principales : •Environnement bureau cohérent et facile à utiliser ; •Vaste gamme d’outils et de bibliothèques pour le développement de logiciels ; •Applications de bureautique GNOME Office.

Utilise GTK + un ensemble de widgets. KDE

KDE signifie K Desktop Environnement(environnement bureau K). Environnement bureau cohérent Applications de bureautique Koffice Utilisation l’ensemble de widgets QT.

Environnement X original

X11 sans GNOME ou KDE •Solution plus légère pour matériel bas de gamme

WidowMaker •Gestionnaire de fenêtres inspiré de la GUI NeXTSTEP.

twm •L’un des gestionnaires de fenêtres originaux pour X Switchdesk

Outil de commutation de l’environnement bureau •Possibilité de choisir GNOME, KDE ou simplement un gestionnaire de fenêtres.

Modifie le fichier ~/ .Xclients de l’utilisateur. •GNOME (exec gnome-session) •KDE ( exec startkde) •WindowMaker (exec / user / bin / wmaker) •Twn (exec / user / bin / wmaker)

Linux : Principes de Base Elies JEBRI

Page N° 142

Configuration de la souris

X est conçu pour fonctionner avec une souris à trois boutons. Toutefois, si vous avez une souris à deux boutons seulement, il est possible d’émuler le troisième

bouton en appuyant sur les deux boutons en même temps. Les roulettes de défilement sont prises en charge par Red Hat Linux 7.

Cependant, certaines applications ne peuvent pas en tirer parti Mouseconfig- configuration de la souris.

Switchdesk

Outil de commutation de l’environnement bureau •Possibilité de choisir GNOME, KDE ou simplement un gestionnaire de fenêtres.

Modifie le fichier ~/ .Xclients de l’utilisateur. •GNOME (exec gnome-session) •KDE ( exec startkde) •WindowMaker (exec / user / bin / wmaker) •Twn (exec / user / bin / wmaker)

Environnement X original

X 11 sans GNOME ou KDE •Solution plus légère pour matériel bas de gamme WindowMaker

•Gestionnaire des fenêtres inspiré de la GUI NeXTSTEP. Twn

•L’un des gestionnaires de fenêtres originaux pour X

Switchdesk

Outil de commutation de l’environnement bureau •Possibilité de choisir GNOME, KDE ou simplement un gestionnaire de fenêtres.

Modifie le fichier ~/ .Xclients de l’utilisateur. •GNOME (exec gnome-session) •KDE ( exec startkde) •WindowMaker (exec / user / bin / wmaker) •Twn (exec / user / bin / wmaker

Configuration de la souris

X est conçu pour fonctionner avec une souris à trois boutons. Toutefois, si vous avez une souris à deux boutons seulement, il est possible d’émuler le troisième

bouton en appuyant sur les deux boutons en même temps . Les roulettes de défilement sont prises en charge par Red HAT Linux 7. Cependant, certaines applications ne peuvent pas en tirer parti .

Linux : Principes de Base Elies JEBRI

Page N° 143

Mouseconfig – configuration de la souris

Copier et coller

Sélectionnez le texte désiré à l’aide du bouton gauche de la souris . Collez la sélection à l’aide du bouton centrale de la souris . Appuyez sur les deux boutons simultanément si vous avez une souris à deux boutons uniquement

Couper /Copier / Coller Outre l’utilisation de la souris pour copier et coller, l’environnement GNOME offre la possibilité de se servir des touches CTRL-C (copier ), CTRL-X(couper) et CTRL-V(coller) .

Lancement de X Free 86

X peut être lancé automatiquement : Le gestionnaire d’écran fournit une ouverture de session graphique . X peut être lancé manuellement depuis une ouverture de session texte : Utilisez la commande s t a r t x .

Vous pouvez configurer le système de façon à ce qu’il lance automatiquement X au démarrage .Dans ce cas, un programme X spécial, appelé gestionnaire d’écran, offre une invite de connexion graphique, afin que vous vous connectiez directement dans votre environnement X . Si X n’est pas lancé automatiquement au démarrage de l’ordinateur, vous devez vous connecter sur l’une des consoles texte virtuelles et exécuter la commande startx depuis l’invite du shell. Ce faisant, votre environnement X est lancé automatiquement . A la fin de votre session, lorsque vous quittez X, vous revenez à l’invite du shell .

Terminaux GUI

X term Fait partie de Xfree86, le terminal original. Rxvt Remplacement plus léger de xterm Gnome-terminal Terminal par défaut de GNOME acile à utiliser Konsole Terminal standard de KDE

Editeurs GUI

Xemacs Version x de l’éditeur emacs Gvim Version GUI de vim, requiert le RPM vim-x 11 Gedit Editeur de texte simple de GNOME Kwrite Editeur de texte par défaut de KDE

Midnight Commander de GNU

Linux : Principes de Base Elies JEBRI

Page N° 144

Gestionnaire de fichiers pour GNOME 1.0et 1.2 Lancement depuis le menu de GNOME ou à l’aide de la commande gmc Prise en charge de la connexion aux serveurs ftp Version en mode de texte disponible ; mc Sera remplacé par Nautilus dans GNOME 1.4 .

gtop Contrôle puissant des processus Interface basée sur top en mode de texte En mesure d’afficher de façon graphique l’utilisation de mémoire interne de chacun des

processus

Gftp

Client ftp graphique Interface à fenêtre divisée, insprée du client ftp windows très utilisé WS-FTP . Prise en charge des signets Prise en charge d’opératrtions via les proxy FTP et H TTP

Gimp

Signifie GNU Image Manipulation Program (programme de manipulation d’image de GNU) Retouche de photo Composition et personnalisation d’image Est presque l’équivalent, au niveau des fonctions, de Photo Hhop 5.0. EST puissant en termes de filtres et de scripts

Xchat Excellent client IRC Prise en charge de : Signets ; Connections simultanées à des réseaux IRC multiples ; Généralement considéré comme étant le meilleur client IRC disponible pour tout système

d’exploitation

Navigateurs Web

Netscape –navigateur Web standard Mozilla –netscape Open Source nouvelle génération Konqueror – gestionnaire de fichiers de KDE, navigateur original en mode de texte Links – navigateur avancé en mode de texte

Applications de bureautique

Koffice Suite bureautique intégrée pour KDE

Linux : Principes de Base Elies JEBRI

Page N° 145

Kword, kspread, kpresenter , killustrator, kchart Abiword Traitement de texte multi-plateforme Permet d’importer des fichiers word97 et RTF. GNUMERIC Tableur pour GNOME, clone d’Excel Open Office – version Open Source de la suite bureautique Star Office

Utilitaires pour traitement d’image

Display Fait partie de la suite Image Magick. Affiche des images et y applique des effets. Convert Effectue la conversion entre divers formats d’image Gqview Catalogue les images Ee Afficheur d’images haute performance

Applications audio

Xmms Lecteur de MP3 puissant, prenant en charge les modules externes. Gmix Pupitre de mixage standard de GNOME GTCD Lecteur de CD de GNOME , prenant en charge CDDB.

Applications KDE

Kdevelop Environnement de développement intégré Konqueror Gestionnaire de fichiers de KDE, navigateur Web simple Kmail Client de messagerie POP3 Kuser Administrateur d’utilisateurs et de groupes

Personnalisation de x

X configurator Outil de configuration de x développé par Red Hat . Privilèges de super-utilisateur nécessaires Sélection de la carte vidéo Sélection du moniteur

Linux : Principes de Base Elies JEBRI

Page N° 146

Sélection de la résolution Sélection de l’intensité de la couleur

FIN DE LA LEÇON 11

Questions et réponses Résumé Quelles sont les propriétés du système x Window ? Quels sont les deux principaux environnements GUI de x ?

Fichiers importants étudiés au cours de cette leçon : Commandes importantes étudiées au cours de cette leçon : Xconfigurator Sawfish Gnumeric xmms Gnome-terminal Xchat Gimp Kdevelop Gmix Switchdesk

Linux : Principes de Base Elies JEBRI

Page N° 147

EXERCICES DE LA LEÇON 11 Personnalisation de l’environnement Graphique Durée approximative : 15 Minutes Objectif : Explorer les différentes options de personnalisation de l’environnement GNOME. Configuration de départ :Un système Red Hat Linux installé et fonctionnel qui exécute GNOME .

Séquence 1 : Personnalisation du gestionnaire de fenêtres Mise en situation : L’installation de votre système est toute récente et vous souhaitez maintenant explorer les différentes options disponibles dans le gestionnaire de fenêtres Sawfish. Tâches :

Pour commencer la configuration de Sawfish, lancez sawfish–ui depuis une session X. vous trouverez sur la gauche une liste des sections dont les options, sur la droite, peuvent être modifiées.

Débutez par la section Appearance. Faites diverses tentatives afin de trouver le thème qui vous

convient le mieux.

Cliquez sur la section Focus. Essayez les différentes options offertes et examinez bien l’effet qu’elles ont sur les fenêtres présentes à l’écran. Sélectionnez ensuite le réglage que vous préférez.

Ouvrez la section Minimizing / Maximizing et essayez les différentes options de réduction et

d’agrandissement. Assurez-vous de réduire et agrandir une fenêtre chaque fois que vous procédez à un changement pour voir l’effet obtenu choisissez les paramètres qui vous plaisent le plus.

explorez les différentes options de la section Placement. Sélectionnez le réglage qui vous semble

le plus agréable.

Résultat : Un environnement GNOME qui exécute un gestionnaire de fenêtres Sawfish² personnalisé selon vos goûts.

*** Fin de la séquence 1***

Linux : Principes de Base Elies JEBRI

Page N° 148

LEÇON 12

Impression et messagerie Objectifs :

Comprendre comment imprimer sous Red Hat Linux Comprendre les différents clients de messagerie disponibles sous Red Hat Linux

Thèmes abordés :

Impression Gestion de la file d’attente Format d’impression

E – mail Client e-mail

Linux : Principes de Base Elies JEBRI

Page N° 149

Imprimer sous Linux

Les imprimantes peuvent être locales ou en réseau Les demandes d’impression sont envoyées à une fille d’attente Les travaux en fil d’attente sont envoyée à l’imprimante selon un système premier

arrivé b, premier servi Les travaux peuvent être effacés avant ou pendant l’impression

Imprimer Le système d’impression de Red Hat Linux est très flexible .Les imprimante peuvent être parallèles en série ou un réseau le support est prévu pour imprimer sur des imprimante Ipd Windows et Netware à distance. Files d’attente Une ou plusieurs files d’attente sont associées à chaque imprimante .Les travaux d’impression sont envoyer à une file d’attente et non pas à une imprimante .Différentes files pour la même imprimante peuvent avoir différente options de priorité ou de sortie. Travaux Lorsque ‘un fichier a été envoyé à une file d’impression ,il est appelé travail .Les travaux peuvent être effacés durant l’impression ou lorsqu’ils sont dans la file d’attente.

LPRng

Le logiciel d’impression de la dernière généraux pour UNIX Utilisé les commandes traditionnelles 1 PR Ajouter des fonctionnalités comme l’authentification avancées et la direction

dynamique des files d’attente pour l’impression

LPRng

LPRng contient de nombreuses options d’impression comme par exemple la direction dynamique des files d’attente d’impression .Cela permet à un travail placé dans la file d’être déplacer à une autre file .Il propose également des fonctionnalités supplémentaire comme l’authentification ou la capacité d’avoir pluisieur imprimantes sur la même file d’attente.

Commandes d’impression

1 pr – Envoie un travail à la file d’attente d’impression 1 pq – Affiche le contenu de la file d’attente 1 prm – Elimine un travail de la file d’attente

Linux : Principes de Base Elies JEBRI

Page N° 150

lpr

cette commande est utilisé pour envoyer un travail à l’imprimante .L’option- P est utilisée pour sélectionner une file d’attente autre que la file d »attente par défaut .L’option -# est utilise pour établir le nombre d’exemplaires pour imprimer 5 exemplaires du fichier report .ps sur l’imprimante accounting :

$ lpr - Pac counting - # 5 report . ps 1pq

lorsque vous entrez dans 1 pq sans options ,il affiche les travaux qui se trouvent dans la file d’attente par défaut comme dans 1 pr l’option - P est utiliser pour spécifier une file autre que la file par défaut .Exemple :

$ 1pq printer : 1 p @ local host

Queue : 1 printable job Server : pid 31541 active Unspoiled : pid 31542 active Status : enable for spooling Rank Owner /ID Class Job Files Size Time Active guru @ 1 oc 1 host +540 A 54 results 30

1prm

pour supprimer un travail de la file d’attente d’impression ,exécutez la commande 1 prm suivie du numéro de travail .Exemple : $ 1 prm 540 printer 1 p @ local host : notez que 1 prm répond au nom de la file d’attente de laquelle le travail a été supprimé.

lpc

contrôler d’imprimante ligne afficher l’état de l’imprimante valider / invalider une file d’attente d’impression valider / invalider une imprimante avancer ou reculer un travail dans la file d’attente mode interactifs et non interactifs

lpc lpc est utilisé pour contrôler les imprimantes ,la file d’attente et les travaux la plupart de ses fonctions ne sont disponible qu’à l’administrateur de système .Un utilisateur peut cependant vérifier l’état d’une imprimante en exécutant la commande suivant $ 1 pc statut < queue> autre commandes que peut utiliser l’administrateur de système :

Linux : Principes de Base Elies JEBRI

Page N° 151

1 pc entable <queue> Valide la file pour la file nommée 1pc stop <queue> Stoppe l’impression de la file nommée 1 pc start <queue> Entame l’impression de la file 1 pc direct <queue> <destinât > Redi rection du travail vers la nommée 1 pc down < queue> Stoppe la file et l’impression Si vous entrez 1 pc sans option à la ligne de commande ,elle est lancée en modalité interactive . Toutes les commandes identique sont disponibles .Pour de plus amples informations ,lancez 1 pc en modalité interactive et tapez help.

Imprimer depuis la ligne de commande formats reconnus Postscript ASCII Utiliser l’option – P pour indiquer une imprimante autre que l’imprimante par défaut : $ 1pr - P1 assertif report .ps

la commande 1 pr exécuté l’impression depuis la ligne de commande .Il est très facile d’imprimer sur l’imprimante par défaut .Notez l’exemple : $ 1 PR report .ps le système d’impression Linux imprimera les fichiers en format ASCHou Postscript .La plupart des applications sous Linux sortent en forme Postscript.

Imprimer depuis les applications

la plupart des applications sortent en format Postscript l’impression depuis les applications utilise aussi le système d’impression LPRng les travaux sont envoyés aux files d’attente les options lpr peuvent être utilisées

lorsque vous imprimez depuis les applications comme Nets cape, la commande 1 pr. est toujours utilisée. Notez l’exemple suivant :

Utilitaire d’impression

en script – convertit le texte en Postscript gv –Affiche des fichiers en Postscript ps2 pdf –Comme Postscript en PDF pdf2 ps – convertit PDF en Postscript

Linux : Principes de Base Elies JEBRI

Page N° 152

red Hat Linux contient de nombreux utilitaires permettent de créer des sortites pour l’imprimante et d’interagir avec les fichiers Post Script. En script Cette commande convertit le texte en pot scripts et l’envoie à la file d’attente d’impression ou dans un fichier. En script est souvent utilise pour envoyer la sortie d’une commande à l’impression à l’aide d’un canal. Gv L’utilitaire ghost view est utilisé pour afficher les fichiers Post Script et PDF. Ps2 pdf Cette utilitaire permet de crée facilement des fichier PDF vous pouvez en effet utiliser n’importe quel programme créant des fichiers Post Script ,puis utiliser ps2 pdf pour convertir le fichier en format PDF. Pdf2 ps Cet utilitaire convertit les fichiers PDF en fichiers Post Scripts ce qui facilite l’impression de documents PDFdepuis la ligne de commande.

E- mail

un hôte Linux peut être un serveur ou client de messagerie denombreux clients e-mail sont disponibles modalité texte pine ,mutt graphique nestscape Messenger ,Kmail ,balsa ,avolution

le courrier électronique est devenu l’un des élément d’intrnet les plus utilise Linux a été crée sur Internet et a toujours pris en charge la messagerie, que se soit en tant que serveur ou en tant que client .Plusieurs clients de messagerie sont disponibles pour Red Hat Linux et de nouveau clients sont constamment en cours de développement.

clients e-mail

pine- Interface facile à utiliser dirigée par un menu mutt-Client de messagerie largement configurable netscape messenger- Graphique, filtrage avancé, comptes

multiples kmail- Graphique, facile à utiliser, il fait partie de KDE

pine pine est conçu pour être facile à utiliser par les néophytes, mais il est également flexible pour les habitués. Il présente une interface dirigée par menu au bas duquel sont affichées les commandes les plus importantes. pine opère en modalité texte.

Linux : Principes de Base Elies JEBRI

Page N° 153

mutt mutt est un client de messagerie extrêmement configurable et flexible, mais il n’est pas aussi convivial que pine. L’une des caractéristique principales de mutt est son affichage optionnel chaîné des messages. Netscape Messenger Netscape Communicator comprend Messenger, un client de messagerie. Il peut gérer plusieurs comptes présente des options de filtrage des messages très flexibles et graphique. Kmail KDE contient le programme kmail. Ce petit programme simple constitue un bon choix pour les débutant dans le domaine de le messagerie

POP et IMAP

POP- Post office protocol •Permet la récupération à distance et la suppression de messages •Les messages doivent être archivés chez le client

IMAP- Internet message access protocol •Permet la récupération à distance de messages et la gestion des dossiers de messages basés sur le serveur

Si votre messageries se trouve dans sur un serveur à distance, vous devriez utiliser POP ou IMAP pour accéder à vos messages. Ces protocoles permettant de récupérer les messages à distance. POP Le Post Office Protocol est plus ancien des deux. Il vous permet de récupérer votre courrier et de l’effacer sur le serveur. Après avoir été téléchargé, votre message peut être archivé sur le clien IMAP Le Internet Message Access Protocol peut afficher, trier et gérer les messages sur le serveur même. Imap permet également au logiciel client de créer et manipuler des dossiers sur le serveur. Cette approche permet d’exécuter des copies de sauvegarde centralisées et stocker les messages

Filtrer les e-mails

Netscape messenger prend en charge des options de filtrage très flexibles

Le filtrage de pine et mutt est géré par les possibilités de procmail

Il est souvent utile de filtrer le courrier qui vous arrive. Vous pouvez filtrer vos messages selon différents critères : par expéditeur, objet, etc. voici un exemple d’affichage de création de filtre sous Netscape Messager :

Linux : Principes de Base Elies JEBRI

Page N° 154

Le filtrage de messages pour pine et mutt peut être pris en charge par le programme procmail. Pour plus d’informations, tapez man procmail

Fetchmail

Récupère un message à distance et le transfère au système de courrier local Prend en charge de nombreux protocoles

•POP •IMAP •SMTP

Fetchmail s’avère souvent utile si vous avez plusieurs comptes e-mail et que vous voulez recevoir tout les messages à un seul endroit. Dans ce cas, fetchmail serait configuré pour récupérer les messages depuis tous vos compte à distance et les transférer à celui que vous consultez.

Linux : Principes de Base Elies JEBRI

Page N° 155

FIN DE LA LEÇON 12

Questions et réponses Résumé

•Imprimer depuis la ligne de commande •Imprimer depuis les applications •Clients e-mail

Fichiers importants étudiés au cours de cette leçon : Commandes importantes étudiées au cours de cette leçon : lpr lpq lprm lpc enscript gv ps2pdf pdf2ps pine mutt fetchmail

Linux : Principes de Base Elies JEBRI

Page N° 156

EXERCICE DE LA LEÇON 12

Pré-processus d’impression

Durée approximative : 30 Minutes Objetctif : Apprendre à préparer la sortie pour l’impression. Configuration de départ : Un système Red Hat Linux installé et fonctionnant. Séquence1 : Utiliser sed, enscript, et mpage pour prépare la sortie pour l’imprimante.. Mise en situation : Vous profitez des fortunes que vous offre votre systéme Red Hat Linux et voudriez imprimer toute la liste pour les présenter à vos amis. Tâches :

1. les fortunes se trouvent dans différent fichiers. Vous devrez d’abord les rassembler dans un seul grand fichier à l’aide des commandes suivant.

$ cd /user/share/games/fortune $ for I in ls grep –v .dat ; do cat si >> /tmp/fortunes. Text; done la seconde ligne de commande de cet exemple utilise l’itération for pour grep tous le fichiers de fortune (fichiers qui ne terminent pas par .dat) et le cat dans un grand fichier à l’aide d’un déroulement complémentaire. 2. Passez au rrépertoire /tmp et utilisez less pour afficher le contenu fichier fotunes. text. Vous derivez obtenir que le fichire contient toutes les fortunes et que chaque fortune soit suivie d’un %. Utilisez la commande sed pour rapidement nettoyer : $ sed s/^ % $// fortunes. texte > fortunes. texte. Cleaned Utilisez encor lesss pour afichier le contenu de fortunes. text. Cleaned. 3. Pour prépare le fichier à l’impression, utilisez enscript pour le convertir de texte à postscript. $ enscript –G – o fortunes. ps fortunes. text. Cleande 4. Utilisez ghostview pour vérifier le résultat de la conversion. Vous devez vous trouver dans X pour exécuter ghostivew. $ gv fortunes. ps 5. le fichier est maintenant prêt pour être imprimé. Mais il est très long et utilisera beaucoup de papier. Pour que les fichiers nécessitent moins de papier, utilisez mpage pour reformater de façon à ce que chaque page imprimée contiennent 4 pages de texte. $ mpage fortunes. ps > fortunes4x.ps 6. Utilisez à nouveau ghostview pour affihcer fotrunes4x.ps. le fichier est maintenant prêt à être imprimé et utilisé. Résultat : fortunes4x.ps qui contient toutes les fourtunes avec 4 page de texte par page imprimée.

Linux : Principes de Base Elies JEBRI

Page N° 157

LEÇON 13

Opération de base de mise en réseau Objectifs :

Apprendre les commandes de bases pour tester un réseau et déceler des pannes

Examiner les « r-commandes » ainsi que leurs équivalents sécurisés

Comprendre l’utilisation de rdist et rsync

Thèmes abordés :

ping / traceroute host / dig / fwhois netscape / lynx / links ncftp / telnet r { sh, login , cp} / ssh £ scp rdist / rsync

Linux : Principes de Base Elies JEBRI

Page N° 158

Ping

Mesure la connectivité et le temps d’attente entre le système local et le système distant.

$ ping www.redhat.com •Appuyer sur CTRL+C pour faire cesser l’exécution de ping

Utilise des paquets écho ICMP pour effectuer la mesure. Indique des statistiques concernant les paquets perdus.

$ ping www.redhat.com PING www.redhat.com (216.148.218.195) from 10.3.0.04 : 56 (84) bytes of data. 64 bytes from 216.148.218.195: icmp_seq=0 ttl =55 time =29.6 ms 64 bytes from 216.148.218.195: icmp_seq=1 ttl =55 time =29.1 ms 64 bytes from 216.148.218.195: icmp_seq=2 ttl =55 time =28.8 ms 64 bytes from 216.148.218.195: icmp_seq=3 ttl =55 time =28.1 ms 64 bytes from 216.148.218.195: icmp_seq=4 ttl =55 time =28.3 ms 64 bytes from 216.148.218.195: icmp_seq=5 ttl =55 time =29.7 ms 64 bytes from 216.148.218.195: icmp_seq=6 ttl =55 time =29.1 ms 64 bytes from 216.148.218.195: icmp_seq=7 ttl =55 time =32.0 ms 64 bytes from 216.148.218.195: icmp_seq=8 ttl =55 time =29.1 ms 64 bytes from 216.148.218.195: icmp_seq=9 ttl =55 time =50.5 ms

--- www.redhat.com ping statistics--- 10 packets transmitted, 10 packets received, 0% packet loss round-trip min/ avg /max = 28.1/31.5/51.5 ms ping est un utilitaire utile pour tester la connectivité d’un réseau. Comme vous pouvez le constater dans l’exemple ci-dessus, ping permet de calculer la perte de paquets et le délai d’attente( indiqué en mille secondes, à droite complètement). Notez q’en cas de panne ou de non-disponibilité du DNS, vous pouvez utiliser ping accompagné de l’option –n pour désactiver la détermination du non

Traceroute

Indique le chemin du réseau entre le système local et le système distant. $ / user / sbin / traceroute www. redhat . com. Fournit les statistiques d’attente à chaque saut. Est utile pour localiser la congestion d’un réseau.

Comme traceroute affiche des informations concernent chaque « saut » lors des déplacements des paquets, il est très utile pour repérer des erreurs de routage ou de congestions survenant sur un chemin de routage spécifique. Examinez attentivement l’exemple suivant de sortie, qui indique les noms, les adresses IP et les délais moyens de déplacement aller-route pour chacun des routeurs entres l’hôte source qui exécute la commande et l’hôte de destination ( www.yahoo.com)

Linux : Principes de Base Elies JEBRI

Page N° 159

$ / user /sbin / traceroute www.yahoo.com trace route : Warning : www. Yahou.com has multiple addresses; using 216.32.74. 51 traceroute to www.yahoo.akadns.net (216.32. 51) , 30 hops max, 38 byte packets 1 serverl.example.com (10. 100.0. 254) 1.256 ms 0.579 ms 2 guru.gurulabs. com (10. 1. 0. 1) 1.693 ms 0.638 ms 0.809 ms 209.140.75.25 (209.140.75.25) 19.736 ms 21.853 ms 21.749 ms dsl-gw-e3 . inconnect . com (207. 173. 110. 29) 21.299 ms 20.572 ms 18.636 ms slc-corel.inconnect.com (209.140.64.1) 21.729 ms 20.090 ms 20.418 ms inconnect-gw.salt-lake.good.net (209.140.5.5) 21.285 ms 20.500 ms 21.281 ms salt- lake .san-jose.good .net (209.54.101.121) 44.239 ms 40.396 ms 39.789 ms goodnet-gw.san-jose.exodus.net (207.98.191.42) 43.827 ms 41.646 ms 41.577 ms bbr02-g3-0.sntc02.exodus.net (216.33.154.100) 41.653 ms 42.646 ms 41.577 ms bbr02-p0-0.sndc03.exodus.net (216.32.173.6) 42.550 ms 41.663 ms 43.329 ms bbr01-p2-0.stng01.exodus.net (209.1.169.166) 105.686 ms 104.476 ms 104.774 ms dcr04-g9-0.stng01.exodus.net (216.33.96.146) 109.222 ms 109.293 ms 105.182 ms csr21-ve241.stng01.exodus.net (216.33.98.10) 104.805 ms 103.939 ms 109.264 ms 216.35.210.126 (216.35.210.126) 106.513 ms 111.175 ms 104.754 ms www2.dcx.yahoo.com (216.32.74.51) 110.062 ms 105.049 ms 106.963 ms

Host

Envoie une recherché à un système de nom de domaine. $ host home.netscape.com

Renvoie l’information du DNS au sujet du nom d’hote demandé ou de l’adresse IP. $ host 207 .200.89.226

•ci-dessus : une recherche renversée La plupart des types de recherches sont possibles avec l’option –t.

$ host www .redhat.com www.redhat . com has address 216 .148 .216.195

host est pratique pour déterminer des noms d’hôte et des adresses IP. Lorsque il est entré avec un nom d’hôte comme argument ( comme dans l’exemple ci- dessus ) , il vous donne une adresse IP . vous pouvez aussi lui donner une adresse IP comme argument pour rechercher le nom d’hte correspondant $ host .216.148.218.195 195.216.148.216.in-addr.arpa. domain name pointer www.redhat.com. Cette commande peut aussi être utilisée pour rechercher d’autre types de renseignements DNS avec l’option-t $ host -t mx .nets cape .com netscape .com . mail is handled by 20 xwing.aoltw.net host remplace l’ancienne commande nslookup.

Linux : Principes de Base Elies JEBRI

Page N° 160

dig Un commande avancée de l’emplacement de host $ dig www.redhat.com •Sortie semblable à celle obtenue avef host -v Utilisez l’option –x avec les adresses IP.

•$ dig -x 216 . 148 . 218 .195 Peut être exécutée depuis une ligne de commande ou un lot de traitement.

Dig est une commande alternative à host et peut agir de deux façons : elle peut accepter une recherche simple depuis l’invite du shell ou lire un lot de traitement ( spécifié avec l’option-f) contenant une liste de commandes à exécuter. $ dig slashdot.org ; Dig 9.1.0 slashdot.org ; ; global options : printcmd ; ; Got answer: ; ; - HEADER - opcode: QUERY, status: NOERROR, id: 27957 ; ; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY : 3, ADDITIONAL: 3 ; ; QUESTION SECTION: ; slashdot.org . IN A ANSWER SECTIO : slashdot.org . 7906 IN A 64.28.67.150 ; ; AUTHORITY SECTION: slashdot.org 7906 IN NS ns2.andover.net. slashdot.org 7906 IN NS ns3.andover.net. slashdot.org 7906 IN NS ns1.andover.net ; ; ADDITIONAL SECTION: ns3.andover.net 87893 IN A 209.192.217.105 ns2.andover.net 94063 IN A 209.192.217.104 ns1.andover.net 94062 IN A 64.28.67.55 ; ; Query time: 10 msec ; ; SERVER: 207.175.42.153#53 (207.175.42.153) ; ; WHEN: Wed Apr 11 15:07:22 2001 MSC SIZE rcvd: 159

Fwhois

Trouve des données d’enregistrement de domaines auprès d’ InterNIC et de bureaux d’enregistrement de domaines ( ex. : Network Solutions) $ fwhois yahoo.com

Linux : Principes de Base Elies JEBRI

Page N° 161

Est utile pour trouver ou vérifier des informations concernant des domaines.

$ fwhois redhat.com [ whois.crsnic.net] … Sortie éliminée … Registrant : Red Hat Software ( REDHAT-DOM)

P.O. Box 13588 Research Triangle Park, NC 27709 US

Domain Name. REDHAT.com Administrative Contact, Technical Contact, Zone Contact:

Network Operations center ( NOC144-ORG) [email protected] Red Hat Software P .O.Box 13588 Research Triangle Park, NC 27709 US 919-547-0012 Fax – 919-547-0024

Billing Contact: Accounts Payable ( AP1279-ORG) ap @ REDHAT.COM Red Hat Software P.O Box 13588 Research Triangle Park, NC 27709 US 919-547-0012 Fax – 919-547-0024

Record last updated on 12-May-2000 Record expires on 27-May-2001. Record created on 26-May-1994. Database last updated on 16-Oct-2000 03:15:57 EDT. Domain servers in listed order: NS.REDHAT.COM 207.175.42.153 NS2.REDHAT.COM 208.178.165.229 NS3.REDHAT.COM 206.132.41.213

Navigateur Netscape

Red Hat Linux comprend Netscape Navigator( navigateur seulement) et netscape Communicator( courrier électronique, lecture de nouvelles édition HTML).

$ netscape £ Des modules externes sont disponibles pour RealAudio, Flash et

Shockwave.

Linux : Principes de Base Elies JEBRI

Page N° 162

Permet de consulter des fichiers locaux ( pratique pour visualiser de la

documentation locale).

file:/ usr/share/doc/HTML/index.html

Netscape est outil formidable pour visualiser des image et des fichiers locaux. Sélectionnez Consulter une pqge (Open) depuis le menu Fichier (File) pour lancer une page Web à partir d’un fichier local.

Navigateur lynx

Navigateur Web rapide et élémentaire en mode de texte uniquement $ lynx http: / / www.redhat.com/

Ne permet pas de l’affichage de tableaux, cadre ou images.

$ lynx 3) Red Hat, Inc Get Free Priority FTP Access and official Red Hat Support ! Sign up for your official Red Hat benefits today! [space. gift] As an owner of red Linux 7.0 you are entitled to all of these benefits: [spacer. gif] [bullet. gif] [spacer. gif] Priority Online Access -- press space for next page--

Arrow keys: Up and Down to move. Right to follow a link; Left to go back. H) elp O) ption P) rint G)o M) ain screen Q) uit /=search [delete]=history list

Comme vous pouvez le constatez dans l’exemple de fenêtre ci-dessus, lynx n’affiche aucun image. Toutefois, il est très indiqué pour la consultation rapide d’informations texte.

Navigateur links

Navigateur en mode de texte semblable à lynx $ links http : / / www.slashdot.org/

Prend en charge les tableaux et les cadres

Le navigateur links est un navigateur en mode de texte, mais, contrairement à lynx, il prend en charge les tableaux et les cadres. Cela fait de links un outil très intéressant pour naviguer dans des sites sans images, tels que slashdot.org.

Linux : Principes de Base Elies JEBRI

Page N° 163

ncftp

Client FTP à ligne de commande versatile Session d’utilisateurs anonymes ou réels

$ ncftp ftp.cdrom.com $ ncftp - u joe ftp.myserver.com

Transferts automatisés Ncftpget et ncftpput

ncftp est un client FTP à ligne de commande utile, doté de fonctions telles que les signets et l’achèvement tab . vous trouverez ci-dessous un exemple de session interactive. $ ncftp ftp.redhat.com NcFTP 3.0.0 beta 21 (October 04 , 1999) by Mike Gleason (ncftp @ncftp.com). Connecting to 216.148.218.192… FTP server ready. Logging in… Please read the file README

it was last modified on Tue Jan 25 08:51:37 2000 - 264 days ago Please read the file README.roughcuts

it was last modified on Fri Jan 21 17:32:20 2000 - 268 days ago Guest login ok, access restrictions apply. Logged in to ftp.redhat.com. Ncftp /pub > Les transferts automatisés nécessitent une commande et aucune interaction: $ ncftpget ftp : / / ftp.redhat.com/redhat/current/iso/7.0-i386-respin-discl.iso 7.0-i386-respin-disl.iso: ETA: 36:05 1.83/644.45 MB 335.53 KB/s

wget

Récupère des fichiers via HTTP et FTP. Est non-interactif- pratique dans les scripts shell Peut suivre des liens et traverser des arborescences de répertoires sur un serveur distant- utile pour réaliser des images miroirs de sites Web et FTP.

Linux : Principes de Base Elies JEBRI

Page N° 164

Wget peut être utilisé pour récupérer un fichier via http ou FTP : $ wget http:// www.redhat.com/tarining/ --12:20:03-- http: // www.redhat.com:80/training/ connecting to www.redhat.com:80…connected! HTTP request sent, awaiting response… 200 OK Length: unspecified [text/html] OK ->………… …. 12:20:05 (9.95 KB/s) - `index . html` saved [14362]

Les options « réessayer» de wget peuvent s’avérer utiles lorsque vous tentez de récupérer des fichiers depuis des sites FTP très occupés : $ wget --tries=50 --wait=30 ftp: / /updates.redhat.com/7.0/i386/gnupg-1.0.4-5.i386.rpm Lorsque vous utilisez wget pour réaliser des images miroir d’un site, en partie ou en entier, vous pouvez limiter le nombre de niveaux de répétition (suivre de liens) : $ wget --recursive --level=1 --convert-links http : / / www.redhat.com/training/ reportez-vous à wget --help et info wget pour connaître les nombreuses autres options.

Telnet Se connecte à d’autre hôtes Méthode traditionnelle nom sécurisée d’interagir avec des systèmes distants . Nous recommandons aujourd’hui d’utiliser ssh. Est encore utile toutefois pour vérifier des services exécutés sur des ports arbitraires $ telnet localhost 25 telnet est très pratique pour vérifier des services et repérer des pannes de même que pour accéder à des systèmes distants. Examinez les deux exemples , examiner les deux exemples suivants d’abord , nous effectuons la commande telnet vers localhost afin d’obtenir une invite de connexion s telnet localhost trying 127 .0 .0 .1… connected to localhost. Escape character is '^]'. Red hat linux release 7.1 (seawolf) Kernel 2.4-2-2 on an i686 Ensuite , vers le port 25 pour nous assurer que sendmail est en cours d’exécutions

Linux : Principes de Base Elies JEBRI

Page N° 165

§telnet locahost 25 trying 127 .0 .0 .0… connected character is ‘^]’. 220 localhost; localdomain ESMTP sendmail 8.11.2/8.11.2 ; fri, 13 Apr 2001 08 : 10 : 22 -0400

Shell sécurisé :ssh Technologie de cryptage à clé publique qui remplace telnet Permet l’accès sécurisé aux systèmes distants $ ssh joe@barney joe@barney‘s password : $ ssh barney Is /tmp $ scp -p serverl:/home/user/file.txt ssh ssh permet la connexion et l’exécution de commandes à distances via une connexion cryptée sécurisée. L’exemple suivant montre comment exécuter df -h sur l’hôte hork : $ ssh hork df -h jmh@hork‘spassword: filesystem size Used avail use %mounted on /dev/hda9 252M 137M 102M 57% / /dev/hdal 19M 5.5M 12M 31% /boot /dev/hda6 508M 29M 453M 6% /tmp /dev/hda5 2.OG 1.7G 22IM 88% /usr /dev/hda7 252M 119M 120M 50% /var /dev/hdcl 2.3G 1.9G 298M 87% /home scp scp fonctionne de la même façon que CP ,sauf il effectue la copie d’un hôte à un autre dans un canal crypté sécurisé $ scp hork :proclog proclog 100% ********************** **** 28117 00 :00 ETA il est aussi possible d’utiliser sftp, un programme interactif de transfert de fichiers semblable à un simple client FTP . il est nécessaire que le sshd de l’hôte distant puisse en charge sftp pour que le client sftp fonctionne.

ridist Maintient des copies identiques de fichiers sur différents systèmes. Utilise rsh par défaut, mais peut aussi utiliser ssh $ ridist -p /usr/bin/ssh fichiers_source utilise des fichiers source , qui spécifient dans quels systèmes les fichiers sont copiés.

Linux : Principes de Base Elies JEBRI

Page N° 166

rdist est un programme qui sert à maintenir des copies identiques de fichiers dans plusieurs ordinateurs hôte , il préserve des information , telles que le propriétaire, le groupe , le mode , de même que l’heure et la date de la dernière modification des fichiers lorsque et peut mettre à jour des programme en cours d’exécution. rdist lit les commandes depuis un fichiers source pour rediriger les fichiers ou les répertoires mis à jour

rsync

Outil de remplacement pour cp permettant d’effectuer des copies depuis ou vers des systèmes distants.

Peut utiliser ssh pour le transport.

$ rsync --rsh=ssh mysong.mp3 \ barney:/home/joie

Est plus rapide que rcp car il ne copie que les différences dans les fichiers correspondant rsync est un programme qui fonctionne sensiblement de la meme manière que rcp , mais il a beaucoup plus d’options et utilise le protocole de mise à jour à distance rsync pour accélérer énormément les transferts de fichiers lorsque la destination existe déjà .en effet , le protocole de mise à jour à distance rsync permet à rsync de ne transférer que les déférences entre deux ensembles de fichiers à l’aide d’un algorithme de recherche et de somme de contrôle efficace . ce programme est très bien pour des taches telles que la mise à jour du contenu de sites we car il permet de ne transférer que les changements requis.

Linux : Principes de Base Elies JEBRI

Page N° 167

FIN DE LA LEÇON 13

Questions et réponses Résumé

Apprentissage de commandes de base pour tester un réseau et déceler des pannes

Examen des « r-commandes » et de leurs équivalents sécurisés Compréhension de rdist et rsync

Fichiers importants étudies au cours de cette leçon : Commande importantes étudiées au cours de cette leçon : Ping traceroute host dig fwhois lynx links ncftp ncftpget telnet rsh / rlogin /rcp ssh / scp rdist rsync

Linux : Principes de Base Elies JEBRI

Page N° 168

EXERCICES DE LA LEÇON 13

Client réseau de base

Durée approximative : 40 minutes Objectif : S’exercer à utiliser divers outils pour transfert de fichiers entre votre système et un système distant Configuration de départ : Un système Red Hat Linux installé et fonctionnel. Un ordinateur serveur de la salle de classe servant de serveur ftp et ssh. Un nom d’utilisateur et un mot de passe d’un compte valide sur l’ordinateur serveur de la classe. Séquence 1 : transfert de fichiers à l’aide de ncftp Mise en situation : Au cours de cette séquence, vous vérifierez la connectivité réseau entre votre ordinateur et le serveur de la salle de classe. Vous utiliserez ensuite ncftp pour transférer des fichiers entre ces deux ordinateurs. Tâches :

L’instructeur vous donnera le nom l’adresse IP du serveur de la salle. Vérifiez la connectivité réseau entre votre ordinateur et le serveur de la salle à l’aide de ping qui vous permet d’entrer le nom ou l’adresse du serveur.

$ ping -c 3 server1 PING server1 . example. Com (192 . 168 . 0.254) from 192. 168 . 0 . 2 : 56 (84) bytes of data. 64 bytes from server1 .example . com (192 . 168 . 0 . 254) : icmp_sep=0 tt1 = 255 time=214 usec 64 bytes from server1.example . com (192 . 168 . 0 . 254) : icmp_sep=0 tt1 = 255

time=212 usec 64 bytes from server1.example . com (192 . 168 . 0 . 254) : icmp_sep=0 tt1 = 255

time=218 usec --- server1 . example . com ping statistics --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max/mdev = 0.212/0.214/0.218/0.017 ms

Utilisez ncftp pour vous connecter de façon anonyme au serveur de la sale de classe et obtenir un fichier du serveur.

$ cd $ ncftp server1 NcFTP 3.0.1 (March 27, 2000) by Mike Gleason (ncftp@ ncftp . com) Connecting to 192 . 168 . 0 .254… Server1. example . com FTP server (Version wu-2 . 5 . 0 (1) Tue sep 21 16 : 48 : 12 EDT 1999 ) ready. Logging in… Guest login ok, access restrictions apply. Logged in to server1.

Linux : Principes de Base Elies JEBRI

Page N° 169

Ncftp / > cd pub Ncftp / pub > 1s Getme Ncftp / pub > get getm Getme: Ncftp / pub > exit

Examinez et modifies ensuite le fichier texte que vous venez de récupérer.

$ cat getme {votre nom } was hera ! $ pico getme Entrez votre nom à l’endroit indiqué entre parenthèses, puis enregistrez le fichier sous le nom getme. XY où XY sont vos initiales. $ cat getme. Bc Bryan Croft was here ! Utilisez ncftp pour connecter au serveur de la sale de classe en tant qu’utilisateur student et

transférez votre fichier modifié dans le répertoire personnel de l’utilisateur.

$ ncftp -u student server1 NcFTP 3 . 0 . 1 (March 27, 2000) by Mike Gleason (ncftp@ ncftp.com). Connecting to 192 . 168 . 0 . 254 … Server1 FTP server (Version wu-2. 6 . 1 (1) Wed Aug 9 05 : 54 : 50 EDT 2000 ) ready. Logging in… Password requested by 192 . 168 . 0 254 for user “student”. Password requested for student. Password: entrez_votre_mot_de_passé_à_cet_endroit User student logged in. Logged in to server1. Ncftp / home / student > put getme . bc Getme . bc: Ncftp / home / student > exit Résultat: Le transfert d’un fichier texte modifié et rebaptisé au serveur de la dalle de classe.

*** Fin de la séquence 1***

Linux : Principes de Base Elies JEBRI

Page N° 170

Séquence 2 : communication cryptée – suite ssh Mise en situation : Au cours de cette séquence, vous utiliserez la suite d’outils ssh pour effectuer le transfert sécurisé d’un fichier entre votre ordinateur et le serveur de la salle de classe. Vous établirez ensuite une session de connexion cryptée avec le serveur et vérifierez si votre fichier a été transféré avec succès. Tâches :

Commencez par faire une copie de votre fichier getme . XY, utilisé lors de la séquence précédente (n’oubliez pas que vous avez mis vos initiales à la place de XY, vous devez donc vous assurer d’écrire le bon nom de fichier dans l’exemple ci-dessous).

$ cd $ cp getme . bc getme . bc . secure Transférez de nouveau votre fichier au repertoire personnel de l’utilisateur student sur le serveur

de la salle de classe de façon sécurisée au moyen d’une session cryptée. $ scp getme . bc . secure student @ server1: The authenticity of host ‘server1 . example . com’ can’t be established. DSA key fingerprint is 6f : 10 : ec: 42: cd:cd:1b:cc:16:d2:8d:ef:5b:49:20:1c. Are you sure you want to continue connecting (yes/no) ? yes Warning : Permantly added ‘server1 . example . com, 192 . 168 . 0 . 254’ (DSA) to the list of known hosts. student@ server1. example . com’s password: entrez_votre_mot_de_passé_à_cet_endroit getme . bc . secure 100% \ ******************************************\ 00 : 00

Etablissez une session cryptée avec le serveur de la salle de classe et vérifiez si votre fichier a été

transféré au serveur.

$ ssh student@server1 student@server1 . example . com’s password: [student@server1 student] $ 1s *bc getme . bc getme . bc . secure [student@server1 student ] $ exit Résultat : Le transfert sécurisé d’un autre fichier texte modifié et rebaptisé au serveur de la salle de classe.

*** Fin de la séquence 2***

Linux : Principes de Base Elies JEBRI

Page N° 171

Mise en situation : Cette séquence servira à vous faire utiliser la commande rsync pour exécuter une synchronisation avec plusieurs fichiers du serveur de la salle de clase. Tâches :

Exécutez une opération de synchronisation (c. -à-d. avoir des fichiers identiques sur différents ordinateurs) avec le répertoire personnel du serveur de la salle de classe, en transférant des fichiers nouveaux ou modifiés à votre système local.

$ cd $ rsync --rsh= ssh student@server1:get*. student@station 3’s password: $ 1s getme* getme.af getme . ai getme . bg getme . cf getme . af . secure getme . ai . secure getme . bg . secure getme . cf . secure getme . ag getme . bc getme . bh getme . cg getme . ag . secure getme . bc . secure getme . bh . secure getme . cg . secure . . . sortie tronquée . . . Résultat: Synchronisation entre le répertoire personnel de student sur le serveur et votre répertoire personnel local.

***Fin de la séquence 3***

Linux : Principes de Base Elies JEBRI

Page N° 172

LEÇON 14 Utiliser l’éditeur vi

Objectifs :

Utiliser l’éditeur vi Commencer et terminer une session d’édition vi Positionner le curseur dans vi Insérer et effacer du texte Editer en utilisant vi Utiliser des recherches de texte par expressions régulières dans vi

Thèmes abordés :

L’éditeur vi Sessions d’édition vi Sauvegarde de fichier Positionnement du curseur dans vi Insertion et suppression de texte Editer du texte à l’aide de vi Expressions régulières dans vi

Linux : Principes de Base Elies JEBRI

Page N° 173

Vi : vue d’ensemble

Vi est l’abréviation de “ visual editor”, éditeur visuel . Il est l’éditeur de texte standard de linux

Il est utilisé dans de nombreux systèmes d’exploitation UNIX. Le programme vi distribué par Red Hat Linux est en réalités vim (vi improved ) ; il comprend de nombreuses caractéristiques améliorées . Cette leçon se concentre sur les caractéristiques “traditionnelles ” de vi.

Linux : Principes de Base Elies JEBRI

Page N° 174

Lancer vi

Vi filename

Si le fichier existe, il est ouvert et son contenu s’affiche

Si le fichier n’existe pas, vi crée lorsque les édition sont sauvegardées pour première fois. Editer un fichier existant avec vi

Les éditions vi sont exécutées dans le travail et buffer de la mémoire . Au début d’une session d’édition , vi lit le fichier à éditer au buffer de travail. Durant la session d’édition , vi effectue toutes les modification sur l’exemplaire du fichier qui se trouve en mémoire. Il ne modifie l’exemplaire qui se trouve sur le disque que lorsque vous écrivez le contenu du buffer de travail sur le disque. Vous pouvez spécifier la position initiale de votre curseur lorsque vous ouvrez un fichier. Exemple : Vi +53 filename Vi +/foo filename Ouvrira filename avec le curseur placé au début de la ligne 53 ou à la première occurrence de la chaîne foo. Créer un nouveau fichier, Lancez simplement vi en spécifiant le nom du fichier que vous voulez créer.

Linux : Principes de Base Elies JEBRI

Page N° 175

Modes vi

Vi opère en deux modes : Mode commande Naviguer, supprimer, couper, coller, rechercher. Passez en mode commande en appuyant sur ESC Mode insertion Tapez le nouveau texte Passez en mode input en tapant [ iIaAoOcCRsS ] Il existe de nombreuses façons d’entrer en mode insertion, selon la manière dont vous voulez commencer l’édition de texte. Le tableau ci-dessous présente les différentes méthodes d’entrer en mode insertion et le comportement qui y est- associé : i -Insérer le texte devant l’emplacement du curseur I -Insérer le texte au début de la ligne en cours

a -Ajouter le texte après l’emplacement du curseur A -Ajouter le texte à la fin de la ligne en cours o - Ouvrir la ligne et déplacer le curseur à la ligne au-dessous de la ligne en cours O - Ouvrir la ligne et déplacer le curseur à la ligne au-dessus de la ligne en cours c - Commencer l’opération de modification C - Modifier à la fin de la ligne R - Entrer remplacement mode insertion (commencer à réécrire le texte) s - Remplacer un caractère S - Remplacer toute la ligne (effacer la ligne puis aller en mode insertion au début de la

ligne) Il n’existe qu’une façon de sortir du mode insertion : en appuyant sur ES.

Linux : Principes de Base Elies JEBRI

Page N° 176

Déplacer le curseur

Pour utiliser les commandes standard de déplacement du curseur, vérifiez que vous êtes en mode commande

La plupart des systèmes gèrent le déplacement du curseur à l’aide des touches fléchées, même en mode insertion

H -à gauche d’un caractère L -à droit d’un caractère K -en haut d’un caractère J -en bas d’un caractère 0,$ - début /fin de la ligne en cours ˆ -premier caractère non vide de la ligne en cours = ou entre - Ligne suivante w -début du mot suivante b -début de mot précédant e -fin du mot suivant gg -haut du fichier en cours G -fin du fichier en cours nG -aller à la ligne n°n du fichier en cours n% -aller à la ligne n pour cent du fichier en cours La plupart de ces commandes peuvent être accompagnées d’un préfixe numérique pour se déplacer à une distance spécifique . Exemple : 12K - se déplacer de 12lignes vers le haut. 20b - reculer de 20 mots.

Sauvegarder et sortir de vi

Depuis la lignes de commande (appuyer sur ESC) : :w - Ecrire sur le disque : q - Quitter si les modifications ont été sauvegardées Pour des raisons historiques, plusieurs commandes peuvent générer des actions semblables ou identiques :wq ou :x ou zz – écrivent des fichiers et quittent. Sauvegarder et / ou sortir des commandes Si vous devez sauvegarder un exemplaire de votre document dans un nom de fichier autre que celui dans lequel vous l’avez ouvert , vous pouvez spécifier un nouveau nom de fichier durant l’opération d’écriture comme suit : :w [filename ]

Linux : Principes de Base Elies JEBRI

Page N° 177

Pour contourner les protections et écrire dans un fichier en lecteur seule qui vous appartient : :w ! Pour quitter maintenant en effaçant des éditions :

:q !

Couper, Copier et Coller

Lorsque vous effacez du texte , vi place le texte effacé dans un buffer Vous pouvez également "yank ", copier , du texte dans le buffer sans l’effacer Vous pouvez également "paste ", coller, le contenu du buffer dans le document Les deux commandes primaires utilisées pour effacer du texte et le placer dans le buffer sont "d " et "x " . Elles peuvent toutes deux être associées à des commandes de déplacement :

X - effacer un seul caractère nx - effacer les prochains n caractères dd - effacer la ligne en cours ndw - effacer les prochains n mots d$ - effacer la fin de la ligne nd$ - effacer n lignes en-haut

Pour copier du texte dans le buffer sans l’effacer , vous pouvez utiliser des commandes semblables aux commandes d’effacement présentées :

Yw -copier un mot nyw -copier les prochains n mots dd -effacer la ligne en cours y$ -copier à la fin de la ligne yy -copier toute la ligne sans considérer l’emplacement du

curseur :$ - Aller en fin du fichier.

Pour "coller " du texte depuis le buffer dans votre document, vous pouvez utiliser les commandes suivantes : P – coller le texte à droite l’emplacement en cours. P –coller le texte à gauche de l’emplacement en cours.

Annuler les modifications

u -annule la dernière modification en ligne

Linux : Principes de Base Elies JEBRI

Page N° 178

u -annule toutes les modifications d’une ligne avant de déplacer le curseur à une ligne

:e ! – pour abandonner toutes les modifications et recharger la dernière version sauvegardée.

Exécution de commandes :

Esc :! <cmd> Récupérer un fichier

Si votre session vi est terminée par la fermeture du Shell ou tout autre événement inattendu, vous pouvez souvent récupérer le texte qui risque d’être perdu. Le système effectuer parfois une sauvegarde du buffer de travail . Utilisez les commandes suivantes pour voir si vi a sauvegardé le contenu de votre buffer de travail :

Vi –r filename

Si votre travail a été sauvegardé, vous éditez un exemplaire de voter buffer de travail. Utilisez immédiatement :w pour sauvegarder cet exemplaire sauvegardé sur le disque. Vous pouvez maintenant continuer à éditer.

Rechercher du texte

peut chercher des chaînes simples ou de puissantes expressions régulières vous pouvez rechercher vers l’avant avec / ou en arrière avec ? chercher des retours à la ligne à la fin du document appuyer sur n pour chercher la prochaine occurrence

En mode commande, tapez / ou ? pour lancer la recherche de texte. Lorsque vous avez entré la chaîne de recherche , elle sera affichée au bas de l’écran. Lorsque ‘elle est entrée, le curseur se placera sur le prochain emplacement de la chaîne de recherche. Pour effacer de nombreuses recherches indiques, suivez les étapes suivantes : Entrez la chaîne de recherche selon les instruction ci-dessus Effectuez les modifications dans le texte trouvé, par exemple à l’aide de la

commande 'change'. Répétez la recherche à l’aide de la commande n Répétez la commande, le cas échéant, à l’aide de la commande. De nombreuse autres commandes de recherche et remplacement existent. Voici quelques exemples : : s/ oldtext /newtext /g -rechercher et remplacer toutes les instances d’une ligne avec confirmation

:% s/ oldtext /newtext /g -rechercher et remplacer toutes les instances dans un fichier entier sans :10.20S / oldtext /newtext /g -remplacer toutes les instances entre les lignes 10 et 20

Linux : Principes de Base Elies JEBRI

Page N° 179

:.,+5S /oldtext /newtext /g -remplacer toutes les instances de la ligne en cours jusqu’aux 5 lignes suivantes.

Chercher du texte avec des expression régulières

les expressions régulières sont des mécanismes puissantes utilisée pour chercher des caractère de texte

les chaînes ordinaires sont des expressions régulières simples utilisé par de nombreux utilitaires, y compris vi et grep

les expressions régulière sont orientées sur les lignes ( commande de rechercher de vi est orientée sur les lignes ) .En cas d‘autre termes , une recherche d »expression régulière de "Jane Smith " ne trouvera pas "Jane " à la fin d’une ligne et "Smith " au début de la ligne suivante .

Que sont les expressions régulières ? les caractéristiques des caractère régulier et des méta-caractéres utilisés pour chercher les

lignes de texte. Les méta-caractéres sont des caractère qui ont une signification particulière, comme ., qui

entend " tout caractère" Elles sont différents des lignes de commande de la génération, des noms de fichiers avec * , ? ,

[ ] et ~ Une expression régulière est une chaîne formée de caractère ordinaires et de caractère spéciaux optionnels (appelés méta-caractéres) . Un méta-caractéres a une signification particulière :il décrit les caractéristiques des caractère. Les expressions régulières utilisent certains des caractère de la généralement nom fichiers , mais ont un autre but et fonctionnent différemment .

Linux : Principes de Base Elies JEBRI

Page N° 180

Méta- caractères d’expression régulière Symbole Définition

. tout caractère simple [ ] tout caractère simple dans le [ ]

^ Début de la ligne $ Fin de la ligne

\ Cité le prochain caractère le caractère , correspond à un seul caractère , Smith ,correspondrait à Smith ou Smith 4 et non pas simplement à Smolt les parenthèses carrées délimitent un ensemble de caractère dont l’un est le correspondant cela ressemble au . mais ne vous permet pas de restreindre plus que tout caractère. Exemple : / [ L1 ] inux trouvera la prochaine occurrence de Linux sans tenir compte de la majuscule . Des séries de caractère peuvent aussi aussi correspondre : / Step 1 [ 0 - 9 ] correspondrait autant à Step 10 qu’à .Step 13 mais pas à Step 20 ou Step 1. ^ et $ sont des ancrages qui correspondrent à des caractéristique respectivement au début au à la fin de la ligne . Exemple : / ^ Step 1 [ 0-9] correspondrait à Step 15 uniquement s’il se trouvait en début de la ligne . / supprimer le sens spécial du proche méta-caractère .On pourrait utiliser : / \ / etc \ / rc \.d pour chercher le répertoire / etc / rc .d dans un document .sans utiliser le trait oblique arrière le trait oblique lui-même signalerait la fin de l’expression régulière.

Linux : Principes de Base Elies JEBRI

Page N° 181

Revue des expressions régulières A quoi correspondent les commandes suivantes ?

Sm. th Sm [ iy ] th www\ .redhat \.com ^ # ! ^ ^ Yipes ! $$

smith , smyth , sm) th , sm th , ….. smith and smyth www. redhat . com # ! ( au début de la ligne ) ^ Yipes ! $ en tant que ligne entière .Le premier ^ et le dernier $ signifient que lma correspondance

est ancrée au début et à la fin de cette ligne .Le second ^ est littéral comme 1’ est le mot Yipes le pont d’exclamation et le premier $ .Ainsi seul ^ Yipes ! $ seul sur une ligne sera trouve.

FIN DE LA LEÇON 14

Questions et réponses Résume Débuter et terminer une session d’édition vi Commandes de mouvement et d’édition Rechercher et remplacer Brève introduction aux expressions régulières

Linux : Principes de Base Elies JEBRI

Page N° 182

EXERCICES DE LA LEÇON 14 Vi Durée approximative : 1 Heure Objectif : vous habituer aux capacités d’édition de l’éditeur de texte vi. Configuration de départ : Un système Red Hat Linux installé et fonctionnant. Le paquetage vim-common doit être installé. Séquence1 : vimtutor Mise en situation : Utilisez vimyutuor pour vous habituer à utiliser l’éditeur de texte vi. Tâches : 1.Inscrivez-vous comme l’utilisateur student sur tty1. n’exécutez pas la commande suivnate depuis une session X :

$ vimtutor Suivez simpelment les instructions qui s’affichent à l’écran. Résultats : Vous avez terminé les exercices de vimtutor et avez appris à aimer et apprécier vi.

***Fin de la séquence***

Linux : Principes de Base Elies JEBRI

Page N° 183

LEÇON 15 OUTILS SYSTEME Objectifs :

Comprendre la configuration de terminal Apprendre comment rassembler des informations concernant le système Apprendre à planifier des tâches à retardement Apprendre à utiliser Cron Comprendre les notions de base de RPM Apprendre les devoirs d’un administrateur système

Thèmes abordés :

Configuration de terminal Rassemblement d’informations sur le système Exécution de commandes à retardement Cron RPM Devoirs de l’administrateur système

Linux : Principes de Base Elies JEBRI

Page N° 184

Configuration de terminal

TERM-Variable du type de terminal Stty-changement ou visualisation des paramètres du terminal Reset-remise à l’état initial du terminal Resize-règllage du terminal à la grandeur de la fenêtre courante

Le terminal est la fenêtre à l’aide de laquelle vous interagissez avec la ligne de commande . Le terminal peut être une console virtuelle, un pseudo-terminal tel que xterm ou même un terminal passif connecté physiquement au système. Il est important de bien régler les paramètre de terminal, afin que les programmes s’affichent correctement et que le clavier fonctionne adéquatement. TERM Cette variable indique au système quel type de terminal est utilisé. Si elle n’est pas configurée correctement, les programmes s’affichent mal, voire pas du tout. Les types et définition de terminal sont énumérés dans le fichier / etc. / termcap. Pou régler votre type de terminal, utilisez la commande export : $ export TERM= linux stty cet utilitaire configure ou affiche les paramètres du terminal . Il arrive parfois que la touche d’effacement arrière n’efface pas, mais qu’elle produise plutôt un caractère. Cela peut être corrigé à l’aide de la commande suivante : $ stty erase ^ ? rest Il arrive de temps à autre que la sorte d’un programme ou d’une commande fasse en sorte que le terminal cesse d’afficher les caractères correctement . Vous pouvez arranger cela en entrant la commande de reset à l’état initial. Même si vous ne voyez rien . Entrez simplement reset et appuyer sur la touche Entrée. Resize Une fenêtre pseudo-terminal, telle que xterm, peut être redimensionnée à la grandeur désirée l’aide de la souris. Cependant, cette commande indique au système de régler la grandeur du terminal à la grandeur de la fenêtre courante, ce qui permet d’assurer que la sortie d’un programme est correcte.

Linux : Principes de Base Elies JEBRI

Page N° 185

Rassemblement d’informations concernant votre système

uname-affichage des informations système hostname [-i ] :

nom d’hôte / adresse IP /sbin / infconfig-utilitaire pour interfaces réseau

Le rôle d’administrateur système implique que l’on connaisse les paramètres et les activités du système. Il existe à cet effet de nombreux utilitaires pour vous permettre de rassembler des information sur le système. Uname Cette commande affiche différentes informations sur le système. L’option –a affiche tout. Exemple : $ uname –a Linux station2 2.4 –2 #1 Tue Apr 8 20 :41 :30 EDT 2001 i 686 unknow Ifconfig En plus de permettre la configuration d’interfaces réseau, cette commande, lorsqu’elle est entrée sans argument, fournit une liste des interfaces actives. Utilisez l’option –a pour visualiser toutes les interfaces, actives ou inactives : $ / sbin / ifconfig –a

Linux encap :Local Loopback inet addr : 127.0.0.1 Mask :225.0.0.0 UP LOOPBACK RUNNING MTU :3924 Metric:1 RX packets:5230 errors:0 overruns:0 frame:0 TX packet:5230 errors:0 overruns:0 carrier:0

Collisions:0 txqueuelen:0

Linux : Principes de Base Elies JEBRI

Page N° 186

Rassemblement d’informations

Concernant votre système ( suite)

Who – qui est en ligne Last – liste de tous les utilisateurs connectés Free – affichage de la mémoire libre et utilisée

Woh Cette commande permet d’afficher une liste des utilisateurs actuellement connectés et de la période de connexion de chacun. Si vous utilisez les options – H et – i vous ajouterez également à la sortie les titres des colonnes et les temps morts. $ who - H - i USER LINE LOGIN- TIME IDEL FROM Root ttyl oct 17 01:17 08:40 Bob tty4 oct 16 06:06 10:29 last la commande last affiche une liste des utilisateurs qui se sont récemment connectés, de même que les événement système récents, tel que les redémarrages et arrêts. $ last guru pts/9 :0 Tue Oct 17 09:06 - 09:06 (00:00) guru pts/8 :0 Tue Oct 17 08:06 still logged in guru pts/10 :0 Tue Oct 17 08:06 still logged in reboot system boo 2.2.16-22 Fri Oct 13 19:33 3+14:25)

Free Utilisez cette commande pour visualiser la mémoire libre et utilisée. $ free total used free shared buffers cached Mem: 257536 247204 10332 155652 8516 98356 -/+ buffers/ cache: 140332 117204 136040 1604 134436

Linux : Principes de Base Elies JEBRI

Page N° 187

Planification de processus à exécuter plus tard Syntaxe

at heure < commandes> atq [utilisateur] atrm [utilisateur Id _ de _ travail _ at ]

Les commandes sont exécutées au moment indiqué. Toute sortie non redirigée est envoyée par courrier électronique à

l’utilisateur.

Vous pouvez entrer une commande par ligne terminant l’entrée par un CTRL – D seul sur une ligne. L’argument heure peut avoir différents formats, illustrés dans les exemples ci- dessous. Reportez –vous à la documentation en ligne pour avoir plus de détails. at 8 :00 pm December 7

at 7 am Thursday at now + 5 minutes at midnight + 23 minutes

la commande atq fournit une liste des travaux at actuellement en cours. Tout utilisateur privilégié( root) peut entrer un nom d’utilisateur comme argument pour obtenir les travaux en cours d’autres utilisateurs. La commande atrm utilisée pour éliminer des travaux at en cours. L’Id_de_travail_at s’affiche lorsque le travail est soumis et aussi à la demande atq. Tout utilisateur privilégié peut éliminer les travaux at d’autres utilisateurs en fournissant le nom d’utilisateur( user ID) de ceux-ci.

Planification de processus Périodiques :

Le mécanisme cron permet aux processus d’être appelées périodiquement.

L’utilisateur ne doit pas être connecté. Les travaux cron sont énumérés dans un fichier cron tab. Le mécanisme cron est contrôlé par un démon appelé crond. Ce démon s’active toutes les minutes environ et détermine si certaines des entrées des fichiers table cron des utilisateurs ont besoin d’être exécutées. Si le moment d’exécution d’une entrée est passé, l’entrée est exécutée. Il possible de régler des travaux de sorte q’ils soient exécutés aussi souvent q’une fois par minute ou aussi peu qu’une fois par an.

Linux : Principes de Base Elies JEBRI

Page N° 188

Utilisation de cron

Vous devez modifier et installer votre fichier table cron.

Vous ne pouvez modifier directement un fichier table cron. •Modifier le fichier et installez-le avec cron tab. Ou •Modifier le fichier au moyen de cron tab.

Syntaxe •cron tab [- u utilisateur] fichier •crontab [-l-r -e]

les fichiers table cron(cron tab) sont stockés dans /var/spool/cron, auquel seuls les utilisateurs privilégiés ont accès. Pour accéder au fichier crontab courant, on utilise la commande crontab. Il existe deux façons de modifier le fichier crontab ; modifiez-le dans le répertoire courant puis installez-le en l’utilisant comme argument avec la commande crontab ou alors utilisez l’option -e.

Option Meaning -u user -e -l -r

Install crontab for user. (Must be privileged to use) Edit the current crontb using the editor specified in the VISUAL or EDITOR environment variables List the contents of the current crontab Remove the current crontab

Linux : Principes de Base Elies JEBRI

Page N° 189

Format du fichier crontab

Une entrée est composée de 5 champs délimités par des espaces et suivis par une ligne de commande.

Une seule entrée par ligne et aucune limite quant à la longueur de la ligne. Les champs sont : minute, heure, jour du mois, mois et jour de la semaine. Les lignes de commentaire commencent par un #

Vous pouvez séparer les champs d’une entrée par un nombre indéfini d’espaces simples ou d’espaces TAB. Les valeurs de champ valides sont les suivantes : Minute 0-59 Heure 0-23 Jour du mois 1-31 Mois 1-12 Jour de la semaine 0-6, 0 = dimanche Les valeurs multiples peuvent être séparées par une virgule. De plus, le symbole ' *' placé dans un champ signifie toutes les valeurs valides. Le fichier crontab d’un utilisateur devrait ressembler à ceci : #Min Hour DoM Month DoW Command 0 4 * * 1,3,5 find ~ -name core |xargs rm -f 13 13 13 * 5 Mall – s “boo”$LOGNAME< BOO;TXT

Gestionnaire de paquetages RPM

RPM permet aux utilisateurs de construire et de chercher des paquetages logiciels. RPM permet à l’administrateur système d’installer, mettre à jour, éliminer et

construire des paquetages. RPM vérifie l’espace disque requis et les dépendances lors de l’installation de

paquetages. Installation de paquetages RPM :

Les noms des fichiers de programme RPM sont construits sur le modèle suivant : paquetage-version-contruction.architecture.rpm. Ainsi, on pourrait avoir comme nom typique d’un fichier de paquetage xfm-1.3.2-13.i386.rpm. Pour installer ce fichier, procédez comme suit : #rpm –ivh xfm- 1.3.2-13.i386.rpm Si le paquetage xfm est déjà installé ou si les paquetages dont dépend xfm ne sont pas installés, rpm affiche un message d’erreur.

Mise à jour de paquetages RPM

Linux : Principes de Base Elies JEBRI

Page N° 190

Rpm peut être utilisé pour installer un nouveau paquetage ou mettre à jour un paquetage déjà installé. # rpm –Uvh xfm-1.3.2-16.i386.rpm Cette commande a pour effet de désinstaller toute ancienne version du paquetage xfm et d’installer le nouveau fichier du paquetage dont le nom est indiqué dans la ligne de commande. Il est très courant d’utiliser la variable –U lors d’une l’installation. Vous pouvez spécifier plusieurs noms de fichier de paquetage sur la ligne de commande, mais l’ensemble de la commande échoue si l’un des noms spécifiés provoque une erreur d’installation.

Actualisation de paquetages RPM Vous pouvez demander à rpm de ne mettre à jour un paquetage RPM que si son ancienne version est installée. Dans le cas contraire, le paquetage dont le nom apparaît sur la ligne de commande n’est de commande n’est pas installé. # rpm –Fvh xfm-1.3.2-16.i386.rpm

Elimination de paquetages RPM Vous pouvez éliminer un paquetage du système en ajoutant la variable –e à rpm. Le nom du paquetage, et non pas un nom de fichier du paquetage, est donné comme argument. # rpm –e xfm Si un autre paquetage dépend de xfm, rpm affiche un message d’erre

Interrogations rpm

Fournissent une liste des fichiers contenus dans un paquetage. Fournissent une liste d’informations au sujet d’un paquetage. Indiquent à quel paquetage des fichiers appartiennent. Fournissent une liste des totaux de contrôle et d’autres informations sur les fichiers.

Interrogations de paquetages RPM

Rpm –q xfm indique le nom, la version et la construction, si xfm est installé. Rpm –qa indique les noms, les versions et les numéros de construction de tous les paquetages installés. Rpm –qf /bin/grep indique le nom du paquetage propriétaire de /bin/grep (le chemain d’accès complet du fichier est nécessaire). Rpm –q ---changelog xfm fournit une liste des changements apportés au paquetage xfm en ordre chronologique. Rpm –q ---scripts xfm fournit une liste de tous les scripts avant et après installation. Rpm –q ---requires xfm fournit une liste des dépendances du paquetage xfm.

Listes de fichiers RPM

Rpm –ql fileutils fournit une liste des noms de fichier contenus dans le paquetage fileutils installé. Rpm –qlp xfm –1.3.2-16.i386.rpm énumère les fichier contenus dans le fichier de paquetage spécifié. Rpm –gp ---filesbypkg *. Rpm donne le nom de paquetage et de chaque fichier de paquetage spécifié. Rpm –gp –filesbypkg *. Rpm donne le nom de paquetage et de chaque fichier dans le paquetage de tous les fichiers se terminant par .rpm. De nombreuses interrogations de paquetages installés peuvent également être effectuées sur des fichiers de paquetage.

Listes d’informations RPM

Linux : Principes de Base Elies JEBRI

Page N° 191

Rpm –qi fileutils fournit une description du paquetage fileutils installé, de même que la date de construction, l’hôte de construction, la date d’installation et d’autres informations. Rpm –qip xfm-1.3.2-16.i386.rpm fournit le même genre de renseignements, mais fichier de paquetage pour le indiqué.

GnoRPM

Outil GNOME RPM :

GnoRPM L’outil GNOME RPM est une application graphique qui exécute les mêmes fonctions de base que l’utilitaire à ligne de commande rpm. Il est très pratique pour naviguer dans les applications actuelle installées et interroger des paquetages, tout cela au moyen d’une interface pilotée avec les souris. En outre, la fonction intégrée Web Find effectue la recherche et l’installation de paquetages directement depuis Internet. GnoRPM peut être lancé à partir du menu « pied » GNOME en sélectionnant Programs->System-GnoRPM ou depuis une invite de commande en entrant gnorpm

Devoirs de l’administrateur Système

Gestion des utilisateurs Gestion des logiciels Contrôle des journaux Maintien de la sécurité Et tout le reste !

Gestion des utilisateurs L’ajout et l’élimination d’utilisateurs n’est qu’un des aspects de la gestion des utilisateurs. L’administrateur système doit aussi parfois contrôler l’accès des utilisateurs, les parts de disque, la politique des mots de passe et tout autre élément relatif aux utilisateurs du système. Gestion des logiciels La tâche d’installation et de désinstallation de logiciels est une partie importante de l’administration système. Aussi est-il extrêmement important de toujours être au fait des publications errata et des avis de bogue les plus récents. Contrôle des journaux Il est très important de contrôler les divers fichiers journaux du système. Il arrive souvent qu’une entrée dans un fichier journal soit le seul indice pour signaler que le système à quelque chose qui ne va pas. Il est primordial de contrôler les journaux sur une base quotidienne. Maintien de la sécurité Maintenir la sécurité signifie qu’il faut appliquer une politique de mots de passe sévère, restreinte l’accès aux utilisateurs lorsque nécessaire et contrôler l’accès au système et à ses ressources. Faire des copies de sauvegarde régulièrement aide aussi à maintenir les informations de sécurité. Par dessus tout, la sécurité nécessite qu’on s’y applique. Cela signifie que vous devez constamment être à jour dans l’exécution de vos taches administratives ! Et tout le reste !

Linux : Principes de Base Elies JEBRI

Page N° 192

Il est n’est pas rare que l’administrateur système doive faire tout le nécessaire pour maintenir le système en état de fonctionnement, ce qui inclut, par exemple, la répartition ou l’installation de matériel, la remise en marche au beau milieu de la nuit, etc…

FIN DE LA LEÇON 15

Question et réponses Résumé

Configuration terminal Informations système Commande à retardement RPM Administration du système

Fichiers importantes étudiés au cours de cette leçon : /etc/ termcap Commandes importantes étudiés au cours de cette leçon : stty reset resize uname ifconfig who last free at atp atrm rpm gnorpm

Linux : Principes de Base Elies JEBRI

Page N° 193

EXERCICES DE LA LEÇON 15 Outils système

Durée approximative : 20minutes Objectif se familiariser avec les sous –systèmes at et cron . Explorer la puissance de RPM. Configuration de départ : un système Red Hat Linux installé et fonctionnel. Séquence 1 : at Mise en situation : Utilisation de l’outil at pour planifier un travail qui doit être exécuté à une date ou une heure ultérieure. Tâches : 1.Préparez un travail at destiné à être exécuté dans 5 minutes en entrant la commande ci-dessous. Dés que vous entrez la commande, une invite at s‘affiche.

$ at now + 5 min

2.Indiquez à at destine à être exécuté dans 5 minutes .

at > echo " This message was automgially sent via the at facility. "

3. Pour faire comprendre à at que vous avez terminé d’entrer les commandes, appuyez sur CTRL–d.at vous répond alors en vous affichant l’heure à laquelle l’exécution du travail est prévue.

at > <EOT Job 4 at 2000-10-20 07 :31