Avant-propos. Introduction Chapitre 1. Mécanismes essentiels du shell Chapitre 2. A. Définition du shell... 18



Documents pareils
Outils pour la pratique

Aide-Mémoire unix. 9 février 2009

Algorithmique et Programmation, IMA

3IS - Système d'exploitation linux - Programmation système

Introduction aux Systèmes et aux Réseaux

TP1 - Prise en main de l environnement Unix.

Programme awk------introduction rapide

PHP 5.4 Développez un site web dynamique et interactif


D r o i t s D r o i t s Q u i z z : i n t e r n e t t e x t e

Premiers pas en Linux

Atelier individuel. Linux 101. Frédérick Lefebvre & Maxime Boissonneault frederick.lefebvre@calculquebec.ca U. Laval - Janv. 2014

Environnements informatiques

Formation Unix et GNU/Linux

Introduction à Linux (pour le HPC) «Linux 101» Présentation :

Linux LTE 2 - ISSBA. Année universitaire Linux Réseau et Archivage. Jean-Michel RICHER Faculté des Sciences, H206 1

«Astrophysique et instrumentations associées» Cours UNIX Benoît Semelin

Introduction à MATLAB R

Introduction...3. Objectif...3. Manipulations...3. La Sauvegarde...4. Les différents types...4. Planification...4. Les outils...5

Bon ben voilà c est fait!

Filière Unix Windows Oracle

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Année Cours Unix-Shell. par. Karam ALLALI. Ecole Spéciale d Informatique

C.M. 1 & 2 : Prise en main de Linux

Programmation système I Les entrées/sorties

Pack Evolix Serveur Mail Documentation d'utilisation

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Spécialiste Systèmes et Réseaux

Projet Administration Réseaux

Premiers pas. Shell? Les processus vu comme des filtres. commandes

Manuel des logiciels de transferts de fichiers File Delivery Services

TP 4 de familiarisation avec Unix

Unix/Linux I. 1 ere année DUT. Université marne la vallée

B-web V4 MANUEL D UTILISATION. Espace de travail. Clear2Pay Belgium SA B-web V4 Manuel d Utilisation: Espace de travail

Atelier Le gestionnaire de fichier

Polycopié Cours Système d Exploitation I. Programme : Filière SMI S3

TP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts

Shell Bash Niveau débutant

Système et réseaux (SR1) Gestion des utilisateurs

SYSTÈME DE GESTION DE FICHIERS

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

TP 1 Prise en main de l environnement Unix

Avertissement. La Gestion Electronique de Documents

UNIX DÉBUTANTS. Olivier Collin CNRS Station Biologique de Roscoff

GUIDE D UTILISATION. Gestion de compte. à destination des intermédiaires

EPREUVE PRATIQUE DES TECHNIQUES INFORMATIQUES ACTIVITE N 1. Thème de l activité : Configuration d un firewall

Python Les fondamentaux du langage

TP1. Outils Java Eléments de correction

Perl Console. Votre compagnon pour développer en Perl. Les Journées du Perl , 17 novembre, Lyon. Alexis Sukrieh

Documentation utilisateur, manuel utilisateur MagicSafe Linux. Vous pouvez télécharger la dernière version de ce document à l adresse suivante :

Introduction au Système d Exploitation Unix/Linux

Le générateur d'activités

1 Démarrage de Marionnet

SOFI Gestion+ Version 5.4. Echanges de données informatiques Spicers Sofi gestion+ Groupements. SOFI Informatique. Actualisé le

Cours Unix 1. Présentation d UNIX. Plan du cours 1

LibreOffice Calc : introduction aux tableaux croisés dynamiques

Bernard HAMM, Évelyne LAVOISIER

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Catalogue des formations 2015

UBUNTU Administration d'un système Linux (4ième édition)

Les formations. Administrateur Systèmes et Réseaux. ENI Ecole Informatique

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

Contents. 1 Premiers pas en Linux. 1.2 Généralités. 1.1 Bref historique Linux

Structure d un programme

Allo Support et services électroniques

URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2

UltraBackup NetStation 4. Guide de démarrage rapide

Sauvegarde sous MAC avec serveur Samba

L accès à distance du serveur

Chapitre 1 Introduction

«Vous éditez, nous archivons!»

SSH, le shell sécurisé

Commandes Linux. Gestion des fichiers et des répertoires. Gestion des droits. Gestion des imprimantes. Formation Use-IT

