"Unix et son shell"

Présentation

Unix est un système d'exploitation, c'est-à-dire que c'est lui qui gère la machine ordinateur. C'est un logiciel qui offre à l'utilisateur un mode de classement de données, qui va s'occuper du flux de celles-ci. Unix est également un système qui gère les interactions homme-machine, une sorte d'interprète, de traducteur, entre l'homme qui parle dans son langage avec son clavier et les réponses de l'ordinateur traduites par Unix sur un écran.

Le stockage et la gestion des données Unix, à l'instar de certains autres relativement répandus, se font sous forme de fichiers placés dans une arborescence de répertoires : les directories. Cet aspect lui facilite le classement des données, ainsi il est aisé de "séparer ses fichiers de maintenance tels que courrier, configuration de l'éditeur, des autres fichiers de ses différents travaux et des processeurs soutenant son travail".

Pour utiliser Unix, il existe toute une série de commandes et de logiciels, tels qu'éditeurs, environnements graphiques, compileurs...

Un exemple de commande : ls -<arg>

La commande ls permet d'afficher la liste des fichiers contenus dans le répertoire courant. Le -<arg> est appelé flag. Cela peut-être, par exemple -al, qui permet d'afficher tous les renseignements inhérents aux fichiers. Ainsi "ls -al" va afficher à l'écran tous les fichiers du répertoires courants ainsi que tous les renseignements concernants ces fichiers (taille, dernière date d'utilisation...).

Une des grandes caractéristiques de Unix est son fonctionnement sur réseau. Tous les ordinateurs de travail sont reliés à un certain nombre d'ordinateurs centraux qui gèrent les opérations effectuées par les utilisateurs. Les réseaux peuvent être locaux (Ethernet) ou mondiaux (Internet). Tous les deux sont basés sur des protocoles de transfert de données. N'oublions pas que toute information, toute donnée quelle qu'elle soit est en binaire. Il existe donc des sortes de processus, de formes de transfert qui sont chargées de faire passer ces information en binaire d'un ordinateur à un autre, par exemple le http, le ftp, le tcp.

Cela permet également à Unix de ne posséder que quelques ordinateurs puissants centraux qui gèrent les opérations d'ordinateurs 'pourris' sur lesquels les étudiants travaillent, mais ne faisons pas de politique.

Chaque user en arrivant sur une machine doit rentrer son login, c'est-à-dire s'identifier à l'aide d'un nom et d'un mot de passe pour accéder à son compte. Le compte étant le répertoire de travail où; sont situés les fichiers utilisés. Le fait que Unix soit sur réseau implique que certains des fichiers sont communs à d'autres utilisateurs, ou users. Par exemple, les logiciels de programmation sont communs à tous les users situés en dehors du compte mais sont accessibles à tous. C'est l'inverse d'ordinateurs non placés en réseau qui devraient tous recopier le même logiciel de programmation sur chaque disque dur pour que tout le monde puisse l'utiliser. Ici, il n'est placé qu'une seule fois dans le central et chacun peut l'utiliser de son poste de travail. Le compte ne contient donc que les données de base (programmes et commandes à lancer lors du login ou lors du logout, par exemple) et les fichiers ou les directories créés par l'utilisateur. Un des interêts de Unix est la liberté; totale de configuration de son propre système. C'est en effet un système d'exploitation où il est possible de le modifier lui-même pour l'adapter à ses besoins où; à son confort.
Petit exemple : si je trouve que le commande "cmp" de Unix qui permet de comparer deux fichiers, ressemble trop à la commande "cp" qui copie un fichier, libre à moi de renommer la commande "cp" en "copy". De même, si je décide qu'en tapant "l" Unix comprenne que je lui demande un "ls -al", c'est tout à fait faisable et même relativement simple. Ce sont des petits exemples, car en dehors de ces problèmes de syntaxe la configuration elle-même de son compte peut être toute autant modifiée.

Un autre intérêt de Unix est de posséder un grand nombre de langages de programmation (Lisp, C, prolog, smalltalk) avec chacun sa particularité, sa logique, sa syntaxe, son mode de fonctionnement,...Le user, dispose donc de tout un nombre de langages différents et il peut choisir celui qui lui paraît le plus adéquat pour le programme qu'il souhaite réaliser. Ceci dit, le langage informatique parfait n'existe pas. Chacun possède ses avantages, mais également ses défauts. Témoins la création continuelle de nouveaux langages alors qu'il en existe déjà plusieurs dizaines de milliers de différents.

Intéressons-nous à un des langages-clefs de Unix : le shell

Précedent : des principes.
Suite : Shell et shell.
Retour à la page principale.