Le système Unix est un
système d'exploitation
multi-utilisateurs,
multi-tâches, ce qui signifie qu'il permet à un ordinateur
mono ou
multi-processeurs de faire exécuter simultanément plusieurs
programmes par un ou plusieurs utilisateurs. Il possède un ou
plusieurs interpréteurs de commandes (shell) ainsi qu'un grand
nombre de commandes et de nombreux utilitaires (assembleur,
compilateurs pour de nombreux langages, traitements de texte,
messagerie électronique, ...). De plus il possède une grande
portabilité, ce qui signifie qu'il est possible de mettre en
oeuvre un système Unix sur la quasi-totalité des plates-formes
matérielles.
De nos jours les systèmes Unix sont très
présents dans les milieux professionnels et universitaires grâce
à leur grande stabilité, leur niveau de sécurité élevé et le
respect des grands standards, notamment en matière de réseau.
Le premier système «Unix» a été mis au
point par Ken Thompson dans les laboratoires Bell AT&T à Murray
Hill dans le New Jersey aux Etats-Unis à partir de 1965. Le but
de Ken Thompson était de mettre au point un système
d'exploitation interactif simple, nommé "Multics" (Multiplexed
Information and Computing System) afin de faire tourner un
jeu qu'il avait créé (space travel, une simulation du
système solaire).
Un consortium composé du MIT (Massassuchetts
Institue of Technology), de General Electric Co. et
de Bell Lab se forma ainsi autour de Multics.
En avril 1969 les laboratoires AT&T
décidèrent d'utiliser le système GECOS (General
Electric Comprehensive Operating System ) en lieu et place
de Multics. Or Ken Thompson et Dennis Ritchie
qui rejoignirent l'équipe eûrent besoin de faire fonctionner le
jeu space travel sur une plus petite machine (un DEC
PDP-7, Programmed Data Processor possédant uniquement
4K de mémoire pour faire fonctionner les programmes des
utilisateurs), c'est la raison pour laquelle il réécrirent le
système afin de créer une version réduite de Multics
appelée UNICS (UNiplexed Information and Computing
Service), rapidement contractée en Unix.
La date du 1er janvier 1970 est
considérée comme étant la date de naissance du système Unix, ce
qui explique pourquoi toutes les horloges système des systèmes
d'exploitation Unix démarrent à partir de cette époque.
Parallèlement à ces activités, D.Ritchie
participa grandement à la définition du
langage C
(puisqu'il est considéré comme un de ses créateurs avec
B.W.Kernighan), ainsi l'ensemble du système fût entièrement
réécrit en langage C en 1973 et baptisé Unix Time-Sharing
System (TSS).
Lorsque le système passa à la version 7 en 1979, l'évolution
s'accompagna de nombreuses modifications notables telles que :
- la suppression du bridage lié à la taille des fichiers,
- une meilleure portabilité du système (fonctionnement sur
de nombreuses plates-formes matérielles),
- l'ajout de nombreux utilitaires.
Un décret datant de 1956 empêchait
l'entreprise ATT, dont dépendait Bell Labs, de
commercialiser autre chose que des équipements téléphoniques ou
télégraphiques, c'est la raison pour laquelle la décision fût
prise en 1973 de distribuer les sources d'UNIX dans les
universités à des fins éducatives.
Dès fin 1977 des chercheurs de l'Université
de Californie redéveloppèrent une version d'Unix à partir des
sources fournies par AT&T afin de faire fonctionner le système
sur leurs plates-formes VAX et la baptisèrent BSD
pour Berkeley Software Developpement.
Ainsi deux branches de développement des
sources virent le jour :
- La branche d'AT&T qui allait devenir System V
de UNIX System Labs (USL)
- BSD (Berkeley Software Developpement)
développé par l'Université de Californie
En 1977 AT&T mit les sources d'UNIX à la
disposition des autres entreprises, si bien qu'un grand nombre
d'UNIX-like furent développés :
- AIX, Unix commercial basé sur System V
développé en février 1990 par IBM
- Sun Solaris, Unix commercial basé sur System V
et BSD développé par SUN Microsystems
- HP-UX, Unix commercial basé sur BSD
développé à partir de 1986 par Hewlett Packard
- Ultrix, Unix commercial développé par DEC
- IRIX, Unix commercial développé par SGI
- Unixware, Unix commercial développé par Novell
- Unix SCO, Unix commercial basé sur System V
développé dès 1979 par Santa Cruz Operations et
Hewlett Packard
- Tru64 UNIX, Unix commercial développé par
Compaq
En 1983 AT&T eût le droit de
commercialiser son Unix, ce qui marqua l'apparition de UNIX
System V, la version commerciale de son système Unix.
En 1985 un professeur hollandais, nommé
Andrew Tannenbaum, développa un système d'exploitation
minimal, baptisé Minix, afin d'enseigner la programmation
système à ses étudiants.
En 1991 un étudiant finlandais, Linus Torvalds, décida de
concevoir, sur le modèle Minix, un système d'exploitation
capable de fonctionner sur les architectures de type 386.
Il baptisa ce système d'exploitation "Linux"
et posta le message suivant sur le groupe de discussion
comp.os.minix :
Hello everybody out there using minix -
I'm doing a (free) operating system (just a hobby,
won't be big and professional like gnu) for 386(486) AT clones.
Voici un schéma non exhaustif retraçant
globalement l'apparition des principaux systèmes de type Unix :
Etant donné le grand nombre de systèmes Unix
développés sur la base du System V de AT&T ou bien de BSD, la
question d'un standard Unix s'est posée dès 1981 sur le groupe
de discussion /etc/group afin d'assurer une portabilité
maximale entre les systèmes :
- en 1983, AT&T publie SVID (System V Interface
Definition) décrivant le System V. Cette première
définition est différente de POSIX
- en 1984 le groupe /etc/group publie POSIX,
une série de standards développés sous couvert de l'IEEE(Institute
of Electrical and Electronics Engineers). POSIX est
ainsi également connu sous le nom IEEE P1003.
- à la même époque, un consortium de constructeurs (Sun,
IBM, HP, DEC, AT&T, Unisys, ICL, ...) publie le standard
X/Open Portability Guide Issue 3 (XPG3). Ce
standard s'occupe tout particulièrement des différences
issues de la localisation géographique (date, alphabet,
...).
|
| Commande
Unix |
Description |
Options |
| ls |
liste le contenu d'un
répertoire |
| -a |
Affiche tous les
fichiers, y compris les fichiers
cachés |
| -l |
Affiche un
listing détaillé |
| -R |
Affiche les
fichiers récursivement
(c'est-à-dire dans les
sous-répertoires) |
| -d |
Affiche
uniquement les répertoires et
non leur contenu |
| -S |
Trie par taille |
| -t |
Trie par date de
dernière modification |
| -t |
Trie par version |
| -X |
Trie par ordre
alphabétique de l'extension |
| -r |
Trie en ordre
inverse |
|
| cd |
change de répertoire |
| cd |
Revient au
répertoire de l'utilisateur |
| cd - |
Revient au
répertoire précédent |
| cd .. |
Revient au
répertoire parent |
|
| mkdir |
Crée un nouveau
répertoire |
|
| rmdir |
Supprime un répertoire |
| -f |
Force la
suppression |
| -R |
Supprime
récursivement (c'est-à-dire le
répertoire et ses
sous-répertoires) |
|
| cp |
Copie de fichier |
copy, xcopy |
| mv |
déplacement de fichier |
move |
| rm |
supprime le fichier |
| -f |
Force la
suppression |
| -R |
Supprime
récursivement (c'est-à-dire le
répertoire et ses
sous-répertoires) |
|
| pwd |
"print working
directory" affiche le chemin complet
du répertoire de travail en cours |
|
| passwd |
change le mot de passe
de l'utilisateur |
|
| cat |
Concatène deux fichiers
et affiche le résultat sur la sortie
standard. |
cat |
| more |
Affiche le contenu du
fichier avec des pauses |
|
| file |
affiche le type présumé
du fichier spécifié |
|
| man
apropos |
aide sur la commande
demandée |
|
| lpr |
imprime le fichier
demandé |
|
| chmod |
change l'attribut d'un
fichier
chmod XXX
fichier
XXX=
Utilisateur|Groupe|Autres ou X
représente un entier compris entre 1 et
7
Lecture=4,
Ecriture=2, Execution=1
X=Lecture+Ecriture+Execution |
|
| chfn |
Change les informations
personnelles vues avec finger |
|
| chsh |
Change le shell :
chsh user emplacement_du_shell |
|
| clear |
Efface les lignes
affichées sur le terminal |
|
| finger, who |
liste des utilisateurs
en ligne |
|
| traceroute |
trace le chemin entre la
machine locale et la machine visée |
|
| ping |
outil de diagnostic
permettant de savoir si une machine
répond sur le réseau |
|
|
ftp
[machine] [port]
get
put
quit |
transfert de fichier
entre la machine locale et la machine
cible
récupère un fichier
envoie un fichier
quitte la session FTP |
ftp |
| telnet [machine] |
effectue un
telnet |
telnet |
| talk |
permet de parler à un
utilisateur connecté
talk user |
|
| mesg |
Autorise ou non la
commande talk
mesg n
: Empêche la réception de
messages talk
mesg y
: Permet la réception de
messages talk |
|
| exit |
Déconnexion |
|
|
Pour faire
une copie de fichiers sous UNIX
il faut utiliser la commande
cp.
Il suffit de taper:
cp fichier destination

|
|
|
|
|