Description de la formation linux
Savoir être performant en choisissant le bon outil pour le bon traitement dans le vaste atelier offert par l’Open Source. Maîtriser l’exploitation de fichiers aux formats divers (texte brut, texte formaté, image, binaire, …) notamment avec grep, sed, et awk.
Objectifs
Objectif opérationnel :
Traiter des données et des fichiers sous Linux.
Objectifs pédagogiques :
- Revoir le Shell Bash
- Automatiser les traitements avec des shellscripts
- S’adapter aux expressions régulières, au Grep, ed et sed
- Introduire et comprendre le langage awk
- Gérer la publication des données
- Utiliser les outils et commandes sur le sfichiers
À qui s’adresse cette formation ?
Public :
Ce cours s’adresse à tous ceux qui souhaitent approfondir leurs connaissances des outils et utilitaires sous Linux.
Prérequis :
Une connaissance des commandes de base sous UNIX ou Linux est nécessaire (ls, cd, cp, mkdir, ps, etc.).
Contenu du cours linux
Rappels sur le shell bash
À maîtriser avant tout
Quel est le rôle exact du bash ?
Attention aux caractères partagés par le bash et les outils (*, $, […], …)
Principes de fonctionnement du bash
Le décodage d’une ligne de commande : $,*,’,”,`, etc.
Les redirections et les pipes (<><,>,>>,|)
Le lancement de la commande (alias, fonction, commande interne, PATH)
Le bêtisier du bash (erreurs classiques)
Automatiser les traitements avec des shellscripts
Les contextes d’utilisation standards
Les scripts de démarrage sous Linux
Les scripts d’installation.
Tout peut se surveiller (connexion, file system, fichiers…)
Principe général d’un shellscript
Lancement d’un script (&, shebang, source)
Variables utilisateurs et standards. Passage d’arguments.
Mise au point (2>, script, tee, debugging…)
Exécution différée (crontab)
Programmation
Instructions conditionnelles (if, for, while…)
Compléments (fonctions, code retour, case…)
Grep, ed, sed et les expressions régulières
Les expressions régulières
Les différents caractères ^, $, ., *, [, …
Expressions régulières étendues
Extraire des lignes avec grep
Recherche simple et complexe
Extraction de lignes “mal formatées”
Les extensions de grep (egrep, fgrep)
Edition de données avec sed
Philosophie de la syntaxe
Les traitements de base (afficher, effacer, substituer, insérer)
Manipulations avancées avec sed
Définir des motifs de sous chaînes dans la ligne 1, 2…
Commandes composées et multilignes
Recherche d’alternatives
Autres traitements
Insertion de commandes ed dans un script (here document)
Manipuler les chaînes avec expr (motifs complexes)
Le langage awk
Présentation de awk
Limites de grep et sed. Apports de awk
Programmer une matrice de motifs et d’actions associées
Variables, enregistrements et champs ($1,$2,$NR, $NR, …)
Les motifs (simples, expressions régulières)
Awk est aussi un langage (if, for, …)
Fonctions essentielles de awk
L’affichage inspiré du C (print, printf)
Traitements de chaînes
Aspect avancés
Les tableaux associatifs
Fonctions
Scripts interactifs
Exemple d’analyse de fichiers de logs
Publication des données
Formats et conversions
Sensibilisation aux différences de formats (ascii, mime…)
Comment régler les problèmes d’accents ?
Afficher le contenu de n’importe quel fichier dans divers formats : od
Utilitaire de transformation : tr
Les outils souvent concernés (dos2unix, uuencode, uudecode…)
Formater un document avec Tex et Latex
Comment générer un PDF ou des documents WEB liés entre eux (latex2pdf, latex2html) ?
Les formats nroff et troff (l’exemple des pages man)
Traduire du texte en HTML avec sed
Mise en page
Lire des gros fichiers : more ou less
Concaténation « verticale » : paste
Limiter les lignes à une largeur maximale : fold
Utilitaire de mise en forme : pr
Eliminer les séquences de surimpression dans le flux standard : col
Outils et commandes sur les fichiers
Les standards
Connaître la nature d’un fichier : file
Lire ou concaténer : cat
Disposer de statistiques sur un fichier : wc
Extraire des zones ou des champs : cut
Découper un fichier : split ou csplit
Comparer des fichiers : diff, cmp
Utilitaire de tri : sort
Recherche de fichier et action associée : find, locate
Archiver avec tar
D’autres moins standards
Appliquer un fichier de différence créé par diff : patch
Trouver une chaîne de caractères dans un fichier binaire : strings
Utilitaires associés au tri : uniq, comm
Outils de compression/décompression
compress, pack, gzip, bzip2…