Introduction

Table des matières

1. Pourquoi ce guide?
2. Qui devrait lire ce guide?
3. Nouvelles versions et disponibilité
4. Historique des révisions
5. Contributions
6. Observations et retours variés
7. information de Copyright
8. De quoi avez-vous besoin?
9. Conventions employées dans ce document
10. Organisation de ce document

1. Pourquoi ce guide?

La raison première de ce document est que beaucoup de gens trouvent le HOWTO trop court et incomplet, et le guide Bash Scripting trop poussé. Il n'y a rien entre ces deux extrêmes. J'ai aussi écrit ce guide selon le principe général que les guides de base devraient être gratuits, alors que peu le sont.

C'est un guide pratique qui, sans être toujours sérieux, essaye de donner des exemples d'usage plutôt que théoriques. Je l'ai en partie écrit parce que je ne suis pas emballé par les exemples dépouillés, hyper simplifiés écrits par des gens qui, sachant de quoi ils parlent, montrent de super possibilités du Bash, tellement hors contexte que vous ne pouvez vous imaginez leur applications pratiques. Vous pouvez lire ce genre de documents après ce guide, lequel contient exercices et exemples qui aideront à survivre dans la vraie vie.

De par mon expérience en tant qu'utilisateur, administrateur et formateur sur système UNIX/Linux, je sais que des gens peuvent avoir des années d'interactions quotidiennes avec leur système sans avoir la moindre notion de l'automatisation de tâches. De sorte qu'ils pensent souvent que UNIX n'est pas convivial, et pire, ils ont l'impression que c'est lent et obsolète. Cette difficulté est de celles que peut palier ce guide.

2. Qui devrait lire ce guide?

Quiconque qui, travaillant sur un système de type UNIX, veut se simplifier la vie. Utilisateurs avancés ou administrateurs peuvent tirer bénéfice de la lecture de ce guide. Les lecteurs qui ont déjà pris en main le système via la ligne de commande apprendront les ficelles de l'écriture de 'shell' qui facilitent l'exécution des tâches quotidiennes. L'administration de système repose grandement sur l'écriture de scripts 'shell'. Les tâches courantes sont automatisées avec de simples scripts. Ce document est plein d'exemples qui vous encouragera à écrire les vôtres et qui vous incitera à améliorer ceux existants.

Prérequis / Ce qui n'est pas dans ce guide. Vous devriez:

  • être familiarisé avec UNIX ou Linux: les commandes de bases, les pages 'man' et de documentation

  • être capable d'utiliser un éditeur de texte

  • comprendre les processus d'initialisation et d'arrêt du système: init et initscripts

  • savoir créer des utilisateurs et des groupes, déclarer des mots de passe

  • savoir donner des droits et des modes d'accès

  • comprendre les conventions de nommage des périphériques, le partitionnement, le montage/démontage des systèmes de fichiers

  • savoir ajouter/retirer des logiciels du système

Voir Introduction to Linux (ou votre miroir TLDP TLDP mirror) si vous ignorez l'un de ces aspects. Des informations complémentaires peuvent être trouvées dans la documentation de votre système (man; info pages), ou là: the Linux Documentation Project.

3. Nouvelles versions et disponibilité

La dernière édition se trouve à http://tille.xalasys.com/training/bash/. Vous devriez aussi la trouver à http://tldp.org/LDP/Bash-Beginners-Guide/html/index.html.

Ce guide est disponible imprimé chez Fultus.com.

Figure 1. Couverture du Guide Bash du Débutant

Couverture du guide, titre rouge vif sur fond bleu.

4. Historique des révisions

Historique des versions
Version 1.72005-09-05MG
Corrected typos in chapter 3, 6 and 7, incorporated user remarks, added a note in chap7.
Version 1.62005-03-01MG
Minor debugging, added more keywords, info about new Bash 3.0, took out blank image.
Version 1.52004-12-06MG
Changes because of new domain, minor corrections.
Version 1.42004-10-18MG
Debugging, added a couple of notes in chap9, replaced screenshots with screen sections. Corrected some typos.
Version 1.32004-07-09MG
Added tracer image 1x1 pixel http://tille.xalasys.com/images/blank-bash.png, added textobjects for all pictures, fixed wrong links in index, made signal list more clear.
Version 1.22004-06-15MG
Added index, more markup in screen sections.
Version 1.12004-05-22MG
Last read-through before going to press, added more examples, checked summaries, exercises, cleaned up introduction.
Version 1.02004-04-27TM
Initial release for LDP; more exercises, more markup, less errors and abuse; added glossary.
Version 1.0-beta2003-04-20MG
Pre-release

5. Contributions

