Catégorie : Comprendre     Tags :      

    Retrouvez cet article dans : Linux Pratique Hors série 8

    En UNIX, tout est fichier

    Il est courant d'entendre qu'avec GNU/Linux tout est possible à partir d'une simple invite de commande, et ce n'est pas faux. En effet, les possibilités des systèmes Unix (ancêtres de GNU/Linux), étaient en avance sur leur temps lorsque les ordinateurs étaient encore tous uniquement accessibles à partir d'une console en mode texte. L'administration de ces machines était alors entièrement à la portée d'un éditeur de texte, puisque toutes les configurations étaient stockées dans de simples fichiers textes.
    On comprend alors mieux que le débat ait pu porter à l'époque sur le choix de son éditeur de texte, en mode console, et non sur celui de son environnement graphique préféré...

    Des shells puissants

    Mais revenons en 2006. Que reste-t-il aujourd'hui de cet héritage ? Il en reste tout d'abord un shell puissant autour du noyau Linux (voir page 40). Que ce soit Bash, Zsh, Bush, Cshell, KornShell, Dash..., ils sont tous capables de lancer le traitement par le noyau d'un fichier binaire exécutable, et ont accès facilement à toutes les applications installées sur un système GNU/Linux. Or, il est souvent plus simple et plus rapide de taper le nom d'une application dans une console, que d'aller farfouiller dans de jolis menus pleins d'icônes et pleins de sous-menus, eux-mêmes ramifiés...
    Mais ce n'est pas tout, un shell sous GNU/Linux peut aussi contrôler la priorité d'exécution d'une application qu'il lance, stopper ou tuer un processus en cours d'exécution et, même mieux, dupliquer un processus ! (Ils ne peuvent pas encore le faire avec du pain, mais les hackers les plus renommés sont sur le coup...).

    Des commandes en mode texte

    Il subsiste encore de cet héritage du mode texte toute une panoplie de petites applications qui répondent à un besoin précis d'information en quelques lignes de texte à l'écran. C'est le cas de pwd, ls, find, ps, df... Ces commandes affichent le répertoire courant, listent le contenu de ce dernier, affichent l'adresse des fichiers d'un nom donné, affichent le nom des processus en cours d'exécution ou l'espace disque disponible.
    Et ce n'est pas tout, puisque les applications qui répondent du texte étaient monnaie courante, un trousseau d'applications servant à traiter ces informations en mode texte s'est vite créé autour. On trouve ainsi des grep, des sed, des awk, etc., qui permettent respectivement de sélectionner, trier et transformer des lignes dans un texte. Et les shells y ont aussi mis du leur, en permettant par exemple de rediriger la sortie d'une application vers l'entrée d'une autre, évitant ainsi d'avoir à écrire soi-même la réponse d'un programme en entrée d'un autre, ou permettant de générer, puis faire traiter une même information par plusieurs applications avant d'afficher le résultat sur la console.
    Par exemple, la commande : cat /usr/share/dict/french | grep .asse$ permet d'afficher le contenu du fichier /usr/share/dict/french, mais le redirige grâce à la commande | du Bash et à la commande grep, qui en extrait les mots se terminant par « asse ». Cela peut se révéler utile pour faire de la poésie par exemple...
    Remarque : La chaîne de caractère « .asse$ » est une expression régulière, un langage de description de motif de caractères dans un texte qui mériterait un hors-série de GNU/Linux Pratique à lui seul...
    Enfin, les shells proposent tous un langage de programmation interne permettant en bidouillant 5 minutes de déplacer
    des montagnes.

    Dualité d'interface

    Il est donc possible de faire une quantité phénoménale de choses avec une console sous GNU/Linux, et concernant l'administration d'une machine, il est à la fois nécessaire et suffisant de disposer d'une console. Toutefois, il est vrai aussi que dans les distributions GNU/Linux modernes, des utilitaires graphiques permettent de configurer une machine en tous points ou presque. Et cette dualité d'interface (texte et graphique) s'est étendue, dans les deux sens, à presque toutes les applications.
    Ainsi, des applications qui n'avaient été développées jusque-là qu'avec des interfaces graphiques ont été repensées afin de pouvoir être manipulées dans une console texte, comme le moteur de blog Nanoblogger par exemple. Après, de là à « repenser »
    Tux Racer, BZFlag ou Frozen-Bubble, il faudrait sacrément aimer son Xterm !

    Retrouvez cet article dans : Linux Pratique Hors série 8

    Posté par (La rédaction) | Signature : Simon Descarpentries | Article paru dans

    Laissez une réponse

    Vous devez avoir ouvert une session pour écrire un commentaire.


    • Il y a actuellement

    • 633 articles/billets en ligne.