Configuration de Gentoo 12.x

sshgate Patrick Guiran Chef de projet support

Activer la connectivité des systèmes de stockage 3PAR

Créer un sondage sous Magento

Plan du cours. Historique du langage Nouveautés de Java 7

Solution de paiement Monetico Paiement Web. Module Prévention Fraude

TRAVAILLER SUR LES ORDINATEURS DU LYCEE

Pharmed. gestion de pharmacie hospitalière. Installation / déploiement

IMPORTATION, CRÉATION, MANIPULATION, EXPORTATION DE DONNÉES STATISTIQUES

Date de diffusion : Rédigé par : Version : Mars 2008 APEM 1.4. Sig-Artisanat : Guide de l'utilisateur 2 / 24

Première partie. Qu est-ce qu un script?

Table des matières Hakim Benameurlaine 1

Cours de C. Petits secrets du C & programmation avancée. Sébastien Paumier

Formation Technicien Supérieur de Support en Informatique T2SI. Le module LINUX. Session J04 Version 01

Archiver des messages

Cyberclasse L'interface web pas à pas

ASUR4 Administration et Sécurisation des Services

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Ce manuel vous accompagne au long des procédures d installation et de restauration de PheBuX 2004 [alternative solutions]

Manuel d utilisation de la plate-forme de gestion de parc UCOPIA. La mobilité à la hauteur des exigences professionnelles

Compression de Données - Algorithme de Huffman Document de Conception

Table des matières. Introduction

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume

Manuel de System Monitor

Introduction au protocole FTP. Guy Labasse

WordPress :: Migrer son site du local vers le serveur en ligne

GUIDE D UTILISATION. Gestion de compte. à destination des CFA

Transcription:

Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr Saisissez la référence ENI de l'ouvrage RI3PRO dans la zone de recherche et validez. Cliquez sur le titre du livre puis sur le lien de téléchargement. Avant-propos Introduction Chapitre 1 A. Définition du shell................. 18 B. Caractéristiques d'un interpréteur de commandes.... 18 C. Historique du shell................. 18 D. Principaux interpréteurs de commandes........ 19 E. Shells abordés dans cet ouvrage............ 20 Mécanismes essentiels du shell Chapitre 2 A. Commandes internes et externes........... 22 1. Les commandes externes.................. 22 2. Les commandes internes.................. 23 3. Implémentation interne et implémentation externe........ 25 B. Affichage à l'écran................. 26 1. La commande echo.................... 26 a. Le caractère "\n".................... 26 b. Le caractère "\c".................... 27 sh, ksh, bash 1

c. Le caractère "\t"..................... 27 d. Liste des caractères d'échappement............ 28 2. Les commandes print et printf................ 28 C. Le caractère ~ (tilde)................ 28 D. La commande interne cd............... 30 E. Substitution de noms de fichiers........... 30 1. Expressions basiques.................... 31 a. Le caractère *..................... 31 b. Le caractère?..................... 31 c. Les caractères [ ].................... 31 2. Expressions complexes................... 32 a.?(expression)...................... 33 b. *(expression)...................... 33 c. +(expression)..................... 33 d. @(expression)..................... 34 e.!(expression)...................... 34 f. Alternatives...................... 35 3. Interprétation du shell.................... 35 F. Séparateur de commandes.............. 36 G. Redirections.................... 37 1. Entrée et sorties standard des processus............ 37 a. Entrée standard..................... 37 b. Sortie standard..................... 37 c. Sortie d'erreur standard................. 38 2. Héritage......................... 38 3. Redirection des sorties en écriture.............. 39 a. Sortie standard..................... 39 b. Sortie d'erreur standard................. 40 2 Programmation shell sous Unix/Linux

c. Sortie standard et sortie d'erreur standard.......... 41 d. Éliminer les affichages.................. 42 e. Mécanisme interne................... 43 4. Redirection de l'entrée standard............... 44 5. Redirections avancées.................... 45 a. Rediriger les descripteurs 1 et 2 vers le même fichier..... 45 b. La double redirection en lecture.............. 52 c. Fermeture d'un descripteur................ 53 H. Tubes de communication............... 53 1. Commandes ne lisant pas leur entrée standard......... 55 2. Commandes lisant leur entrée standard............ 55 a. Exemples triviaux.................... 55 b. Cas des filtres..................... 56 3. Compléments....................... 60 a. Enchaîner des tubes................... 60 b. Dupliquer les sorties................... 61 c. Envoyer la sortie standard et la sortie d'erreur standard dans le tube...................... 62 I. Regroupement de commandes............ 62 1. Les parenthèses...................... 63 2. Les accolades....................... 68 3. Conclusion........................ 73 J. Processus en arrière-plan.............. 73 sh, ksh, bash 3