Merci à tous les amis qui ont aidé (ou essayé) et à mon mari; vos paroles d'encouragement ont rendu ce travail possible. Merci à tous les gens qui ont soumis anomalies, exemples et remarques - parmi plein, plein d'autres:

  • Hans Bol, l'une des groupies

  • Mike Sim, remarques sur le style

  • Dan Richter, pour les exemples de tableaux

  • Gerg Ferguson, pour les idées sur le titre

  • Mendel Leo Cooper, pour avoir mis à disposition de l'espace

  • #linux.be, pour m'avoir aider à garder les pieds sur terre

  • Frank Wang, pour ses remarques détaillées sur toutes mes erreurs ;-)

Remerciements special à Tabatha Marshall qui a bénévolement revu, et l'expression, et la grammaire. On forme une bonne équipe: elle travaille quand je dors. Et vice versa ;-)

6. Observations et retours variés

Informations manquantes, liens invalides, erreurs de frappe, remarques? Envoyer un mail à

La personne assurant le suivi du document.

7. information de Copyright

Copyright © 2003-2005 Machtelt Garrels.

Permission est donnée pour copier, distribuer et/ou modifier ce document selon les termes de la Licence GNU Free Documentation, Version 1.1 ou ultérieure publiée par la Free Software Foundation, avec les Sections Invariantes: "New versions of this document", "Contributions", "Feedback" et "Copyright information", sans textes de couverture de garde ni de textes de couverture de dos. Une copie de la licence est incluse dans Annexe B, GNU Free Documentation License intitulée "GNU Free Documentation License".

L'auteur et l'éditeur ont fait leur possible pour s'assurer de la validité des informations de ce livre. Cependant, le contenu de ce guide est mis à disposition sans garantie, que ce soit explicite ou implicite. Ni l'auteur, ni l'éditeur, ni un distributeur ne peuvent être tenu responsable des éventuels dommages ou conséquences résultant de l'application du contenu de ce guide.

Les logos, marques déposées et les symboles utilisés dans ce guide sont la propriété de leur dépositaire respectif.

8. De quoi avez-vous besoin?

Bash, téléchargeable à http://www.gnu.org/directory/GNU/. Le Bash accompagne à peu près tous les systèmes Linux, et se trouve maintenant sur un large éventail de systèmes UNIX.

Se compile aisément si vous avez besoin de le personnaliser, testé sur un large éventail d'UNIX, Linux, MS Windows, et autres systèmes.

9. Conventions employées dans ce document

Les conventions typographiques et d'usage suivantes apparaissent dans le texte:

Tableau 1. Conventions typographiques et d'usage

Type de textesens
« Texte entre guillemets »Citation de gens, texte rendu par l'ordinateur entre guillemets
reproduction de la vue du terminal
Capture des données saisies ou affichées sur le terminal, généralement rendue avec un fond gris clair.
commandeNom d'une commande qui peut être tapée sur la ligne de commande.
VARIABLENom d'une variable ou pointeur vers le contenu d'une variable, comme $VARNAME.
optionOption d'une commande, comme « le -a option de la commande ls ».
argumentArgument d'une commande, comme dans « read man ls ».

commande options paramètres

Synopsis de commande ou emploi habituel, sur une ligne séparée.
NomDeFichierNom d'un fichier ou d'un répertoire, par exemple « se positionner dans le répertoire /usr/bin . »
ToucheTouches à frapper sur le clavier, exemple « taper Q pour quitter ».
BoutonBouton graphique sur lequel cliquer comme le bouton OK .
MenuChoixOptions à choisir dans un menu graphique, par exemple: « Choisir AideA propos de Mozilla dans votre navigateur. »
TerminologieTerme important ou concept: « Le noyau est le coeur du système. »
\
La barre oblique inversée affichée dans un terminal ou dans un synopsis de commande indique que la ligne n'est pas finie. (NdT: nous appelerons ce symbole l'échappement). En d'autres mots, si vous voyez une longue commande qui est découpée en plusieurs lignes, \ signifie « Ne pressez pas la touche Entrée encore! »
Voir Chapitre 1, Bash et scripts BashLien vers sujets connexes dans ce guide.
L'auteurLien vers une ressource WEB externe.

10. Organisation de ce document

Ce guide expose des concepts utiles dans la vie de tous les jours de l'utilisateur Bash assidu. Bien qu'une connaissance basique du shell soit requise, nous commençons par aborder les composants et pratiques de base dans les 3 premiers chapitres.

Les chapitres 4 à 6 abordent les outils de bases qui sont utilisés régulièrement dans les scripts.

Les chapitres 8 à 12 abordent les constructions les plus courantes dans les scripts.

Tous les chapitres sont accompagnés d'exercices qui testent votre aptitude à aborder le chapitre suivant.