DE L'UTILISATION A LA PROGRAMMATION


  • Flipbook (liseuse HTML5)
  1. Ce produit ou cette combinaison n'est plus en stock.


  • Flipbook (liseuse HTML5)
  1. Ce produit ou cette combinaison n'est plus en stock.


Mémo Ligne de commandes

Le guide pour exploiter le shell & tirer le meilleur de votre système !


SOMMAIRE :

Introduction

Qu’est-ce qu’un shell ? Comprenez ses principes de fonctionnement avant de prendre en main votre terminal

p.08   Qu’est-ce qu’un « Shell » ?

Mémo

Découvrez les bases indispensables pour maîtriser le shell et créer vos premiers scripts : système de fichiers, mécanisme d’interprétation, expressions régulières...

p.20   Mémo 1 : Le système de fichiers  

p.36   Mémo 2 : Le mécanisme d’interprétation du shell  

p.52   Mémo 3 : Le traitement de flux de données  

Recettes

Après avoir (re)découvert les principes de fonctionnement du shell et l’essentiel pour maîtriser ce dernier, passez à la pratique !

p.76   Mieux connaître son système

p.80   Inspectez les journaux système

p.85   Créer un service système

p.89   Planifier ses tâches

p.92   Lancer des opérations en tâches de fond

p.94   Exécuter un programme interactif à distance

p.97   Sécuriser son serveur en appliquant des règles firewall

p.102   Détecter les éventuelles menaces présentes dans vos fichiers téléchargés

p.106   Monter des fichiers ISO et créer des espaces de fichiers sur RAM

p.109   Gérer ses environnements de travail

p.112   Synchroniser deux répertoires

p.115   Écouter de la musique depuis son terminal

p.117   Renommer ses photos grâce aux métadonnées

p.120   Convertir ses images par lots

p.123   Générer des galeries d’images avec mise à jour automatique

 

PREFACE :


     La ligne de commandes... que ce soit pour paramétrer plus finement son système, régler un problème ou traiter plus rapidement certaines situations, on finit toujours par devoir/vouloir s’y frotter et lorsque c’est fait, on se rend compte qu’il y a sans cesse de nouvelles choses à apprendre la concernant ! Mais avant de s’aventurer plus en avant, un certain nombre de connaissances de base sont nécessaires pour pouvoir évoluer sereinement.

     L’histoire du shell tel qu’on le nomme également, comme chacun le sait – ou le découvrira dans ces pages – est intimement liée à Unix. Les raisons de sa conception ainsi que son fonctionnement seront largement détaillés au sein de la partie introductive de ce hors-série. Vous y trouverez également explicités les principes fondamentaux d’utilisation de la ligne de commandes ainsi que quelques-unes des commandes de base à connaître. Passé ce point de départ, étape indispensable pour vous immerger dans le sujet qui nous occupe ou simplement pour redécouvrir ce dernier, l’essentiel à savoir pour tirer parti de votre terminal vous attend dans notre seconde partie.

     Si la première partie pouvait s’apparenter à la lecture d’une recette de cuisine et à la recherche des ingrédients nécessaires, la seconde consisterait à préparer ces derniers en vue des bons repas à venir. Avant de faire mijoter votre système, nous vous fournirons ici un certain nombre d’indications afin de ne pas faire brûler votre cuisine, vous emmêler les pinceaux dans les assaisonnements ou oublier certains ingrédients indispensables. Pour ne pas perdre de vue l’essentiel, cette seconde étape se présentera donc sous la forme d’un mémo où seront traités divers points incontournables pour une bonne exploitation de la ligne de commandes : le système de fichiers, le mécanisme d’interprétation du shell, le traitement des flux de données. Vous l’aurez compris, ce mémo a pour objectif de vous fournir des bases solides pour pouvoir utiliser votre terminal et vous permettre par la suite d’élaborer vos premiers scripts shell.

     Après la théorie, la pratique ! Présentée sous forme de recettes, la dernière partie de ce guide permettra de mettre en œuvre une partie des notions vues précédemment, mais aussi et surtout, offrira un bon aperçu des vastes possibilités offertes par la ligne de commandes. Un conseil : préparez votre tablier ;-)

     Il va s’en dire qu’utilisateurs avancés comme débutants trouveront dans ce guide de quoi enrichir leurs connaissances dans l’utilisation du terminal... et sans doute de quoi ouvrir leur appétit au passage ;-) Nous espérons en tout cas que sa lecture suscitera une nouvelle vocation : celle de devenir le « chef » de votre shell afin que vous puissiez établir les recettes* qui vous permettront de cuisiner votre système aux petits oignons !      
  

                                                                                                                                                                                      La rédaction

