1. Livres et vidéos
  2. shell sous Unix/Linux - Apprenez à écrire des scripts pour administrer votre système

shell sous Unix/Linux Apprenez à écrire des scripts pour administrer votre système

  • Accès illimité 24h/24, 7J/7
  • Tous les livres en ligne, les vidéos et les cours enregistrés ENI
  • Plus de 10 nouveautés livres et vidéos chaque mois
  • Les nouveautés disponibles le jour de leur sortie
  • Accès 100% en ligne
  • En stock
  • Expédié en 24h00
  • Livraison à partir de 0,01 €
  • Version en ligne offerte
  • 1 h d'accès gratuit à tous nos livres et vidéos pour chaque commande
  • Accessible immédiatement
  • Version HTML
  • Accès illimité 24h/24, 7J/7

Présentation

Ce livre permet aux administrateurs de systèmes Linux et Unix mais aussi aux utilisateurs avertis de se former à l'écriture de scripts shell dans l'objectif de simplifier, optimiser et automatiser leurs tâches quotidiennes. Des connaissances de base sur Linux, voire sur l'administration d'un serveur sous Linux, sont un plus pour tirer pleinement profit de la lecture de ce livre. En raison de la compatibilité de Linux avec la norme POSIX, ce livre peut également être utile pour n'importe quel autre système de type Unix.

Pour mieux appréhender la suite du livre, le lecteur commence par prendre connaissance des concepts de base : le rôle du shell, les moyens de communication à la disposition des processus, les caractères spéciaux, les expressions rationnelles ou encore les droits utilisateurs...

Les scripts shell étant avant tout des fichiers de « texte brut », ce livre traite ensuite la question des éditeurs de texte, en particulier de Vi, éditeur universel présent sur tous les systèmes de type Unix. Les manipulations de base sont expliquées afin d'apprendre à utiliser cet outil puissant à la logique unique.

Une fois les connaissances de base et l'outil maîtrisés, l'auteur entre dans le vif du sujet et détaille les bases de l'écriture d'un script pour en comprendre le fonctionnement global : shebang, entrées, sorties, arguments, signaux, enchaînements et redirections, etc. Les chapitres qui suivent présentent certains concepts de programmation tels que les structures conditionnelles, les boucles et le traitement des données. Les outils indispensables que sont sed, awk et ed y sont aussi étudiés.

L'auteur présente également un recueil de commandes, automatisables et utiles à l'administration d'un système Linux, ainsi que différents outils plus inhabituels, pouvant répondre à des besoins spécifiques. Ces deux sections peuvent servir de référence au lecteur pour retrouver rapidement les outils qui lui seront utiles.

Enfin, le livre propose des exemples de scripts exécutables en situation réelle, mettant en œuvre de nombreuses commandes afin de répondre à des problématiques concrètes. Ces exemples peuvent servir de source d'inspiration au lecteur pour créer des scripts spécifiques à ses besoins.

Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr.


Les chapitres du livre :
Avant-propos – Introduction – Concepts de base – Éditeurs de texte – Les bases de l'écriture d'un script – Structures conditionnelles et boucles – Traitement des flux et des chaînes – Recueil de commandes – Automatisation – Pour aller plus loin... – Exemples concrets

