Comprendre Unix et ses principes essentiels
Auteur : Rédaction Domeny.ForSale Publié le
En bref : Unix est un système d’exploitation créé aux Bell Labs, dont les concepts ont servi de base à toute une famille de systèmes et en ont influencé beaucoup d’autres. Il a été conçu pour permettre à plusieurs utilisateurs de travailler et à plusieurs tâches de s’exécuter simultanément. Linux est un système de type Unix, et non un autre nom d’Unix ; macOS repose sur des fondations Unix, et certaines de ses versions et configurations ont obtenu la certification UNIX.
Qu’est-ce qu’Unix et quelles sont ses origines ?
Un système d’exploitation est un logiciel qui gère le matériel et permet d’exécuter des programmes. Il leur alloue de la mémoire et du temps processeur, gère les fichiers et contrôle l’accès aux ressources. Unix remplit précisément cette fonction : ce n’est ni un langage de programmation ni une simple application.
Ses origines remontent à la fin des années 60 et aux travaux menés aux Bell Labs. Ken Thompson et Dennis Ritchie figurent parmi ses principaux créateurs. La réécriture d’une grande partie du système en langage C a facilité son adaptation à différents ordinateurs, sans devoir reconstruire chaque version presque entièrement pour un matériel donné.
Au fil du temps, différentes variantes d’Unix sont apparues. Aujourd’hui, le mot « Unix » peut donc désigner le système historique, une famille de systèmes ou un ensemble de principes de fonctionnement caractéristiques. Il ne faut pas y voir le nom d’un produit unique dont l’apparence et le fonctionnement seraient toujours identiques.
Comment fonctionne un système Unix ?
L’élément central du système est le noyau, qui gère le processeur, la mémoire, les périphériques et les processus. Un processus est un programme en cours d’exécution, accompagné des ressources nécessaires à son fonctionnement. Autour du noyau, on trouve les utilitaires, les services et les interfaces dont se sert l’utilisateur.
Les systèmes Unix se caractérisent notamment par :
- Le multitâche : plusieurs processus peuvent s’exécuter de manière concurrente, par exemple un serveur WWW, une base de données et un éditeur de texte.
- Le fonctionnement multiutilisateur : plusieurs utilisateurs peuvent utiliser le même système, y compris par des connexions à distance.
- Un système de fichiers hiérarchique : les répertoires forment une seule arborescence qui commence à
/, le répertoire racine. - Les permissions : l’accès aux fichiers et aux répertoires est contrôlé, notamment par les droits attribués au propriétaire, au groupe et aux autres utilisateurs.
Par exemple, sur un serveur d’entreprise, le compte d’une application peut avoir le droit d’écrire dans le répertoire contenant les documents envoyés, mais pas de modifier les fichiers système. Cette séparation limite les conséquences d’une erreur ou d’une compromission de l’application. Les permissions ne suffisent toutefois pas à garantir une sécurité complète : des mises à jour et une configuration correcte sont également nécessaires.
Unix est aussi associé au principe consistant à créer de petits outils qui accomplissent des tâches précises et peuvent fonctionner ensemble. Plutôt que d’utiliser un seul programme complexe, on peut en combiner plusieurs plus simples, en transmettant le résultat de l’un au suivant.
Unix, Linux et macOS : les principales différences
UNIX est également une marque liée à la certification délivrée par The Open Group. Cette certification atteste qu’un produit donné répond aux exigences d’une norme. Un fonctionnement similaire ou une parenté historique ne suffisent pas à faire automatiquement d’un système un UNIX certifié.
| Nom | Que désigne-t-il en pratique ? |
|---|---|
| Unix / UNIX | Le système historique et sa famille ; dans le contexte de la certification, un système répondant aux exigences de la norme correspondante. |
| Linux | Au sens strict : le noyau du système. Dans l’usage courant : un système d’exploitation utilisant ce noyau, diffusé sous forme de distribution, par exemple Debian ou Ubuntu. |
| macOS | Le système d’Apple, doté de fondations Unix et d’une interface graphique ; la certification concerne des versions et des configurations précises. |
| FreeBSD | Un système de type Unix issu de la lignée BSD, distinct de Linux. |
Linux a été créé indépendamment du noyau Unix d’origine, mais reprend son modèle de fonctionnement. De nombreuses commandes et compétences sont donc réutilisables sous Linux, macOS et d’autres systèmes de type Unix. Cela ne signifie pas qu’ils sont entièrement interchangeables : les options des outils, la gestion des services, l’installation des paquets et les applications prises en charge peuvent différer.
Si la certification est une exigence pour un achat ou un projet, il faut vérifier la version et la plateforme précises dans le registre officiel de The Open Group, plutôt que de se fier au nom général du système.
Unix implique-t-il de travailler uniquement dans un terminal ?
Non. Un système Unix peut disposer d’un environnement graphique : macOS en est un exemple courant. Le terminal est une application donnant accès à une interface textuelle, tandis que le shell, comme Bash ou Zsh, interprète les commandes saisies. Le terminal, le shell et le système d’exploitation sont des éléments distincts.
Par exemple, dans un environnement Unix classique, la commande :
ls /etc
affiche les noms des fichiers et répertoires visibles dans /etc, où se trouvent généralement les paramètres du système et des services. Cette commande ne modifie pas ces fichiers.
On peut également relier les outils par un tube, ou « pipe », représenté par le caractère | :
printf 'chat\nchien\nchat\n' | sort | uniq
La première commande produit trois lignes de texte, sort les trie, puis uniq supprime les répétitions adjacentes. Le résultat comporte deux lignes : chat et chien. C’est un exemple simple du principe Unix de coopération entre petits programmes.
Pourquoi se familiariser avec Unix ?
La connaissance du modèle Unix est utile pour l’administration de serveurs, la programmation, l’automatisation et le travail avec des services cloud. Elle est également utile au propriétaire d’un site qui utilise un hébergement reposant sur Linux : elle facilite la compréhension des chemins, des permissions et des commandes exécutées via SSH, une connexion à distance chiffrée.
Pour apprendre, vous n’avez pas besoin d’un Unix commercial. Vous pouvez utiliser le terminal de macOS, une distribution Linux dans une machine virtuelle ou un environnement Linux sous Windows via WSL. Commencez par vous déplacer dans les répertoires et créer des fichiers dans un répertoire réservé aux exercices, sans droits d’administrateur.
À lire aussi : Qu’est-ce que Linux ?