Maîtrisez la programmation de SCRIPTS SHELL


SOMMAIRE :

 

PROGRAMMEZ votre premier SCRIPT SHELL : Bien plus qu'un simple fichier de commandes

p. 08    Écrivez votre premier script « Shell »

 

PROGRESSEZ dans l'écriture de scripts grâce aux structures de contrôle et à la gestion de processus

p. 44    Utilisez les structures de contrôle et autres mécanismes de la programmation « Shell »
p. 76    Gérez vos processus et sous-processus

 

MAÎTRISEZ les bonnes techniques et utilisez les fonctions avancées du shell bash

p. 90    Découvrez les fonctionnalités avancées du « Bash » et les bonnes pratiques

 

BONUS

p. 112   Mise en pratique : réalisation d’un outil de contrôle de qualité de scripts « Shell »

 

 

Préface :

 

Avec le succès de Linux et le besoin croissant d’automatisation dans la gestion de systèmes informatiques – en particulier le fameux « Cloud »– l’utilisation de scripts « Shell », que certains auraient bien aimé voir décroître ou même complètement disparaître, est, au contraire, encore plus d’actualité aujourd’hui. Qu’il s’agisse d’automatiser des tâches répétitives, de concevoir des installations de logiciels ou systèmes entièrement automatisés - ou même simplement de créer des procédures fiables pour exécuter des tâches récurrentes, les scripts « Shell » font encore partie du paysage aujourd’hui. Néanmoins, leur apprentissage n’est pas toujours systématique dans les filières de formation professionnelle, et les concepts inhérents aux mécanismes d’interprétation et à la syntaxe du « Shell » laissent souvent perplexes les développeurs (plus habitués au paradigme de la programmation procédurale, objet ou même fonctionnelle) comme les administrateurs de systèmes (qui, de leur côté, sont simplement moins habitués à la programmation en général).

Ainsi, pour de nombreux utilisateurs et concepteurs de scripts « Shell », l’outil reste souvent cryptique, et de nombreux scripts sont donc de fait souvent mal conçus, mais aussi parfois remplacés par d’autres technologies, plus familières, mais au final beaucoup moins adaptées. À titre d’anecdote, un de mes collègues développeur Java, a émis il y a un peu la possibilité de remplacer les scripts « Shell » de lancement d’un de nos produits Java par un (autre) programme Java, dans le but de supprimer ces derniers. L’idée, assez absconse, venait surtout d’un manque de connaissances de la syntaxe et des capacités du « Shell », et d’une impression que le « Shell » est « compliqué » et surtout peu fiable.

C’est loin d’être le cas ! Le « Shell », lorsque l’on en comprend bien les mécanismes, est au contraire un langage complet, puissant, mais disposant aussi de tout ce qui est nécessaire pour réaliser des scripts fiables. C’est donc tout l’enjeu de ce hors-série : présenter à son lecteur, de manière très complète et didactique, les mécanismes de contrôle et les bonnes pratiques. Ceci pour s’assurer que le lecteur, à l’issue de ce hors-série, se sente confiant dans sa maîtrise du langage, mais dispose aussi de tous les outils nécessaires pour réaliser des scripts efficaces, mais aussi robustes... Et tout cela en seulement quelques heures ! :)

 

 

                                                                                     Romain Pelisse
                                                                                     Relecture par Pauline Durand-Mabire

 

Remerciements

Ma formation à« Unix » et à la programmation « Shell » doit beaucoup à l’excellent cours que donnait M. Sylvain Baudry, à l’ESME Sudria [1], dans le cadre des enseignements délivrés par le département informatique mené par M. Jean-Pierre Petit. Je souhaite donc tout naturellement leur dédier, à tous les deux, ce hors-série.

En outre, il est important de signaler au lecteur que le « polycopié » de M. Sylvain Baudry, un ouvrage très complet, entièrement en français, a été publié[2], sous une licence « GNU General Public License v2», et peut être librement téléchargé (au format PDF) ou consulté en ligne. Il forme une excellente référence complémentaire pour le lecteur.

Et, le lecteur déjà confirmé, et amateur de LaTeX est bien sûr invité à contribuer au projet... :)

 

[1] ESME Sudria : http://www.esme.fr/

[2] Le projet « Unix Initiation » sur GitHub : https://github.com/belaran/free-docs/

Nouveaux produits