Table des matières

  • Introduction
    • 1. Architecture d’un système UNIX
    • 2. Le principe KISS
    • 3. Mise en oeuvre de ces apprentissages
  • Concepts de base
    • 1. Définition du shell
      • 1.1 Fonction du shell
      • 1.2 Plusieurs shells
      • 1.3 Choix du shell
      • 1.4 À l’écran : le prompt
      • 1.5 Variables d’environnement
      • 1.6 Complétion automatique
      • 1.7 Rappel des précédentes commandes
    • 2. Chaînes et flux
      • 2.1 Fichiers et pseudo-fichiers
      • 2.2 Entrées et sorties standard
    • 3. Shell, shell script et langage
    • 4. Chemins et caractères spéciaux
      • 4.1 Répertoire courant, chemin relatif ou absolu
      • 4.2 Métacaractères
    • 5. Expressions rationnelles
      • 5.1 Opérateurs
      • 5.2 Groupes
      • 5.3 Exemples
      • 5.4 Versions
    • 6. Utilisateurs et droits
      • 6.1 Identifiants
      • 6.2 Droits
      • 6.3 Ajout de droits avec sudo
  • Éditeurs de texte
    • 1. Pourquoi parler d’éditeurs de texte ?
    • 2. Console ou interface graphique
    • 3. Quels éditeurs ?
      • 3.1 Les ancêtres
      • 3.2 Les légers et rapides
      • 3.3 Les modernes
      • 3.4 Les poids lourds
    • 4. Vim : performant, léger et universel
      • 4.1 Un peu d’histoire
      • 4.2 Les modes
      • 4.3 Les commandes
        • 4.3.1 Insertion de texte
        • 4.3.2 Déplacement
        • 4.3.3 Couper, copier et coller
        • 4.3.4 Sélection visuelle
        • 4.3.5 Recherche et remplacement
        • 4.3.6 Indentations
        • 4.3.7 Annulation
        • 4.3.8 Répétition
        • 4.3.9 Sortie, enregistrement, ouverture...
        • 4.3.10 Récapitulatif
      • 4.4 Aides et extensions
      • 4.5 Configuration
      • 4.6 GVim, avec interface graphique
      • 4.7 Windows, OS X et autres systèmes
    • 5. Nano : léger et simple
      • 5.1 Origine et histoire
      • 5.2 Fonctionnement
    • 6. Accès distant
  • Les bases de l’écriture d’un script
    • 1. Forme générale d’un script
      • 1.1 Nommage de fichier
      • 1.2 Mise en forme
      • 1.3 Commentaires
      • 1.4 Le shebang
    • 2. Variables et assignation
      • 2.1 Assignation d’une valeur
      • 2.2 Type de données
      • 2.3 Lecture d’une valeur au clavier
      • 2.4 Contenu d’une variable
      • 2.5 Substitutions
      • 2.6 Variable spécifique à une commande
      • 2.7 Protection des contenus
      • 2.8 Stocker des listes
      • 2.9 Opérations arithmétiques
    • 3. Environnement et communication
      • 3.1 Entrée et sorties
      • 3.2 Arguments
        • 3.2.1 Argument simple
        • 3.2.2 Deux variables pour tous les arguments
        • 3.2.3 Lecture séquentielle des arguments
        • 3.2.4 Argument non-option avec un tiret
      • 3.3 Signaux
      • 3.4 Variables d’environnement
    • 4. Enchaînements et redirections
      • 4.1 Redirections des entrées/sorties
        • 4.1.1 Redirection de la sortie standard
        • 4.1.2 Redirection de la sortie d’erreur
        • 4.1.3 Redirection de l’entrée
        • 4.1.4 Redirections et pseudo-fichiers
        • 4.1.5 Here-document
        • 4.1.6 Chaînage des commandes
        • 4.1.7 Groupage des commandes
        • 4.1.8 Dupliquer la sortie
        • 4.1.9 Redirection de sortie avec sudo
      • 4.2 Enchaînement de commandes
      • 4.3 Exécution en arrière-plan
      • 4.4 Traitement du code de retour
        • 4.4.1 Variable du code d’erreur
        • 4.4.2 Enchaînement conditionnel
        • 4.4.3 Codes de retour d’un script
      • 4.5 Appels imbriqués
        • 4.5.1 Assignation à variable ou en argument
        • 4.5.2 Évaluation de contenus de chaînes
    • 5. Fonctions
      • 5.1 Déclaration et appel
      • 5.2 Arguments
      • 5.3 Flux de données
      • 5.4 Code de retour
    • 6. Inclusion d’un autre fichier
  • Structures conditionnelles et boucles
    • 1. Structures conditionnelles
      • 1.1 Commande test
      • 1.2 Structure conditionnelle avec if
      • 1.3 Structure conditionnelle avec case
    • 2. Boucles
      • 2.1 Boucle for
      • 2.2 Boucle sur une série de nombres
      • 2.3 Boucle while
      • 2.4 Lecture d’un fichier ligne par ligne
      • 2.5 Interruption forcée
  • Traitement des flux et des chaînes
    • 1. De la chaîne au flux
      • 1.1 Utilisation d'une variable dans un flux
      • 1.2 Limite des arguments
      • 1.3 Fichier temporaire
      • 1.4 Flux au lieu des arguments
    • 2. Découpage
      • 2.1 Couper les lignes : cut
      • 2.2 Ignorer les espaces multiples : echo
      • 2.3 Découper les fichiers : split
    • 3. Filtrage
      • 3.1 Conserver les premières lignes : head
      • 3.2 Conserver les dernières lignes : tail
      • 3.3 Extraire un ensemble de lignes
      • 3.4 Inverser les données : tac et rev
      • 3.5 Filtrer selon le contenu : grep
    • 4. Modification
      • 4.1 Modifier des caractères : tr
      • 4.2 Convertir les tabulations : expand et unexpand
      • 4.3 Raccourcir les lignes : fold
      • 4.4 Trier les lignes : sort
      • 4.5 Mélanger les lignes : shuf
      • 4.6 Supprimer les doublons : uniq
      • 4.7 Numéroter et compter : nl et wc
    • 5. Outils évolués
      • 5.1 sed, l’éditeur de flux
        • 5.1.1 Adresses
        • 5.1.2 Commandes
        • 5.1.3 Options utiles
        • 5.1.4 Exemple
      • 5.2 AWK, langage de traitement de texte
        • 5.2.1 Motifs
        • 5.2.2 Traitement des champs
        • 5.2.3 Variables
        • 5.2.4 Structures conditionnelles
        • 5.2.5 Boucles
        • 5.2.6 Fonctions intégrées
        • 5.2.7 Commandes et fichiers
        • 5.2.8 Fonctions utilisateur
        • 5.2.9 Exécution directe
        • 5.2.10 Exemple
      • 5.3 Ed : éditeur non visuel
        • 5.3.1 Adressage
        • 5.3.2 Commandes
        • 5.3.3 Exemple
  • Recueil de commandes
    • 1. Documentation/aide
      • 1.1 Pages de manuel
      • 1.2 Commandes GNU plus en détail
      • 1.3 Identification des commandes
    • 2. Gestion de fichiers
      • 2.1 Création
      • 2.2 Suppression
      • 2.3 Copie, déplacement et renommage
      • 2.4 Liste et recherche
      • 2.5 Consultation
      • 2.6 Droits et appartenance
      • 2.7 Archives et compression
      • 2.8 Détection des types de fichiers
    • 3. Gestion des utilisateurs et groupes
      • 3.1 Créer un utilisateur
      • 3.2 Supprimer un utilisateur
      • 3.3 Modifier un utilisateur
      • 3.4 Créer un groupe
      • 3.5 Supprimer un groupe
      • 3.6 Modifier un groupe
      • 3.7 Lister les utilisateurs et les groupes
    • 4. Processus
      • 4.1 Lister les processus
      • 4.2 Gérer les processus
    • 5. Disques et mémoire
      • 5.1 Consulter les espaces disques
      • 5.2 Consulter la mémoire vive
      • 5.3 Manipuler les partitions
      • 5.4 Monter et démonter
      • 5.5 LVM
    • 6. Système
      • 6.1 Informations et manipulations basiques
      • 6.2 Paquets logiciels
    • 7. Divers
      • 7.1 Vrai et faux, oui et non
      • 7.2 Attente
      • 7.3 Codage et hachage
  • Automatisation
    • 1. Sortie du terminal
      • 1.1 Détacher définitivement : nohup
      • 1.2 Détacher et revenir : screen
      • 1.3 Envoyer un courrier électronique : mail
    • 2. Planification régulière
      • 2.1 Format des tâches
      • 2.2 Tâches utilisateurs
      • 2.3 Tâche système
      • 2.4 Entrées et sorties
    • 3. Exécution ponctuelle
      • 3.1 Programmer une tâche
      • 3.2 Lister des tâches
      • 3.3 Supprimer une tâche
  • Pour aller plus loin...
    • 1. Exploitation avancée des arguments
      • 1.1 Arguments fournis à getopts
      • 1.2 Appel de getopts
    • 2. Formatage des sorties
      • 2.1 Couleurs
      • 2.2 Formatage du texte
      • 2.3 Affichage graphique
    • 3. Droits avancés avec les ACL POSIX
    • 4. Réseau
      • 4.1 Bas niveau, configuration, diagnostic
      • 4.2 Web et téléchargements
      • 4.3 Transfert de fichiers
    • 5. Impression et numérisation
      • 5.1 Impression
      • 5.2 Numérisation
    • 6. Médias
      • 6.1 Images
      • 6.2 Fichiers PDF
      • 6.3 Fichiers audio
    • 7. Environnements de bureau
    • 8. Autres langages
  • Exemples concrets
    • 1. Gestion des utilisateurs
    • 2. Supervision basique
    • 3. Nettoyage de systèmes de fichiers
    • Index