Paramétrage de l'environnement de travail Chapitre 3 A. Variables d'environnement.............. 76 1. Liste des variables..................... 76 2. Affichage de la valeur d'une variable.............. 76 3. Modification de la valeur d'une variable............ 76 4. Principales variables.................... 77 a. HOME......................... 77 b. PATH......................... 77 c. PWD......................... 79 d. PS1.......................... 79 e. PS2.......................... 83 f. TMOUT........................ 84 g. TERM......................... 84 h. LOGNAME....................... 84 i. Processus et variables d'environnement........... 85 5. Exportation des variables.................. 85 a. Liste des variables exportées............... 85 b. Variables devant être exportées.............. 86 c. Exporter une variable.................. 86 B. Les options du shell................. 89 1. Activer et désactiver une option du shell............ 89 2. Visualiser la liste des options................. 89 3. Principales options..................... 90 a. ignoreeof....................... 90 b. noclobber....................... 90 c. emacs et vi...................... 91 d. Xtrace......................... 92 4 Programmation shell sous Unix/Linux

C. Les alias...................... 92 1. Définir un alias...................... 92 2. Visualiser la liste des alias.................. 92 a. Visualiser tous les alias................. 92 b. Visualiser un alias en particulier.............. 93 3. Supprimer un alias..................... 93 D. Historique de commandes.............. 93 1. Paramétrer le rappel de commandes en ksh.......... 94 a. Option vi....................... 94 b. Option emacs..................... 96 2. Paramétrer le rappel de commandes en bash.......... 99 3. La complétion de noms de fichiers.............. 99 a. La complétion du bash.................. 99 b. La complétion du ksh.................. 100 c. Tableau récapitulatif................... 102 E. Les fichiers d'environnement............. 102 1. Caractéristiques des fichiers d'environnement.......... 102 a. Shell de connexion................... 102 b. Fichiers d'environnement lus par le shell de connexion.... 103 2. Session utilisant un Bourne Shell............... 106 3. Session utilisant un Korn Shell................ 107 4. Session utilisant un Bourne Again Shell............ 109 Les bases de la programmation shell Chapitre 4 A. Les variables utilisateur............... 114 1. Nommer une variable.................... 114 sh, ksh, bash 5

2. Définir une variable..................... 114 a. Affecter une chaîne de caractères à une variable....... 114 b. Affecter une chaîne de caractères contenant au moins un espace 115 c. Variable indéfinie.................... 115 d. Retirer la définition d'une variable............. 115 e. Isoler le nom d'une variable................ 116 3. Substitution de variables.................. 117 B. Substitution de commandes............. 119 C. Caractères de protection............... 120 1. Les simples quotes..................... 120 2. Le caractère \....................... 122 3. Les guillemets....................... 123 D. Récapitulatif des caractères spéciaux.......... 124 E. Interprétation d'une ligne de commande........ 124 F. Écriture et lancement d'un script shell......... 125 1. Définition......................... 125 2. Exécution d'un script par un shell enfant............ 126 3. Exécution d'un script par le shell courant............ 132 4. Commentaires....................... 134 G. Variables réservées du shell............. 135 1. Les paramètres positionnels................. 135 2. La commande shift..................... 137 a. Syntaxe........................ 137 b. Principe........................ 137 3. Code de retour d'une commande............... 139 a. La variable $?..................... 139 b. La commande exit.................... 140 6 Programmation shell sous Unix/Linux

4. Autres variables spéciales.................. 141 a. PID du shell interpréteur................. 141 b. PID du dernier processus lancé en arrière-plan........ 142 H. La commande read................. 144 1. Syntaxe.......................... 144 2. Lectures au clavier..................... 144 3. Code de retour....................... 146 4. La variable IFS...................... 147 I. Exécution de tests................. 148 1. La commande test..................... 148 a. Syntaxe........................ 148 b. Tests sur les fichiers................... 148 c. Tests sur les chaînes de caractères............. 151 d. Tests sur les nombres.................. 153 e. Les opérateurs..................... 154 f. Exemple concret d'utilisation............... 155 2. La commande [[ ]]..................... 156 J. Les opérateurs du shell............... 160 1. Évaluation de l'opérateur &&................. 160 2. Évaluation de l'opérateur................. 161 K. L'arithmétique................... 163 1. La commande expr..................... 163 a. Syntaxe........................ 163 b. Opérateurs....................... 163 2. La commande (( ))..................... 166 a. Syntaxe........................ 166 b. Utilisation....................... 166 3. La commande let..................... 169 sh, ksh, bash 7

