Bon, là y´a comme un retard.
Le terminal est une simple console ( pas comme la console de MacOS X, mais une console quand même) qui sait lancer un ou plusieurs shells.
Un shell est une interface entre le système ( Unix) et l´utilisateur ( toi). Ce qui a fait la popularité d´Unix ( y´a 30 ans) c´était ce shell, capable de comprendre des commandes puissantes et élaborées, et d´être scripté ( pour éviter les tâches répétitives, on entre toutes les commandes dans un fichier qu´on lance à chaque fois).
L´exemple de rm est le minimum vital ( sauf quand on utilise Batchmod, hein Joker =) ) mais on peut faire cent fois plus compliqué avec le shell. Exemple :
$ find / -name " *.[ch"] -print | zip CodesSources -@
Cette ligne trouve tout les . c ou . h du système qui sont accessibles en lecture ( normalement tous) et les envoie dans une archive ZIP nommée CodesSources. Tu notes qu´avant de faire ça avec le Finder, ça va te prendre du temps.
Les shells souffrent malheureusement d´un gros défaut pour l´utilisateur final, leur rigidité. Ainsi, un shell ne te dira pas que tu es en train de détruire ton système ( comme j´ai failli le faire). Aies le malheur de faire
$ cd
$ sudo chown [ton nom]
$ chmod 700 . .
et ton système sera gravement atteint ( il existe quand même des outils de réparation, pas de panique)