Table des matières
CHAPITRE 1
N°1 Trouver des programmes dans le PATH . . . . . . . . . . . . . . . . . . .
N°2 Valider les entrées : caractères alphanumériques uniquement .
N°3 Normaliser les formats de date . . . . . . . . . . . . . . . . . . . . . . . . . .
N°4 Soigner la présentation des grands nombres . . . . . . . . . . . . . . .
N°5 Valider des entiers en entrée . . . . . . . . . . . . . . . . . . . . . . . . . . . .
N°6 Valider des flottants en entrée . . . . . . . . . . . . . . . . . . . . . . . . . . .
N°7 Valider les formats de date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
N°8 Contourner les implémentations limitées d'echo . . . . . . . . . . . .
N°9 Calculatrice de précision arbitraire à virgule flottante . . . . . . .
N°10 Verrouiller les fichiers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
N°11 Séquences de couleurs ANSI. . . . . . . . . . . . . . . . . . . . . . . . . . . .
N°12 Construire une bibliothèque de scripts shell . . . . . . . . . . . . . . .
N°13 Déboguer des scripts shell. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CHAPITRE 2
Améliorer les commandes utilisateur . . . . . . . . . . . . . . . . . . . . . .
N°14 Formater les lignes longues . . . . . . . . . . . . . . . . . . . . . . . . . . . .
N°15 Archiver les fichiers détruits . . . . . . . . . . . . . . . . . . . . . . . . . . .
N°16 Exploiter l'archive des fichiers détruits. . . . . . . . . . . . . . . . . . .
N°17 Consigner les destructions de fichiers . . . . . . . . . . . . . . . . . . . .
N°18 Afficher le contenu des répertoires . . . . . . . . . . . . . . . . . . . . . .
N°19 Rechercher les fichiers par nom. . . . . . . . . . . . . . . . . . . . . . . . .
100 scripts shell Unix
VI
N°20 Émuler un autre environnement : DIR . . . . . . . . . . . . . . . . . . .
N°21 Explorer la base de données des pages de manuel . . . . . . . . . .
N°22 Afficher l'heure par fuseau horaire . . . . . . . . . . . . . . . . . . . . . .
CHAPITRE 3
Créer des utilitaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
N°23 Utilitaire de pense-bête . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
N°23 a renseigner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
N°24 Une calculatrice interactive . . . . . . . . . . . . . . . . . . . . . . . . . . . .
N°25 Vérifier l'orthographe de certains mots . . . . . . . . . . . . . . . . . .
N°26 Vérifier l'orthographe interactivement avec shpell . . . . . . . . .
N°27 Ajouter un dictionnaire local à spell . . . . . . . . . . . . . . . . . . . . .
N°28 Convertir les températures . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
N°29 Calculer les remboursements d'un prêt . . . . . . . . . . . . . . . . . .
N°30 Implémenter un agenda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
N°30.1 A renseigner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CHAPITRE 4
Enrichir UNIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
N°31 Afficher un fichier avec les numéros de ligne . . . . . . . . . . . . . .
N°32 Afficher un fichier avec des informations complémentaires . .
N°33 Césure des lignes longues uniquement . . . . . . . . . . . . . . . . . . .
N°34 Émuler les options de type GNU pour les quotas . . . . . . . . . . .
N°35 Renforcer les similitudes entre sftp et ftp . . . . . . . . . . . . . . . . .
N°36 Compléter grep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
N°37 Travailler avec des fichiers compactés. . . . . . . . . . . . . . . . . . . .
N°38 Garantir un compactage optimal des fichiers . . . . . . . . . . . . . .
CHAPITRE 5
Administration système : gérer les utilisateurs . . . . . . . . . . . . .
N°39 Analyser l'utilisation du disque . . . . . . . . . . . . . . . . . . . . . . . . .
N°40 Signaler les utilisations excessives du disque . . . . . . . . . . . . . .
N°41 Déterminer l'espace disque disponible . . . . . . . . . . . . . . . . . . .
N°42 Faciliter la lecture de la sortie df . . . . . . . . . . . . . . . . . . . . . . . .
N°43 Implémenter un locate sécurisé . . . . . . . . . . . . . . . . . . . . . . . . .
N°43.1 A renseigner . . . . . . . . . . . . . . . . . . . . . . . . .
N°44 Ajouter des utilisateurs au système . . . . . . . . . . . . . . . . . . . . . .
N°45 Suspendre un compte utilisateur . . . . . . . . . . . . . . . . . . . . . . . .
Table des matières
VII
N°46 Supprimer un compte utilisateur . . . . . . . . . . . . . . . . . . . . . . . .
N°47 Valider l'environnement utilisateur. . . . . . . . . . . . . . . . . . . . . .
N°48 Nettoyer après le départ des invités . . . . . . . . . . . . . . . . . . . . . .
CHAPITRE 6
Administration système : assurer la maintenance . . . . . . . . . .
N°49 Suivre les applications set UID. . . . . . . . . . . . . . . . . . . . . . . . . .
N°50 Paramétrer la date et l'heure du système . . . . . . . . . . . . . . . . .
N°51 Afficher les services activés . . . . . . . . . . . . . . . . . . . . . . . . . . . .
N°52 Tuer les processus par nom . . . . . . . . . . . . . . . . . . . . . . . . . . . .
N°53 Valider les entrées crontab des utilisateurs . . . . . . . . . . . . . . . .
N°54 Garantir l'exécution des jobs cron du système . . . . . . . . . . . . .
N°55 Faire tourner les fichiers journaux . . . . . . . . . . . . . . . . . . . . . .
N°56 Gérer les sauvegardes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
N°57 Sauvegarder des répertoires. . . . . . . . . . . . . . . . . . . . . . . . . . . .
CHAPITRE 7
Utilisateurs du Web et d'Internet . . . . . . . . . . . . . . . . . . . . . . . . . . .
N°58 Calculer le temps passé en ligne. . . . . . . . . . . . . . . . . . . . . . . . .
N°59 Télécharger des fichiers via le FTP . . . . . . . . . . . . . . . . . . . . . .
N°60 Suivre les informations de la BBC avec lynx . . . . . . . . . . . . . .
N°61 Extraire les URL d'une page Web . . . . . . . . . . . . . . . . . . . . . . .
N°62 Définir des mots en ligne. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
N°63 Prévisions météorologiques . . . . . . . . . . . . . . . . . . . . . . . . . . . .
N°64 Vérifier les dates de retour des livres à la bibliothèque . . . . . .
N°64.1 A renseigner . . . . . .
N°65 Extraire des informations filmographiques sur IMDb . . . . . .
N°66 Convertir des devises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
N°66.1 A renseigner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
N°67 Gérer un portefeuille d'actions . . . . . . . . . . . . . . . . . . . . . . . . .
N°67.1 A renseigner . . . . . . . . . . . . . . . . . . . . . . . . .
N°68 Suivre les modifications de pages Web . . . . . . . . . . . . . . . . . . .
CHAPITRE 8
Astuces de webmaster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exécuter les scripts de ce chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
N°69 Visualiser l'environnement CGI . . . . . . . . . . . . . . . . . . . . . . . .
N°70 Consigner les événements Web dans un journal. . . . . . . . . . . .
100 scripts shell Unix
VIII
N°71 - Construire des pages Web en un clin d’oeil . . . . . . . . . . . . . . . .
N°71.1 - A renseigner . . . . . . . . . . . . . . . .
N°72 Traiter les formulaires de prise de contact . . . . . . . . . . . . . . . .
N°73 Créer un album photo sur le Web . . . . . . . . . . . . . . . . . . . . . . .
N°74 Créer un livre d'or . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
N°75 Créer un compteur d'accès en mode texte . . . . . . . . . . . . . . . .
N°75.1 A renseigner . . . . . . . . . . . . . . . .
N°76 Afficher du texte aléatoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
N°76.1 A renseigner . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CHAPITRE 9
Administration du Web et d'Internet . . . . . . . . . . . . . . . . . . . . . . . .
N°77 Identifier les liens internes cassés. . . . . . . . . . . . . . . . . . . . . . . .
N°78 Signaler les liens externes cassés . . . . . . . . . . . . . . . . . . . . . . . .
N°79 Vérifier l'orthographe des pages Web . . . . . . . . . . . . . . . . . . . .
N°80 Gérer les mots de passe Apache . . . . . . . . . . . . . . . . . . . . . . . . .
N°81 Synchroniser les répertoires avec FTP . . . . . . . . . . . . . . . . . . .
N°82 Se synchroniser à un répertoire distant via FTP . . . . . . . . . . .
N°83 Synchroniser les fichiers avec SFTP . . . . . . . . . . . . . . . . . . . . .
N°83.1 A renseigner . . . . . . . . . . . . . . . . . . . . .
CHAPITRE 10
Administration d'un serveur sur Internet . . . . . . . . . . . . . . . . . . .
N°84 Explorer le fichier access_log d'Apache . . . . . . . . . . . . . . . . . .
N°85 Comprendre le fonctionnement des moteurs de recherche . . .
N°85.1 A renseigner . . .
N°86 Explorer le fichier error_log d'Apache . . . . . . . . . . . . . . . . . . .
N°87 Éviter un désastre à l'aide d'une archive distante . . . . . . . . . .
N°87.1 A renseigner . . . . . . . . . .
N°88 Implémenter un site Web miroir . . . . . . . . . . . . . . . . . . . . . . . .
N°89 Suivre l'utilisation de FTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
N°90 Contrôler l'état du réseau. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
N°90.1 A renseigner. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
N°91 Changer la priorité des tâches par nom de processus . . . . . . .
N°91.1 A renseigner . . . . . . .
N°92 Ajouter de nouveaux comptes d'hôte virtuel . . . . . . . . . . . . . .
CHAPITRE 11
Scripts Mac OS X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
N°93 Lister les utilisateurs NetInfo . . . . . . . . . . . . . . . . . . . . . . . . . . .
N°94 Ajouter un utilisateur à un système Mac OS X . . . . . . . . . . . .
N°95 Ajouter un alias de courrier électronique . . . . . . . . . . . . . . . . .
N°96 Définir dynamiquement le titre du Terminal . . . . . . . . . . . . . .
Table des matières
IX
N°97 Créer des listes résumant la cédéthèque d'iTunes . . . . . . . . . .
N°98 Compléter la commande open . . . . . . . . . . . . . . . . . . . . . . . . . .
CHAPITRE 12
Quand les scripts shell sont synonymes de jeu . . . . . . . . . . . .
N°99 Anagrammes : un jeu de mots . . . . . . . . . . . . . . . . . . . . . . . . . .
N°100 Deviner un mot avant qu'il ne soit trop tard : le pendu. . . . .
N°101 Tester ses connaissances sur les capitales européennes . . . . .
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .