Articles

Divers

Pourquoi utiliser le terminal sous X

Par Contributeur - Publié le

Pourquoi ?



Tout d'abord, mettons nous d'accord, le terminal n'est qu'une application qui permet d'envoyer des commandes au "shell" (l'interpréteur de commandes). Il existe différents types de shell mais je ne vais pas entrer dans les détails ici. Chaque commande à un effet, plus ou moins sensible au niveau du système. Grâce à notre ami Grouik, vous connaissez un certain nombre de commandes et vous avez peut-être remarqué que certaines ont exactement les mêmes effets que certaines actions effectuées "en interface graphique". En réalité, c'est plutot l'inverse mais bon, on va pas chipoter… (le shell est en effet plus "proche" de la machine, même si c'est un langage interprété ).

Par exemple, pour créer un nouveau dossier, vous faites le plus souvent Fichier>Nouveau Dossier sur le Finder, mais vous pouvez aussi utiliser la commande mkdir. Bien sûr la solution du Finder est la plus intuitive mais mkdir propose, à travers ses options, plus de puissance. Il en est de même pour la plupart des commandes: ce qu'elles font peut être réalisé d'une autre manière, plus intuitive mais souvent moins puissante. Voila donc un des gros avantages de la ligne de commande, à résultat égal, on a plus de possibilités.

Pour la puissance…



Il y a des commandes qui effectuent des actions très basiques, comme mkdir, touch, rm… Mais il y a aussi de vrais programmes en ligne de commande, comme curl, pbxbuild… Ceux là, toujours grâce au mécanisme des options notamment, peuvent effectuer des actions très puissantes: pbxbuild par exemple en est la preuve vivante…
Voir aussi emacs, irssi...

La puissance du shell se révèle surtout grâce à des mécanismes avançés comme les métacaractères ou tous les mécanismes de programmation du shell. Ces améliorations se ressentent déjà au niveau de la ligne de commande mais elles sont encore plus utiles une fois incorporées à des scripts shell. Ces derniers permettent d'automatiser certaines actions et de créer de nouvelles commandes en fonction des besoins de chacun, pour une efficacité encore plus grande. Pourquoi se fatiguer alors que l'ordinateur peut travailler à notre place ?

Pour la concision…



C'est un peu lié à la puissance des commandes mais c'est un avantage non négligeable: elles peuvent effectuer des actions très compliquées en une seule ligne de commande. Grâce à curl par exemple, vous pouvez télécharger un fichier en ftp ou http en une seule ligne de commande, là ou l'utilisation d'un logiciel dédié demanderait beaucoup plus de temps… Une fois de plus, les scripts shell accentuent encore ce point en proposant des solutions personnalisées (ou même générale mais sur une utilisation plus spécifique)

Pour la culture générale…



Autre intérêt du terminal: c'est une manière de plus de faire les choses. Très souvent, même au niveau graphique, il existe plusieurs manières d'arriver au même résultat. L'intérêt d'en connaitre le plus possible est qu'on a toujours une solution de rechange au cas où l'une ne marche plus.

Enfin, je vais illustrer mon propos par une expérience pratique: un jour, j'ai eu un très gros fichier .tar à décompresser (environ 900 Mo). Là où Stuffit Expander se bloquait très rapidement (je ne sais pas s'il était planté ou seulement très lent…), une simple utilisation de la commande tar m'a permis d'ouvrir ce fichier, assez rapidement (et pourtant tar n'est pas réputé pour sa rapidité…)

Pour les "fonctions cachées"…



Dernier avantage: certaines choses ne peuvent se faire que par le terminal. En effet, les développeurs de osX n'ont pas encore eu le temps de mettre une interface graphique sous toutes les fonctions du système ou alors, pour certaines, ils ont préféré ne pas les rendre accessibles à tous le monde mais les réserver à ceux qui savent se servir d'un terminal, ce qui est généralement une marque d'un certain niveau informatique.

Prenons un exemple: ipfw, le firewall intégré à osX. Si il n'y avait pas eu quelques bonnes ames pour développer une interface graphique, cette fonction serait restée inconnue de nombreux utilisateurs alors qu'elle est pleinement opérationnelle après configuration à partir du Terminal.
Cet exemple n'est plus tout à fait d'actualité depuis qu'Apple a ajouté une GUI dans les Préférences Système..
Un deuxième exemple: pour l'instant, vos réglages de swap ne sont accessibles qu'en mettant les mains dans le cambouis.

Le paragraphe suivant a été écrit le 18/06/03:

Pour les logiciels unix...



Outre les fonctions existant dans OS X non-paramétrables graphiquement, l'utilisation du terminal permet d'accéder à tous les logiciels disponibles uniquement en ligne de commande. En plus des programmes écrits spécifiquement pour OS X, vous pourrez utiliser les excellents softs pour unix.

Que ce soient des programmes initialement Linux, BSD ou autres, vous pourrez les installer au prix d'efforts plus ou moins importants (certains ne nécessitent qu'un rapide paramétrage du fichier de configuration et du Makefile, d'autres exigent des modifications plus poussées du code source) et bénéficier de leur légendaire robustesse...

Pour conclure…



Bon, maintenant que cette dissertation philosphique a rendu le refroidissement de mon cerveau aussi bruyant que celui de mon Cube, je vais aller faire une petite sieste dans le congélateur… Pendant ce temps, vous pouvez peut-être en profiter pour lancer (pour la premiere fois ?) ce fameux petit Terminal… Et si c'est vraiment la première fois, je vous rassure, c'est comme pour tout, c'est celle là la plus difficile, après ça va tout seul.