L. Substitution d'expressions arithmétiques........ 170 M. Mise au point d'un script............... 171 1. Option -x......................... 171 2. Autres options....................... 174 N. Les structures de contrôle.............. 174 1. if............................ 174 2. Case........................... 178 a. Syntaxe........................ 179 b. Principe........................ 179 c. Utilisation....................... 180 3. Boucle for......................... 184 4. Boucle while....................... 187 a. Syntaxe........................ 187 b. Utilisation....................... 188 c. Boucle infinie...................... 189 5. until........................... 192 a. Syntaxe........................ 192 b. Utilisation....................... 192 6. break et continue..................... 196 Aspects avancés de la programmation shell Chapitre 5 A. Comparatif des variables $* et $@.......... 200 1. Utilisation de $* et de $@................. 200 2. Utilisation de "$*"..................... 201 3. Utilisation de "$@"..................... 202 8 Programmation shell sous Unix/Linux

B. Substitution de variables............... 203 1. Longueur de la valeur contenue dans une variable........ 203 2. Manipulation de chaînes de caractères............. 204 a. Retirer le plus petit fragment à gauche........... 204 b. Retirer le plus grand fragment à gauche.......... 204 c. Retirer le plus petit fragment à droite............ 205 d. Retirer le plus grand fragment à droite........... 205 C. Tableaux..................... 206 1. Assigner un élément.................... 206 2. Référencer un élément................... 206 3. Assignement global d'un tableau............... 207 4. Référencer tous les éléments d'un tableau........... 208 5. Obtenir le nombre d'éléments d'un tableau........... 208 6. Obtenir la longueur d'un élément d'un tableau.......... 208 D. Initialisation des paramètres positionnels avec set.... 209 E. Les fonctions.................... 209 1. Définition d'une fonction................... 209 2. Code de retour d'une fonction................ 211 3. Portée des variables.................... 214 4. Définition de variables locales................ 214 5. Passage d'arguments.................... 216 6. Exploiter l'affichage d'une fonction............... 218 7. Programme complet de l'exemple............... 220 F. Commandes d'affichage............... 222 1. La commande print..................... 222 a. Utilisation simple.................... 222 b. Suppression du saut de ligne naturel de print........ 222 sh, ksh, bash 9

c. Afficher des arguments commençant par le caractère "-".... 222 d. Écrire sur un descripteur particulier............ 223 2. La commande printf.................... 223 G. Gestion des entrées/sorties d'un script......... 225 1. Redirection des entrées/sorties standard............ 225 2. Gestion de fichiers..................... 228 a. Ouverture de fichier................... 228 b. Lecture à partir d'un fichier................ 229 c. Écriture dans un fichier................. 229 d. Fermeture d'un fichier.................. 229 3. Traitement d'un fichier................... 230 a. Informations préalables.................. 230 b. Les différentes façons d'exploiter un fichier......... 231 c. Découper une ligne en champs.............. 237 H. La commande eval................. 238 I. Gestion des signaux................. 240 1. Principaux signaux..................... 240 2. Ignorer un signal...................... 241 3. Modifier le traitement associé à un signal........... 242 4. Repositionner le traitement par défaut du shell vis-à-vis d'un signal. 243 5. Utiliser trap à partir d'un script shell............. 244 J. Gestion de menus avec select............. 245 K. Analyse des options d'un script avec getopts...... 247 L. Gestion d'un processus en arrière-plan......... 253 10 Programmation shell sous Unix/Linux

M. Script d'archivage incrémental et transfert sftp automatique 255 1. Objectif.......................... 255 2. Le fichier uploadbackup.sh................. 258 3. Le fichier fonctions.inc.sh.................. 260 Les expressions régulières Chapitre 6 A. Introduction.................... 266 B. Caractères communs aux ERb et Ere.......... 266 C. Caractères spécifiques aux ERb............ 269 D. Caractères spécifiques aux ERe............ 269 E. Exploitation des expressions régulières par les commandes 271 1. La commande vi...................... 271 2. La commande grep..................... 272 3. La commande expr..................... 274 4. sed et awk........................ 277 La commande sed Chapitre 7 A. Utilisation de la commande sed............ 280 B. Exemples..................... 282 1. Utilisation de sed en ligne de commande........... 282 a. La commande d (delete)................. 283 b. La commande p (print).................. 283 sh, ksh, bash 11