Auteur

Sébastien MACCAGNONIEn savoir plus

Administrateur de systèmes Linux depuis plusieurs années et auteur de nombreux articles sur le sujet, ​Sébastien Maccagnoni​ gère des centaines de serveurs pour de nombreux clients (allant de la TPE aux grands groupes) dans le cadre de sociétés de service ou en tant que freelance. À ce titre, il écrit des scripts quotidiennement pour optimiser son travail et répondre aux besoins de ses clients. Il a également eu l’occasion de donner des cours d'introduction à Linux et aux scripts shell dans différentes écoles d'ingénierie en informatique et dans le cadre de formations professionnelles et poursuit avec ce livre le partage de ses connaissances en la matière.

Caractéristiques

  • Niveau Initié à Confirmé
  • Nombre de pages 324 pages
  • Parution janvier 2018
    • Livre (broché) - 17 x 21 cm
    • ISBN : 978-2-409-01194-8
    • EAN : 9782409011948
    • Ref. ENI : RISHE
  • Niveau Initié à Confirmé
  • Parution janvier 2018
    • HTML
    • ISBN : 978-2-409-01195-5
    • EAN : 9782409011955
    • Ref. ENI : LNRISHE

Téléchargements

En complétant ce formulaire, vous acceptez d'être contacté afin de recevoir des informations sur nos produits et services ainsi que nos communications marketing. Vous aurez la possibilité de vous désabonner de nos communications à tout moment. Pour plus d'informations sur notre politique de protection des données, cliquez ici.
  • Des fichiers complémentaires (16,6 Ko)