c. La commande w (write)................. 284 d. Négation d'une commande (!)............... 284 e. La commande s (substitution)............... 285 2. Script sed......................... 287 Le langage de programmation awk Chapitre 8 A. Principe...................... 290 1. Syntaxe.......................... 290 2. Variables spéciales..................... 290 a. Variables prédéfinies dès le lancement de awk........ 290 b. Variables initialisées lors du traitement d'une ligne...... 291 c. Exemples simples.................... 292 3. Critères de sélection.................... 293 a. Expressions régulières.................. 294 b. Tests logiques..................... 295 c. Intervalles de lignes................... 296 4. Structure d'un script awk.................. 296 a. BEGIN........................ 296 b. Sections intermédiaires.................. 296 c. END......................... 296 d. Commentaires..................... 296 e. Variables....................... 296 f. Exemple........................ 297 B. Opérateurs..................... 298 C. La fonction printf.................. 300 D. Redirections.................... 301 12 Programmation shell sous Unix/Linux

E. Lecture de la ligne suivante : next........... 303 F. Structures de contrôle................ 304 1. if............................ 304 2. for............................ 304 3. While.......................... 305 4. do-while......................... 305 5. break.......................... 305 6. continue......................... 306 G. Terminer un script................. 306 H. Tableaux..................... 307 1. Tableaux indicés par un entier................ 307 2. Tableaux associatifs.................... 308 a. Définition....................... 308 b. Tester l'existence d'un élément.............. 309 c. Supprimer un élément.................. 310 I. Les arguments de la ligne de commande........ 310 J. Fonctions intégrées................. 312 1. Fonctions travaillant sur les chaînes.............. 312 2. Fonctions mathématiques.................. 313 3. Autres fonctions...................... 313 a. La fonction getline.................... 313 b. La fonction close.................... 317 c. La fonction system................... 318 K. Fonctions utilisateur................. 319 sh, ksh, bash 13

L. Exemples de scripts................. 321 1. Analyse d'un fichier de log.................. 321 2. Génération d'un fichier d'étiquettes.............. 323 Les commandes filtres Chapitre 9 A. Introduction.................... 328 B. Syntaxe d'appel des commandes filtres......... 328 C. Visualisation de données............... 328 1. Consultation de données, création de fichier : cat........ 328 2. Valeur des octets d'un flux de données : od........... 330 3. Filtrage de lignes : grep................... 331 4. Dernières lignes d'un flux de données : tail........... 334 5. Premières lignes d'un flux de données : head.......... 335 6. Duplication de la sortie standard : tee............. 336 7. Numérotation de lignes : nl................. 337 8. Présentation d'un flux de données : pr............. 338 D. Traitement de données................ 340 1. Comptage de lignes, de mots et de caractères : wc....... 340 2. Extraction de caractères : cut................ 342 3. Tri de données : sort.................... 343 4. paste........................... 345 5. split........................... 347 6. Transformation de caractères : tr............... 348 7. Dédoublonnage : uniq.................... 349 14 Programmation shell sous Unix/Linux

E. Compressions, archivages et conversions........ 351 1. Compressions : gzip, bzip2................. 351 2. Archives tar........................ 353 3. Archives cpio....................... 354 4. Copie physique, transformations : dd............. 356 5. Changement d'encodage : iconv............... 358 F. Commandes réseau sécurisées............ 359 1. Connexion à distance : ssh................. 359 2. Transfert de fichier : sftp.................. 360 a. Commandes de sftp s'exécutant sur la machine locale..... 361 b. Commandes s'exécutant sur la machine distante....... 362 c. Commandes de transfert................. 363 d. Connexion automatique sans mot de passe......... 364 G. Autres commandes................. 366 1. La commande xargs.................... 366 2. Comparer deux fichiers : cmp................ 368 3. Lignes communes à deux fichiers : comm........... 369 Annexes A. Caractères spéciaux du shell............. 372 B. Commandes internes au shell............. 373 C. Ordre d'interprétation d'une commande......... 375 Index....................... 376 sh, ksh, bash 15