Vous êtes sur la page 1sur 124

Concepts gnraux et commandes

Unix : tat civil


Naissance 1970 Lieu : Laboratoires Bell de AT&T Versions:
1re version commerciale: 1975 (V6 en C) Portage sur INTERDATA 8/32 et VAX 11/780 (Unix 32V) 1978: V7 (Unix produit industriel)
Unix BSD (Berkley Software Distribution) Unix recherche : Bell Labs Unix commercial : AT&T (Nom : System) Point de dpart des divergences entre BSD et System: en 1978 avec la V7.
UNIX : Concepts gnraux et commandes 2 A.ED-DBALI A.ED-

Unix : volution vers les versions commerciales


Amalgame de BSD 4.x et de System V Ry Apports BSD V7 :
gestion mmoire virtuelle, IPC plus performant (sockets en locale et rseau), support ethernet TCP/IP (ftp, telnet, commandes distantes), systme de fichiers plus performant (FFS avec quotas), spooler rparti, amlioration appels systmes, gnralisation du mail (sendmail), introduction du C-Shell, nombreux outils.

Apports System V V7 :
IPC (smaphores, mmoire partage, file dattente des messages, tubes nomms), amlioration de at (gestion des autorisations), gnralisation du cron (gestion des autorisations), termcap vers terminfo, introduction du Korn-Shell, introduction des bibliothque partages.
UNIX : Concepts gnraux et commandes 3 A.ED-DBALI A.ED-

Unix : Standardisation
Association d'utilisateurs /usr/group
Portabilit appels systmes et bibliothque C

AT&T
Document SVID (System V Interface Definition)

Association X/OPEN
Guides portabilit (XPG II : System V R2, XPG III : System V R3 et XPG IV : System V R4)

POSIX (Portable Open System Interface eXchange) membre de IEEE


Normes IEEE P1003.X devenues normes ISO 9945-X. La conformit aux normes POSIX : critre de choix d'un systme informatique.
UNIX : Concepts gnraux et commandes 4 A.ED-DBALI A.ED-

Unix : Le temps des alliances


Unix International
Consortium fond en 1988 par AT&T, Sun et Unisys But : Nouvelle version dUnix (BSD 4.3 et System V R3)

OSF (Open Software Fondation)


Unix International menace constructeurs informatique But : Alternative AT&T pour les systmes ouverts Deux projets :
Motif (interface graphique au dessus de X11) OSF/1 (SE compatible Unix). Interface utilisateur POSIX

Unix PC
SCO, BSD386, FreeBSD, Linux, SunSolaris pour PC, ... Interfaces gratuites de la FSF (Free Software Fondation)
UNIX : Concepts gnraux et commandes 5 A.ED-DBALI A.ED-

Unix : Le temps des alliances


COSE (Common Open Software Environment)
Accords de 1993 entre HP, IBM, SCO, SUN, NOVELL, DEC But : Mise en commun des technologies existantes Ralisations :
CDE (Common Desktop Environment). bibliothques graphiques (Xlib, PEXlib, XIElib) outils graphiques et multimdia (DMS, DIME) technologies objets (CORBA) services d'annuaire (CDS/NIS) administration systme et administration rseau installation des logiciels

X/OPEN (propritaire de la marque Unix) accorde le label UNIX tout SE qui passe avec succs les API de COSE
UNIX : Concepts gnraux et commandes 6 A.ED-DBALI A.ED-

Unix : Dfinition
Un systme d'exploitation multi-utilisateurs et multi-tches
Contrle le hardware Partage la mmoire entre les processus Contrle la cration et l'accs aux fichiers

Des outils
Systme de fichiers hirarchique et rparti Le Shell Manipulations trs puissantes des fichiers (find, grep, sed, awk, ) Communication entre processus (tubes) Nombreux utilitaires
UNIX : Concepts gnraux et commandes 7 A.ED-DBALI A.ED-

Le Shell
Interface entre l'utilisateur et Unix. Interprte les commandes, gnre les noms de fichiers, cre des tubes, redirige les entres/sorties, etc. Langage de programmation structur.
Quand un utilisateur se connecte au systme UNIX, un Shell est dmarr pour lui.
Le Shell excuter (sh, csh, ksh, tcsh, bash, ...) figure dans la ligne de compte (/etc/passwd).

UNIX : Concepts gnraux et commandes

A.ED-DBALI A.ED-

Ligne de compte
Structure du fichier /etc/passwd :
Nom:Mot de passe crypt:N compte:N groupe:Champ libre:Rp de login:Shell

Exemple :
adam:P$/Lmj.S'a":3004:100:Albert,Adam:/home/staff/adam:/bin/sh

UNIX : Concepts gnraux et commandes

A.ED-DBALI A.ED-

Connexion et Dconnexion
LogIn
L'accs au systme se fait par la donne : d'un nom d'utilisateur d'un mot de passe :
strictement personnel garantissant la confidentialit de vos informations empche les intrusions en votre nom S'attribuer ou changer de mot de passe l'aide de la commande : passwd (unique, au plus 8 caractres) cr par l'administrateur systme (ouverture de Compte)

Aprs le dmarrage d'une session Shell, l'invite (prompt) indique la disponibilit du Shell.

LogOut
Fin de l'utilisation du Shell : Ctrl-d ou (logout ou exit selon le Shell)
UNIX : Concepts gnraux et commandes 10 A.ED-DBALI A.ED-

Syntaxe des commandes Unix


Dpend de chaque commande L'espace est ncessaire
entre le nom de la commande et les options et/ou les arguments (s'il y en a) entre les options et les arguments entre les arguments

Excuter avec les options par dfaut :


$ nom-commande <CR>

Sinon, les formats suivants sont possible :


$ nom-commande argument(s) <CR> $ nom-commande option(s) <CR> $ nom-commande option(s) argument(s) <CR>
11 A.ED-DBALI A.ED-

UNIX : Concepts gnraux et commandes

Elments de la ligne de commande


La commande : quoi faire ?
C'est le premier mot de la ligne qui doit tre le nom (relatif ou absolu) d'un fichier excutable ou une commande interne
$ echo $ bin/macommande $ /bin/cat

Les options : comment le faire ?


Suit la commande. Prcd d'un '-' (parfois d'un '+')
$ ls -aRl $ date +%d%m%y

Les arguments : sur quoi le faire ?


Habituellement, un ou plusieurs noms de fichiers
$ cat chapitre1.tex $ cp fich1 ~adam/nouveau $ ls -l fich1 /usr/local/bin/emacs /vmunix
UNIX : Concepts gnraux et commandes 12 A.ED-DBALI A.ED-

Manuel en-ligne Unix visiter absolument


$ man commande
$ man -k mot-cl $ man N-section commande

Divis en sections :
1 : commandes utilisateur, 1M : administration (System V), 2 : appels systmes, 3 : bibliothques (C, Fortarn, Pascal, etc), 4 : fichiers spciaux et priphriques, 5 : formats de fichiers, 6 : jeux, 7 : tables, 8 : administration (BSD)

Pour en savoir plus : $ man

man

Paragraphes d'un manuel :


Name, Synopsis, Description, Example, Warnings, Files, See also, Diagnostics, Bugs

UNIX : Concepts gnraux et commandes

13

A.ED-DBALI A.ED-

Communication en Unix
Communication en-ligne
Communication immdiate avec les autres utilisateurs connects Une rponse immdiate est possible write, talk ou wall

Communication hors-ligne
Le message est permanent (sauv dans un fichier) Diffrentes possibilits lors de l'obtention du message : mail, Mail, vnews, rn, tin, readnews, fichier motd

UNIX : Concepts gnraux et commandes

14

A.ED-DBALI A.ED-

Communication en-ligne - write


Communication bi-latrale entre deux utilisateurs connects Format :
$ write utilisateur [tty]
o utilisateur est le nom de login d'un utilisateur connect. tty permet de prciser un terminal pour afficher les messages (au cas o plusieurs connexions du correspondant)

Arrt de la conversation : ^d Autorisation/interdiction de rception :


$ mesg n
UNIX : Concepts gnraux et commandes

$ mesg y
15

$ mesg
A.ED-DBALI A.ED-

Communication hors-ligne - mail


Syntaxe : $ mail correspondant(s) Exemple :

$ mail david leger@comp.inria.fr Subject : Runion David et Marc, Runion demain 18h dans mon bureau. OK ? Ci-aprs, l'ordre du jour : ~r OrdreJour OrdreJour 15/342 . Cc: adam $
Un message peut tre envoy plusieurs correspondants '.' (ou ^d) termine la saisie du message Si problme, message sauv dans le fichier dead.letter
UNIX : Concepts gnraux et commandes 16 A.ED-DBALI A.ED-

Lecture du courrier : mail


Unix vous signale l'arrive du courrier
au LogIn (You have new mail) si un nouveau message arrive quand vous excuter la commande mail au moment o le message arrive, si vous avez entr, prcdemment, la commande : $ biff y

Lecture des messages de la bote aux lettres :


$ mail

Exemple :
$ mail
Mail version SMI 4.0 Mon Feb 20 17:00:25 PDT 1995 Type ? for help. "/var/spool/mail/leger" : 2 messages 1 new "/var/spool/mail/leger" 1 durand Wed Feb 15 12:22 14/336 Projet >N 2 adam@univ-orleans.fr Fri Feb 17 10:02 50/598 Runion adam@ univ- orleans. &
UNIX : Concepts gnraux et commandes 17 A.ED-DBALI A.ED-

$ mail : Que faire


Les rponses possibles face au prompt &
<CR> ou p voir le message courant d supprime le massage courant afficher le message prcdent s sauvegarder ce message dans le fichier mbox, ou dans un autre fichier si spcifi w crire le message courant (sans l'entte) dans un fichier q quitter le programme mail. Les messages lus et non supprims sont sauvegards dans le fichier mbox x quitter le programme mail sans modifier la bote lettres h liste les en-ttes des messages ? affiche la liste des commandes mail r rpondre l'expditeur du message uniquement R rpondre au message ; tous les destinataires vont recevoir la rponse ...
UNIX : Concepts gnraux et commandes 18 A.ED-DBALI A.ED-

Communication entre Administrateur et Utilisateurs


$ wall
Utilise par l'administrateur systme pour envoyer un message tous les utilisateurs connects. Exemple : Broadcast message from root:console Vous avez 10 minutes pour quitter le systme sinon, BOOM ! $ mesg n n'a aucun effet sur wall.
UNIX : Concepts gnraux et commandes 19 A.ED-DBALI A.ED-

Les autres commandes pour communiquer


talk
Communication du mme type que write mais en mode vido et en partageant l'cran en 2 : l'une pour afficher le texte en mission et l'autre pour afficher le texte en rception.

vnews, rn, tin, readnews


Commandes pour accder aux "nouvelles". Extension de la notion de courrier. Messages rangs dans des botes lettres accessibles par tous. Bote lettres = "groupe de nouvelles" (news group). Il est possible de lire des transactions, d'en crire, de rpondre, etc.
20 A.ED-DBALI A.ED-

UNIX : Concepts gnraux et commandes

Le systme de fichiers Unix


Types de fichiers
Ordinaires (Suite d'octets : ASCII, Binaires) Rpertoires
Organisent le systme de fichiers Au la connexion, chaque utilisateur a un rpertoire par dfaut, son nom est la valeur de la variable HOME

Spciaux priphriques
Indiquent UNIX quel "driver" utiliser Donnent au driver les options utiliser Ils se trouvent dans le rpertoire /dev ou /devices

Sockets Tubes nomms (communication entre processus)


UNIX : Concepts gnraux et commandes 21 A.ED-DBALI A.ED-

Systme de fichiers - organisation


Organisation hirarchique
Arbre dont la racine est '/' (dite root) Les fichiers en sont les feuilles Chaque rpertoire (sauf root) a un pre (nom symbolique '..') Tout rpertoire a un nom symbolique '.'

UNIX : Concepts gnraux et commandes

22

A.ED-DBALI A.ED-

Systme de fichiers - exemple de hirarchie


/

bin

etc

home

usr

tmp

leger

adam

david

.profile

.profile

prod

cv

prog.c

UNIX : Concepts gnraux et commandes

23

A.ED-DBALI A.ED-

Systme de fichiers quelques rpertoires usuels


Rpertoire Contient /bin les principales commandes /etc les commandes et les fichiers pour la maintenance et l'administration du systme /lib les librairies et les programmes de certains compilateurs /tmp les fichiers temporaires. Il peut tre utilis comme rpertoire de travail (vid chaque dmarrage) /dev les fichiers spciaux de description des priphriques /usr les commandes locales, certaines librairies, les commandes utilisateurs, les fichiers mail, les jeux, etc (les rpertoires utilisateurs peuvent y tre placs) /usr/bin les commandes complmentaires /usr/ucb les commandes spcifiques BSD /usr/lib des librairies et programmes supplmentaires, les programmes de gestion des imprimantes et communication /home l'arborescence des rpertoires des utilisateurs

UNIX : Concepts gnraux et commandes

24

A.ED-DBALI A.ED-

Systme de fichiers - reprsentation interne


Fichier = Objet typ Le type dfini l'ensemble des oprations Fichier Entre dans une table d'attributs : index de nud (i-node)
Identification du propritaire et du groupe de propritaire Type et droits d'accs Taille en nombre de caractres Nombre de liens physiques = nombre total d'entres correspondant au fichier dans l'ensemble des rpertoires du mme disque logique 3 dates (lecture, modification du fichier et modification du nud) Adresse des blocs utiliss sur disque (fichiers sur disque) Identification de la ressource associe (fichiers spciaux)

UNIX : Concepts gnraux et commandes

25

A.ED-DBALI A.ED-

Systme de fichiers - montage


Plusieurs tables d'attributs des fichiers :
Une table Une arborescence (N d'index de la racine = 2) Diffrentes arborescences Une racine absolue Arborescences relies la racine absolue par le mcanisme de montage (mount) Le montage peut tre tendu d'une manire transparente des systmes distants (protocole NFS : Network File System)

UNIX : Concepts gnraux et commandes

26

A.ED-DBALI A.ED-

Systme de fichiers rseaux - NFS


machine cliente B machine serveur A

/ usr

usr local local bin lib

B# mount A:/usr/local /usr/local ralise l'opration : B$ cd /usr/local/bin fait un changement sur /usr/local/bin de A
UNIX : Concepts gnraux et commandes 27 A.ED-DBALI A.ED-

Systme de fichiers - droits d'accs aux fichiers


Un utilisateur N compte (uid) + N groupe (gid) Fichier 3 types d'utilisateurs :
Le propritaire (owner) Les membres d'un groupe (ou groupe propritaire : group) Les autres utilisateurs (others) Il existe un utilisateur privilgi disposant de tous le droits : Le super utilisateur (ou root)

Fichier
lecture criture excution
UNIX : Concepts gnraux et commandes

3 types d'oprations
r w x
28

Rpertoire
contenu ajout / suppression navigation
A.ED-DBALI A.ED-

Systme de fichiers - droits d'accs aux fichiers


Exemple :
$ ls -l d rwx r-x r-x d rwx r-x r-x - rw- r-- r-- rwx r-x r-x 2 2 1 1 adam adam adam adam staff staff staff staff 512 512 2436 7436 Feb 27 16:12 Feb 27 1991 Jun 4 1992 Jan 2 14:20 Progs Rapports chap1.tex liste

Droits pour les autres Droits pour le groupe du propritaire Droits pour le propritaire Type du fichier :

- ordinaire, d rpertoire, c ou b priphrique l lien symbolique, s socket, p tube nomm


UNIX : Concepts gnraux et commandes 29 A.ED-DBALI A.ED-

Systme de fichiers - droits d'accs aux fichiers


set-uid
's' la place de 'x' pour le propritaire (zone owner)
Le processus correspondant une excution du programme a les mmes droits que le propritaire du programme et non de l'utilisateur qui le lance

Exemple : $ ls -l /etc/passwd /bin/passwd


-r-sr-xr-x 1 root bin 24576 Jul 6 1990 /bin/passwd -rw-r--r-- 1 root sys 3321 Feb 2 09:30 /etc/passwd

Seul root peut modifier /etc/passwd. Le set-uid sur /bin/passwd permet un utilisateur de modifier /etc/passwd travers le programme /bin/passwd ( ayant "pris l'identit" de root pendant cette excution)
UNIX : Concepts gnraux et commandes 30 A.ED-DBALI A.ED-

Systme de fichiers - droits d'accs aux fichiers


set-gid
's' la place de 'x' pour le groupe propritaire (zone group)
Pour un excutable : mme rle que le set-uid mais cette fois-ci, appartenance du processus au groupe propritaire du programme Pour un rpertoire : tous les fichiers et rpertoires crs sous ce rpertoire auront automatiquement pour groupe propritaire celui du rpertoire en question mme si le crateur n'appartient pas ce groupe.

UNIX : Concepts gnraux et commandes

31

A.ED-DBALI A.ED-

Systme de fichiers - droits d'accs aux fichiers


sticky bit
't' la place de 'x' pour les autres (zone others) Dans un rpertoire autoris en modification (w activ) pour le groupe et/ou pour les autres, seul root et le propritaire d'un fichier f dans ce rpertoire peuvent dtruire f. Exemple : $ ls -ld /tmp /var/spool/mail
-rwxrwxrwt 2 root sys -rwxrwxrwt 2 root mail 512 Aug 30 08:12 /tmp 512 Sep 2 09:30 /var/spool/mail

UNIX : Concepts gnraux et commandes

32

A.ED-DBALI A.ED-

Systme de fichiers modification des droits d'accs aux fichiers


chmod mode [,mode] rfrence... Modifier les modes de rfrence comme suit :
mode est sous la forme : qui permission opration qui : combinaison des lettres : u(user), g(group), o(others) et a (all : par dfaut) permission : + (autoriser), - (interdire), = (interdire les autres) opration : r, w, x, s (set-uid ou set-gid) ou t (sticky bit) Exemples :
$ ls -l liste chap1.tex -rw-r--r-- 1 adam staff 2436 Jun 4 1992 chap1.tex -rwxr-xr-x 1 adam staff 7436 Jan 2 14:20 liste $ chmod g+w,o-r chap1.tex; chmod u+s liste $ ls -l liste chap1.tex -rw-rw---- 1 adam staff 2436 Jun 4 1992 chap1.tex -rwsr-xr-x 1 adam staff 7436 Jan 2 14:20 liste

UNIX : Concepts gnraux et commandes

33

A.ED-DBALI A.ED-

Systme de fichiers droits d'accs par dfaut


Masque sur les droits d'accs
$ umask -S u=rwx, g=rx, o=rx $ umask 022 000 010 010 : criture binaire du masque base 8 rwx rwx rwx : droits proposs rwx r-x r-x : droits retenus $ umask 027 nouveau masque : 000 010 111 droits retenus pour une cration : rwx r-x -- Dans chmod, les modes peuvent tre numriques
UNIX : Concepts gnraux et commandes 34 A.ED-DBALI A.ED-

Systme de fichiers r-attribution des fichiers


chgrp [-option] id_groupe rfrence chown [-option] id_utilisateur rfrence
Rendre le groupe/l'utilisateur dsign propritaire de rfrence option : R : changement de groupe/propritaire sur toute une arborescence h : si rfrence est un lien symbolique, limiter le changement au lien symbolique et non au fichier dsign par ce lien id_utilisateur : N ou nom de login d'un utilisateur id_groupe : N ou nom de groupe

Dans certains systmes, seul root peut les excuter (problme de quotas)
UNIX : Concepts gnraux et commandes 35 A.ED-DBALI A.ED-

Systme de fichiers - notion de lien


Lien physique
Associer diffrents noms (liens) un fichier (ordinaire ou spcial) Avantages :
une seule copie sur le disque et plusieurs faons d'y accder modifications disponibles immdiatement sur tous les fichiers lis raccourcis pour des noms de fichiers compliqus retenir une seule entre dans la table (borne) des attributs (un seul index)

Limitations
impossible de faire un lien sur un rpertoire liens ralisables uniquement dans le mme systme de fichiers

Exemples :

$ ln fich fich1; ln /usr/local/bin/gnu_awk ~/bin/awk /usr/local/bin/gnu_ ~/bin/ $ ls -li fich fich1 /usr/local/bin/gnu_awk ~/bin/awk /usr/local/bin/gnu_ ~/bin/ 845 -rw-r--r-- 2 adam staff 60 Feb 24 16:30 fich rw- --r 845 -rw-r--r-- 2 adam staff 60 Feb 24 16:30 fich1 rw- --r 126 -rwxr-xr-x 4 root bin 456789 Jan 2 16:30 /usr/local/bin/gnu_awk rwxr- xr/usr/local/bin/gnu_ 126 -rwxr-xr-x 4 root bin 456789 Jan 2 16:30 /home/staff/adam/bin/awk rwxr- xr/home/staff/adam/bin/
36 A.ED-DBALI A.ED-

UNIX : Concepts gnraux et commandes

Systme de fichiers - notion de lien


Lien symbolique
Mme notion que lien physique Lien sur les rpertoires possible Lien au del du systme de fichiers du fichier d'origine (y compris les systmes de fichiers rseau: NFS) Possibilit de crer des liens sur des fichiers non encore existants Information "lien" plus lisible au ls Cration d'un nouvel index

$ ln $ ls 3387 3380

Exemple :
-s ~durand/.profile .profile ~durand/.profile -li .profile ~durand/.profile ~durand/.profile lrwxrwxrwx 1 adam staff 9 Feb 24 17:40 .profile -> /durand/.profile /durand/.profile -rw-r--r-- 1 durand staff 896 Jun 4 16:30 /durand/.profile rw- --r /durand/.profile

UNIX : Concepts gnraux et commandes

37

A.ED-DBALI A.ED-

Quelques commandes usuelles - 1


Contenu d'un rpertoire/caractristiques d'un fichier : ls
$ ls Progs Rapports $ ls -ai 125 . 127 Progs 2098 .. 976 Rapports chap1.tex 126 chap1.tex 879 liste liste

-a donne aussi les fichiers "cachs" (commencent par '.') -i donne les numros d'index

$ ls -ai Progs 127 . 3324 calcul.c 3380 tri.ada 125 .. 4578 difference.c 675 elem.p
'.' et Progs ont mme numro d'index

$ ls -ld Progs
drwxr-xr-x 2 adam 512 Feb 27 16:12 Progs -d pour ne pas xplorer le rpertoire Progs

UNIX : Concepts gnraux et commandes

38

A.ED-DBALI A.ED-

Quelques commandes usuelles - 2


$ ls -l drwxr-xr-x 2 adam drwxr-xr-x 2 adam -rw-r--r-- 1 adam -rwxr-xr-x 1 adam Autres options : staff staff staff staff 512 512 2436 7436 Feb 27 16:12 Feb 27 1991 Jun 4 1992 Jan 2 14:20 Progs Rapports chap1.tex liste

-R : Explorer rcursivement les sous rpertoires -t : Affichage par date de dernire modification, du plus rcent au plus ancien -u : Affichage par date de dernire lecture (utilise avec -l ou -t) -r : Inverser l'ordre de tri, du + ancien au + rcent (selon le tri) ...

UNIX : Concepts gnraux et commandes

39

A.ED-DBALI A.ED-

Quelques commandes usuelles - 3


Rfrence du rpertoire de travail : pwd
$ pwd /home/staff/adam/Rapports/ventes Visualise la rfrence absolue du rpertoire de travail courant

Changement de rpertoire de travail : cd


$ cd $ cd /usr/local/lib retour au rpertoire de login $ pwd $ pwd /home/staff/adam /usr/local/lib $ cd ../../etude/dupond $ pwd /home/etude/dupond $ cd ~adam/perso ksh: /home/staff/adam/perso: permission denied

UNIX : Concepts gnraux et commandes

40

A.ED-DBALI A.ED-

Quelques commandes usuelles - 4


Copie physique d'un fichier : cp
Copie physique d'un fichier dans un autre
cration d'un nouvel index et copie effective du contenu du premier fichier

Exemple : $ ls -l
-rw-r--r-- 1 adam staff 60 Feb 24 16:30 elem.p

$ cp elem.p cpelem.p $ ls -li


676 -rw-r--r-- 1 adam staff 60 Feb 24 17:20 cpelem.p 675 -rw-r--r-- 1 adam staff 60 Feb 24 16:30 elem.p

les indexes sont diffrents, ce qui prouve que les deux fichiers ne correspondent pas au mme objet (mme s'ils ont le mme contenu) L'option -r permet une copie rcursive d'un rpertoire
UNIX : Concepts gnraux et commandes 41 A.ED-DBALI A.ED-

Quelques commandes usuelles - 5


Changement du nom d'un lien (fichier) : mv
$ ln elem.p elem1.p; mv elem.p elem2.p $ ls -li elem*
675 -rw-r--r-- 2 adam staff 60 Feb 24 16:30 elem1.p 675 -rw-r--r-- 2 adam staff 60 Feb 24 16:30 elem2.p

l'option -i permet un renommage interactif

Suppression de liens (fichiers) : rm


$ rm elem2.p $ ls -li elem*
675 -rw-r--r-- 1 adam staff 60 Feb 24 16:30 elem1.p

Pour qu'un fichier soit physiquement supprim sur le disque, il est ncessaire qu'il ne possde plus aucun lien physique (condition insuffisante) L'option -i permet une suppression interactive

UNIX : Concepts gnraux et commandes

42

A.ED-DBALI A.ED-

La gnration des noms de fichiers


Dans une ligne de commande, un certain nombre de caractres sont utiliss pour construire des noms de fichiers : Caractre Interprtation ? caractre quelconque * chane de caractres quelconque (ventuellement vide) [ dbut de dfinition d'un ensemble [! dbut de dfinition du complment d'un ensemble ] fin de dfinition d'un ensemble ou de son complment marque d'intervalle dans un ensemble Exemples : [a-z]*.c dsigne toutes les rfrences commenant par une lettre minuscule et se terminant par .c ?[A-Z0-9]? dsigne tous les fichiers de 3 caractres dont le second est soit une lettre majuscule soit un chiffre Restrictions : Le caractre . en dbut de mot ou aprs un / ou le caractre / ne sont pas couverts par ces abrviations
UNIX : Concepts gnraux et commandes 43 A.ED-DBALI A.ED-

Quelques commandes usuelles - 6


Cration d'un rpertoire : mkdir
$ mkdir Progs/nouveau; ls -ld Progs/nouveau drwxr-xr-x 2 adam 24 Feb 27 18:32 nouveau $ ls -al Progs/nouveau drwxr-xr-x 2 adam 24 Feb 27 18:32 . drwxr-xr-x 3 adam 1024 Feb 27 18:32 .. A sa cration, un rpertoire contient les deux liens . et .. (un tel rpertoire sera appel vide)

Suppression d'un rpertoire : rmdir/rm


$ rmdir Progs rmdir: Progs: Directory not empty $ rmdir Progs/nouveau l'option -r de rm permet une suppression rcursive $ rm -r Progs $ ls -l Progs Progs not found
UNIX : Concepts gnraux et commandes 44 A.ED-DBALI A.ED-

Les processus
Dfinition :
Un processus fournit, un instant donn, l'image de l'tat d'avancement de l'excution d'un programme Processus = suite d'instructions + donnes + bloc de contrle Bloc de contrle = ensemble de valeurs de registres + pile d'excution + liens avec les utilisateurs et le systme d'E/S + ... Toute activit (demandes explicites des utilisateurs ou purement systme) se traduit en terme de processus : processus dmons/processus utilisateurs ncessit d'un ordonnanceur (scheduler)
UNIX : Concepts gnraux et commandes 45 A.ED-DBALI A.ED-

Etats d'un processus - schma


1 nouveau prt 2 8 3 7 actif noyau 4 5 suspendu 7
UNIX : Concepts gnraux et commandes 46 A.ED-DBALI A.ED-

zombi 9 6

actif utilisateur

endormi

Etats d'un processus - lgende


Les conditions des transitions :
1 2 3 4 5 le processus a acquis les ressources ncessaires lu par l'ordonnanceur : changement de contexte revient d'un appel systme ou d'une interruption ralise un appel systme ou a subit une interruption en attente d'un vnement (interne : libration ressource systme ou terminaison d'un processus, externe : terminaison d'une E/S) l'vnement attendu s'est produit dlivrance d'un signal particulier (STOP) rveil par le signal CONT le processus se termine
47 A.ED-DBALI A.ED-

6 7 8 9

UNIX : Concepts gnraux et commandes

Envoi d'un signal un processus


$ kill [-id_signal] N_processus id_signal : un entier entre 1 et 28 ou un nom symbolique N_processus : entier unique donn par la commande ps $ kill -l donne la liste des noms symboliques possibles Exemple :

$ kill -9 4529 ou $ kill -KILL 4529 "Tuer" le processus numro 4529 $ kill -23 341 ou $ kill -STOP 341 ou ^z (si terminal) Suspendre le processus numro 341 ( tat Suspendu) $ kill -25 341 ou $ kill -CONT 341 ( tat Prt) Rveiller le processus numro 341 $ kill -2 542 ou $ kill -INT 542 ou ^c (si terminal) Interrompre le processus numro 542 ( tat Zambi)

UNIX : Concepts gnraux et commandes

48

A.ED-DBALI A.ED-

La commande ps
$ ps [options]
Fournit des informations sur les processus actifs du systme options : permettent de spcifier
des ensembles de processus particuliers les caractristiques visualiser pour chacun d'eux Exemples : $ ps
PID 897 332 341 TT pts1 pts1 pts1 STAT R IW IW TIME 0:00 0:02 0:01 COMMAND ps -csh emacs chap1.tex

$ ps -u adam
donne tous les processus appartenant adam
UNIX : Concepts gnraux et commandes 49 A.ED-DBALI A.ED-

La commande ps
$ ps -ef
UID root root root root root root root root root root root ftp root root root root tom adam root root PID 0 1 2 3 152 157 135 174 178 203 187 26708 237 280 282 298 26946 26995 27025 26992 PPID 0 0 0 0 1 1 1 1 1 1 1 152 1 1 1 1 26937 26993 26995 152 C 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 STIME Oct 12 Oct 12 Oct 12 Oct 12 Oct 12 Oct 12 Oct 12 Oct 12 Oct 12 Oct 12 Oct 12 14:07:27 Oct 12 Oct 12 Oct 12 Oct 12 14:16:17 14:17:39 14:18:54 14:16:26 TTY ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? pts/9 pts/9 pts/11 pts/11 pts/11 pts/11 ? TIME 0:01 0:10 0:00 22:21 0:05 0:01 0:05 1:47 0:06 0:00 0:10 0:00 0:01 0:02 0:00 0:03 0:00 0:00 0:00 0:00
50

CMD sched /etc/init /etc/ pageout fsflush /usr/sbin/inetd -s /usr/sbin/ /usr/lib/nfs/statd /usr/lib/ nfs/ /usr/lib/netsvc/yp/ypbind -broadcast /usr/lib/ netsvc/ yp/ /usr/lib/autofs/automountd /usr/lib/ autofs/ /usr/sbin/syslogd /usr/sbin/ /usr/lib/lpsched /usr/lib/ /usr/sbin/cron /usr/sbin/ in.ftpd in.ftpd /usr/lib/sendmail -bd -q15m /usr/lib/ /usr/lib/nfs/mountd /usr/lib/ nfs/ /usr/lib/nfs/nfsd -a 16 /usr/lib/ nfs/ /usr/dt/bin/dtlogin -daemon /usr/dt/ bin/ /usr/local/bin/tcsh /usr/local/bin/ -bash ps -ef rpc.rusersd rpc.
A.ED-DBALI A.ED-

UNIX : Concepts gnraux et commandes

Lancement de processus en arrire plan


Caractre &
$ cmd1 & [1] 308 (1: N local (command job), 308 : N du processus associ) $ cmd2 ... [1] + Done cmd1 &

Commandes bg et fg
$ cmd ^z $ bg (pour background, $ fg le remet en premier plan) [1] 356 cmd $ kill -9 356 (si, par exemple, l'excution de cmd s'ternise) [1] + Killed cmd

UNIX : Concepts gnraux et commandes

51

A.ED-DBALI A.ED-

Gestion des processus en arrire plan


Commande nohup
Quand on se dconnecte, le systme envoi le signal HUP aux commandes restantes en arrire plan, pour les interrompre Pour maintenir la commande mme aprs dconnexion : $ nohup commande & les sorties seront diriges dans le fichier nohup.out

Commande nice
Lance une commande avec une priorit moindre que la normale Allge donc la charge du systme Les priorits vont de -20 (priorit max) +20 (priorit min) Seul root peut lancer des commandes avec des priorits ngatives
UNIX : Concepts gnraux et commandes 52 A.ED-DBALI A.ED-

Gestion des "jobs"


Dpend du Shell utilis. N'existe pas sous Bourne-Shell jobs
$ cmd1 & [1] 657 $ cmd2 & [2] 658 $ jobs [2] + Running cmd2& [1] - Running cmd1& $ stop %+ (ou %2) (ou [2] + Stopped (signal) cmd2& $ fg %1 (ou %-) (ou cmd1 ^z [1] + Stopped cmd1& $ jobs [1] + Stopped cmd1& [2] - Stopped (signal) cmd2& $ bg [1] cmd1& $ kill %2 [2] - Terminated cmd2& $ jobs [1] + Running

cmd1&

cmd 1er Plan fg

cmd & arrire plan

fg ^z

bg stop

Stopp

UNIX : Concepts gnraux et commandes

53

A.ED-DBALI A.ED-

Entres/sorties standards
3 fichiers ouverts par le Shell:
entre standard : clavier, entre des commandes (stdin)
descripteur du fichier stdin : 0

sortie standard : cran, sortie des rsultats (stdout)


descripteur du fichier stdout : 1

sortie d'erreurs : cran, affichage des erreurs ventuelles (stderr) descripteur du fichier stderr : 2

En temps normal :
cran

clavier stdin Commande lit ses donnes dans l'entre standard (clavier) et affiche ses rsultats et ses erreurs sur l'cran
UNIX : Concepts gnraux et commandes 54

stderr Commande stdout


A.ED-DBALI A.ED-

Rediriger les entres/sorties la famille Bourne-Shells


symbole < > >> 2> 2>> << n>&m signification redirige l'entre standard redirige la sortie standard (cration) redirige la sortie standard (ajout) redirige la sortie d'erreurs (cration) redirige la sortie d'erreurs (ajout) redirige de manire spciale de l'entre standard associer le fichier de descripteur n, au fichier de descripteur m

Exemples : $ cat fich1 fich2 ... fichn > fich_res concatner les fichi dans un nouveau fichier fich_res $ mail Michel.Durand@univ-orleans.fr < lettre envoyer un courrier, Michel Durand, dont le texte est le contenu de lettre $ ls -l *.tex *cal*.c 1> ls_res 2>&1 rediriger la sorite standard et la sortie des erreurs vers ls_res
UNIX : Concepts gnraux et commandes 55 A.ED-DBALI A.ED-

Redirection des entres/sorties la famille C-Shells


symbole < > >> >& >>& << >! signification redirige la l'entre standard redirige la la sortie standard (cration) redirige la la sortie standard (ajout) redirection sortie standard et sortie d'erreurs (cration) redirection sortie standard et sortie d'erreurs (ajout) redirection spciale de l'entre standard forcer la redirection mme si la variable noclobber est positionne (idem pour >&!, >>! et >>&!)

Exemples : $ ls -l *.txt prog*.ada >>& ls_res rediriger (par ajout) la sorite standard et la sortie des erreurs vers ls_res $ (cat fich1 fich2 ... fichn > fich_res) >& fich_err concatner les fichi dans un nouveau fichier fich_res. Les erreurs ventuelles sont dans fich_err
UNIX : Concepts gnraux et commandes 56 A.ED-DBALI A.ED-

Enchanement de processus
Squences :
$ cmd1; cmd2; ...; cmdn cmdi excutes de faon indpendantes et squentielle; aucun change d'informations entre les processus. $ cmd1; cmd2; ...; cmdn > fich seule la sortie standard de cmdn est redirige

Squences groupes :
$ (cmd1; cmd2; ...; cmdn) excutes par un sous Shell (environnement inchang) $ { cmd1; cmd2; ...; cmdn; } ( espace obligatoire) excutes dans l'environnement courant $ (cmd1; cmd2; ...; cmdn) > fich la sortie standard de toutes les cmdi est redirige vers fich
UNIX : Concepts gnraux et commandes 57 A.ED-DBALI A.ED-

Enchanement de processus
Exemples :
$ pwd /home/etude/durand $ (pwd; cd ..; pwd); pwd /home/etude/durand /home/etude /home/etude/durand $ { pwd; cd ..; pwd; }; pwd /home/etude/durand /home/etude /home/etude

Faire communiquer les cmd

$ cmd1 > fich1 ; cmd2 < fich1 > fich2 ; cmd3 < fich2 > fich1 ; inconvnients : squentielle, cration inutile de fichiers, lourdeur
UNIX : Concepts gnraux et commandes 58 A.ED-DBALI A.ED-

Processus concurrents communication par tubes


$ cmd1| cmd2| ...| cmdn cmdi excutes de faon concurrente :
communication entre processus par l'intermdiaire de tubes (pipes) UNIX assure la synchronisation de l'ensemble des processus lancs Principe : Sortie standard de cmdi (1 i < n) redirige sur l'entre standard de cmdi+1 Exemple : $ who | wc -l donne le nombre de sessions ouvertes sur la machine
Sous MS-DOS, la syntaxe est ressemblante mais le mcanisme est diffrent (excution MSsquentielle avec utilisation de fichiers intermdiaires dtruits automatiquement) dtruits 1 0 1 0 2 ... 1 0 1

cmd1
2

cmd2

cmdn
2

UNIX : Concepts gnraux et commandes

59

A.ED-DBALI A.ED-

Filtres
Commandes ayant la proprit suivante :
Lecture sur leur entre standard et criture sur leur sortie standard
Quelques filtres : cat, cmp, cpio, cut, diff, fold, grep, head, more, od, pg, pr, sort, split, tail, uniq, wc et zcat Exemples de commandes non filtres : ls, who, echo ou ps

L'entre d'un filtre, qui provient d'une autre commande, peut se symboliser par le signe Exemples :
$ head -n 9 fich | tail +5 extrait de fich toutes les lignes entre la 5me et la 9me $ head -n 9 fich1 | tail +5 | diff fich2 compare fich2 avec le bout de fich1 entre la 5me et la 9me
60

UNIX : Concepts gnraux et commandes

A.ED-DBALI A.ED-

Autres filtres
dd [arguments]
Copie de fichiers aprs conversion (par dfaut, entre standard convertie sur la sortie standard). arguments est une suite d'galits dont :
if=fich : donne le fichier d'origine of=fich : donne le fichier cible ibs=n : blocs de n octets en entre (512 par dfaut) obs=n : blocs de n octets en sortie (512 par dfaut) conv=ascii: conversion de EBCDIC en ASCII conv=ebcdic: conversion de ASCII en EBCDIC en ASCII conv=lcase: conversion des majuscules en minuscules conv=ucase: conversion des minuscules en majuscules

UNIX : Concepts gnraux et commandes

61

A.ED-DBALI A.ED-

Autres filtres
tee [-i] [-a] [rf_fich ...]
Les informations lues sur l'entre standard sont crites la fois sur la sortie standard et dans les fichiers rf_fich. -a : tendre le contenu des fichiers (mode append). -i : ignorer les interruptions.

tr [-cds] [chane1 [chane2]]


Copie l'entre standard sur la sortie standard aprs avoir raliser des substitutions ou des suppressions de caractres dfinies par les arguments. Substituer le ime caractre de chane1 par le ime caractre de chane2. Options :
-d chane1 : supprimer toutes les occ de car dfinis par chane1 -c chane1 : considrer le complment de l'ens dfini par chane1 -s chane1 : supprimer les occ conscutives des car dfinis par chane1 Conventions d'criture des chanes :
\ccc caractre de code ASCII ccc [c1-c2] caractres entre c1 et c2 (ordre lexicographique) c1- c2] [[:classe:]] ensemble prdfini de caractres [[:classe:]] (classe = digit, xdigit, cntrl, alpha, alnum, print, upper ou lower) digit, xdigit, cntrl, alpha, alnum, print, lower)
UNIX : Concepts gnraux et commandes 62 A.ED-DBALI A.ED-

Commandes d'impression
lpr [-Pimp] [-#nbr_cp] [-Ttitre] [-s] [ref_fich ...]
Ajoute, dans la queue d'impression de l'imprimante imp, un "job" pour imprimer nbr_cp fois les fichiers ref_fich. -Ttitre : utilise titre pour l'entte des pages -s : ralise un lien symbolique de la queue vers le fichier imprimer (utile si ref_fich est trs gros pour la queue) Si imp n'est pas mentionn le nom de l'imprimante utilise figure dans la variable PRINTER

lpq [-Pimp] [-l] [+ [intervalle] ] [nom_util]


Affiche le contenu de la queue d'impression de imp. -l : affichage dtaill y compris la machine qui a lanc l'impression + [intervalle] : affichage priodique (tous les intervalle secondes) nom_util : si spcifi, donne les jobs appartenant nom_util

lprm [-Pimp] [-] [N_job ... ]


Retire de la queue d'impression de imp, tous mes jobs (si option donn) ou les jobs donns par les N_job
UNIX : Concepts gnraux et commandes 63 A.ED-DBALI A.ED-

Gestion des fichiers - du


du [-a] [-s] [-r] [rf ...]
Fournit l'espace allou, en blocs (1 bloc = 512 octets) ou en kilo-octets, aux diffrents fichiers. Parcours rcursif des rpertoires. Sans argument, le rpertoire courant est trait.
-a : information pour tous les fichiers lors du parcours rcursif, -r : indique les rpertoires protgs, -s : seul le total est indiqu.

UNIX : Concepts gnraux et commandes

64

A.ED-DBALI A.ED-

Gestion des fichiers - Comparaisons


cmp [options] rf_fich1 rf_fich2
Imprime, s'il y a lieu, la position du premier caractre qui diffrencie rf_fich1 de rf_fich2. -l : toutes les diffrences sont signales -s : aucune impression de diffrences n'est ralise. Seul le code de retour de la commande est souhait : 0 (fichiers identiques), 1 (fichiers diffrents) et 2 (en cas d'erreur : par exemple fichier inexistant ou illisible) Le code de retour de la dernire commande excute est stock dans la variable d'environnement nomme : ? $ cmp -s /etc/passwd /etc/hosts $ echo $? 1 les deux fichiers sont diffrents
UNIX : Concepts gnraux et commandes 65 A.ED-DBALI A.ED-

Gestion des fichiers - Comparaisons


comm [-[123]] rf_fich1 rf_fich2
Affiche sur trois colonnes le rsultat de la comparaison de deux fichiers supposs tris.
Col 1 : lignes de rf_fich1 qui ne sont pas dans rf_fich2 Col 2 : lignes de rf_fich2 qui ne sont pas dans rf_fich1 Col 3 : lignes communes rf_fich1 et rf_fich2 Occulter l'affichage sur certaines colonnes : -num_col Exemple : $ comm -12 f1 f2 affiche les lignes communes f1 et f2

UNIX : Concepts gnraux et commandes

66

A.ED-DBALI A.ED-

Gestion des fichiers - Comparaisons


diff [options] rf_fich1 rf_fich2
Compare les contenus des deux fichiers. options
-b ignore les diffrences sur les sparateurs (espace, tabulation) -e produit un texte contenant des requtes de l'diteur ed afin de recrer rf_fich2 partir de rf_fich1. Les requtes sont de la forme : n1 a n3,n4 ou n1,n2 d n3 ou n1,n2 c n3,n4

Les diffrences sont affiches comme suit :


les lignes qui proviennent de rf_fich1 sont prcdes de '<' les lignes qui proviennent de rf_fich2 sont prcdes de '>'
UNIX : Concepts gnraux et commandes 67 A.ED-DBALI A.ED-

Gestion des fichiers - file, head, tail


file [option] rf ...
Essaie de classifier le fichier (ASCII, binaire, rpertoire, programme C, ...). L'option -f indique que le 1er argument contient la liste des fichiers dont on veut dterminer le type.

head [-c nbr_c] [-n nbr_l] [rf_fich ...]


Affiche les nbr_lignes premires lignes (par dfaut 10) ou les nbr_c caractres lus dans chacun des fichiers rf_fich.

tail [-f] [+nombre |-nombre][unit] [rf_fich]


Affiche la fin d'un fichier.
nombre (par dfaut 10) spcifie la distance avant la fin du fichier ('+' : compter du dbut, '-' compter partir de la fin) unit = l (lignes), b (blocs), c (caractres) -f : afficher en continue toutes les secondes (permet d'afficher la fin d'un fichier volutif). Arrt avec ^c
UNIX : Concepts gnraux et commandes 68 A.ED-DBALI A.ED-

Gestion des fichiers - sort


sort [options] [rf_fich ...] [-o rf_fich_sortie]
Trie puis affiche les lignes du (ou des) fichier(s) rf_fich. rf_fich_sortie est le fichier destination. Options :
-b : ne pas tenir compte des sparateurs (espace, tabulation) dans les comparaisons -d : ordre lexicographique (seuls chiffres, lettres, espaces sont significatifs dans les comparaisons) -f : pas de diffrence entre minuscule et majuscules -i : ignorer caractres non imprimables (codes hors [32,126]) -k cl_tri : comparaisons selon cl_tri qui dfinit un champ ainsi que ses ventuelles options de tri prendre en compte dessus -m : fusionner uniquement (fichiers supposs tris) -n : comparaisons numriques -r : ordre inverse -ts : dfinir s comme sparateur de champs -u : un seul exemplaire des lignes identiques est conserv (identique la commande uniq)
UNIX : Concepts gnraux et commandes 69 A.ED-DBALI A.ED-

Gestion des fichiers - sort


Exemples :
$ sort -d -f -u fich -o fich Remplace fich par le rsultat du tri de fich. Les redondances sont supprimes. A cause du -f : ARBRE et arbre sont identiques -d : %fleure% et fleure sont identiques $ sort -t : -k 3n /etc/passwd Trie le fichier /etc/passwd par ordre croissant des numros d'utilisateurs $ sort -t : -k 4n -k 3nr /etc/passwd Trie le fichier /etc/passwd par ordre croissant des numros de groupes puis par ordre dcroissant par numros d'utilisateurs
UNIX : Concepts gnraux et commandes 70 A.ED-DBALI A.ED-

Gestion des fichiers - join


join [-a f] [-e chane] [-o f.c,...] [-t s] [-1 c] [-2 c] fich1 fich2
Fabrique une ligne par lignes de fich1 et fich2 possdant le mme champ.
Si fich1 est -, l'entre standard est utilise. fich1 et fich2 supposs tris par ordre lexicographique du champ objet de la juxtaposition (le premier en principe). -a f : fabrique une ligne non traite du fichier N f (f=1 ou 2) -e chane : remplacer, en sortie, les champs vide par chane -o f.c,... : juxtaposer par rapport la liste f.c (c: champ, f: N fichier) -t s : utiliser s comme sparateur de champs

UNIX : Concepts gnraux et commandes

71

A.ED-DBALI A.ED-

Gestion des fichiers - fold, fmt, wc


fold [-w taille | -taille] [rf_fich ] Casse les lignes de rf_fich la colonne taille (80 par dfaut) fmt [-taille] [rf_fich ] Casse ou reforme les lignes de rf_fich la colonne taille (72 par dfaut)
Ne coupe pas les mots

wc [-lwc] [rf_fich ...]


Compte, pour chaque fichier rf_fich, le nombre de lignes (l), de mots (-w) ou de caractres (-c) qu'il contient. Par dfaut les 3 valeurs sont fournies.

UNIX : Concepts gnraux et commandes

72

A.ED-DBALI A.ED-

Gestion des fichiers - cut, paste


cut -c liste [rf_fich ] ou cut -f liste [-d s] [rf_fich ]
Slection de champs ou de colonnes dans rf_fich options :
-c liste : slectionne les numros de colonnes dcrites dans liste -f liste : slectionne les numros de champs dcrite dans liste liste pour forme : x1,,xn (xi = n ou n-m ou -n ou n-) -d s : dfinir s comme sparateur de champs (tabulation par dfaut)

paste [-d chane] [-s] rf_fich


Rassembler les lignes des rf_fich options :
-d chane : sparer la ime ligne de la i+1me par le ime caractre de chane (rassemblement parallle des lignes) -s : rassembler les lignes de faon squentielle
UNIX : Concepts gnraux et commandes 73 A.ED-DBALI A.ED-

Gestion des fichiers - more


more [+nombre] [rf_fich ...]
Affiche page par page ( partir de la ligne nombre) le contenu de rf_fich. Commandes locales spcifiques : h : aide q ou Q : fin de l'affichage = : affiche le numro de la ligne courante [N]<space> : affichage de N lignes (par dfaut 1 page) supplmentaires [N]f : saut de N page(s) [N]/chane : recherche, partir de la position courante, de la Nme occurrence de chane. !cmde : excution de la commande cmde f : affichage du nom du fichier en cours d'examen

Existe aussi pg et pr
UNIX : Concepts gnraux et commandes 74 A.ED-DBALI A.ED-

Gestion des fichiers - find


find rf_rp ... argument ...
Rechercher rcursivement dans les rf_rp les fichiers qui satisfont l'expression boolenne dcrite par les arguments.
Quelques arguments : -name rf : vrai si le fichier a pour nom rf -perm nbr_octal : vrai si droits d'accs au fichier correspondent au nbr_octal nbr_octal nbr_octal -type type : vrai si le type du fichier est type. Si type est : f : fichier ordinaire, d : type type. rpertoire, l : lien symbolique, ... -user id_util : vrai si le propritaire du fichier est id_util id_util id_util -group id_gr : vrai si le groupe propritaire du fichier est id_gr -size N : vrai si la taille du fichier satisfait la condition N (+n : >n, -n : <n, n : =n) (+ -atime N : vrai si la date (en jours) de dernire consultation satisfait la condition N -mtime N : vrai si la date (en jours) de dernire modification satisfait la condition N -newer rf : vrai si le fichier a t modifi plus rcemment que le fichier rf. fichier rf. -print : cond tjrs vraie. affiche le nom absolu du fichier trouv -exec cmd : vrai si l'excution de cmd renvoie 0. cmd suivie du nom du fichier trouv reprsent par {} et de \;
75 A.ED-DBALI A.ED-

UNIX : Concepts gnraux et commandes

Gestion des fichiers - find


Oprateurs sur ces conditions : ngation : ! conjonction : -a ou simple concatnation des conditions disjonction : -o parenthses : \( et \) Exemples : $ find / -name mail -print
/usr/bin/mail /usr/ucb/mail

$ find
<rm <rm <rm

. \( -name core -o -name \*~ -o -size 0 \) -exec rm -i {} \;

... ... ...

./Progs/core> ? y ./Etude/fich_vide> ? y ./td1.tex~> ? y


76 A.ED-DBALI A.ED-

UNIX : Concepts gnraux et commandes

Gestion des fichiers - Compressions


compress [options] [rf_fich ]
Compresser rf_fich. Permet de gagner en place. Le fichier source est cras (si absence de -c) Options :
-c : le rsultat de la compression est crit sur la sortie standard ( zcat) -v : affiche le taux de compression obtenu -d : dcompression de rf_fich ( uncompress)

Autre commandes :
pack, unpack, pcat, gzip, gunzip

UNIX : Concepts gnraux et commandes

77

A.ED-DBALI A.ED-

Gestion des fichiers - Archivage


tar fonc[options] rf_fich ...
Archiver plusieurs fichiers dans un seul Fonctionnalits fonc (non prcdes par -) :
c : cre une nouvelle archive x : extraire des fichiers d'une archive t : lister le contenu d'une archive

Options (nom prcdes par -) :


f : indique explicitement le fichier archive (- sortie standard) m : avec x, extraire en mettant jour la date de modification p : avec x, extraire avec les permissions d'origine v : afficher les fichiers copis ou extraits (mode verbose) h : suivre les liens symboliques

UNIX : Concepts gnraux et commandes

78

A.ED-DBALI A.ED-

Gestion des fichiers - Archivage


Exemples :
$ tar cvf /dev/rmt8 projet1 projet2
archiver projet1 et projet2 dans une bande

$ tar tvf /dev/rmt8

$ tar xvf /dev/rmt8 projet1/prog.c

visualiser l'archive de la bande puis extraire le fichier prog.c du rpertoire projet1 de l'archive

$ tar cf archive.tar proj1 proj2; compress archive


archiver proj1 et proj2 dans le fichier archive.tar puis compresser le

$ uncompress -c archive.tar.Z | tar xvf extraire toute l'archive depuis le fichier compress sans crer l'archive nom compresse (la dcompression est faite sur la sortie standard)

$ cd rep_source; tar cf - . | (cd rep_dest; tar xpf -)


ralise tout simplement la copie du contenu de l'arborescence rep_source dans rep_dest

UNIX : Concepts gnraux et commandes

79

A.ED-DBALI A.ED-

Gestion des fichiers - Archivage


cpio -o[options] cpio -i[options] [motif_fich ...]
Manipule des archives de fichiers
-o : lit sur l'entre standard des rf de fichiers et construit un fichier d'archive (sur la sortie standard) quelques options : -L : suivre liens symboliques -O fich : rcuprer l'archive dans fich -i : extrait des fichiers dont la rf obit motif_fich (* par dfaut) quelques options : -I fich : prendre l'archive de fich -d : crer rpertoires inexistants -t : lister le contenu -r : renommage interactif des fichiers
UNIX : Concepts gnraux et commandes 80 A.ED-DBALI A.ED-

Gestion des fichiers - Archivage


Exemples :
$ cpio -ov < liste_fich -O/dev/rmt8 $ ls *.c | cpio -ov -O/dev/rmt8 $ find . -print | cpio -ov -O/dev/rmt8 $ find . -cpio /dev/rmt8 -print
cpio est intgre dans les commandes de find ( la commande prcdente)

$ cpio -itv -I/dev/rmt8 $ cpio -i -I/dev/rmt8 "*.c" "*.o" $ find . -print | cpio -pdl /home/durand/rep
cpio -p : ralise la copie de dans un rpertoire cible

UNIX : Concepts gnraux et commandes

81

A.ED-DBALI A.ED-

Informations gnrales sur le systme - df


df
Visualiser l'tat des disques logiques monts. Les informations donnes sont :
(1) nom du fichier spcial de montage, (2) taille totale, en kilooctets, du rpertoire, (3) espace utilis, (4) espace restant, (5) % utilis, (6) rpertoire de montage
used 4313 230653 70858 4321 avail capacity 9626 31% 50010 82% 206741 26% 9618 31%

$ df
Filesystem kbytes /dev/sd1a 15487 dev/sd1a /dev/sd1g 311847 dev/sd1g venus:/home 308443 soleil:/var/spool/mail 15487 Mounted on / /usr /usr /home/venus /home/venus /var/spool/mail /var/spool/mail

UNIX : Concepts gnraux et commandes

82

A.ED-DBALI A.ED-

Informations gnrales sur le systme - w


w [-l|-s] [-u] [user]
Donne un rsum sur l'activit du systme
Premire ligne : l'heure, depuis quand le systme a dmarr, le nombre d'utilisateurs, la charge moyenne (nombre de processus dans la file d'attente Prt) en trois intervalles de temps. En suite : informations sur les utilisateurs connects et ce qu'il font. Options :
-s : peu d'information sur les utilisateurs (dfaut -l: dtail) -u : n'afficher que la premire ligne (w -u uptime)

Si user est donn, limiter les infos cet utilisateur

who donne des informations de mme type


UNIX : Concepts gnraux et commandes 83 A.ED-DBALI A.ED-

Informations gnrales sur le systme statistiques d'utilisation des ressources iostat [disque ...] [sec [nbr]]
Donne nbr fois tous les sec secondes des informations relatives aux E/S sur disque et l'utilisation de la cpu. Exemple :
# iostat 5 tty ds1 ds2 ds3 ds4 cpu tin tout kps tps kps tps kps tps kps tps us ni sy id 1 52 2 0 1 0 13 1 4 1 8 0 9 83 1 16 7 1 2 0 5 2 2 0 3 0 10 87 0 0 0 0 0 0 0 0 0 0 0 0 1 98 2 2 2 1 0 0 50 6 0 0 9 0 9 82 1 191 2 1 0 0 47 6 0 0 8 0 9 83 tin et tout resp. nombre de caractres lus et crits sur les terminaux par seconde kps et tps (pour les disques) resp. le nombre de Ko transfrs par seconde et le nombre de transferts par seconde us et ni pourcentage d'utilisation cpu par l'utilisateur (ni si chagement de priorit (ni par nice) nice) sy et id pourcentage en mode systme (sy) et inactivit (id) (sy) (id)
UNIX : Concepts gnraux et commandes 84 A.ED-DBALI A.ED-

Informations gnrales sur le systme statistiques d'utilisation des ressources vmstat [options] [sec [nbr]]
Donne nbr fois tous les sec secondes des informations sur l'utilisation de la mmoire virtuelle (mais aussi: processus, pagination, E/S disques, interruptions et cpu) -s affiche plus d'information sur la mmoire
$ vmstat 5 procs memory page disk faults cpu r b w swap free re mf pi po fr de sr s0 s1 s2 s3 in sy cs us sy id 0 0 0 11456 4120 1 41 19 1 3 0 2 0 4 0 0 48 112 130 4 14 82 0 0 1 10132 4280 0 4 44 0 0 0 0 0 23 0 0 211 230 144 3 35 62 0 0 1 10132 4616 0 0 20 0 0 0 0 0 19 0 0 150 172 146 3 33 64 0 0 1 10132 5292 0 0 9 0 0 0 0 0 21 0 0 165 105 130 1 21 78 1 1 1 10132 5496 0 0 5 0 0 0 0 0 23 0 0 183 92 134 1 20 79 1 0 1 10132 5564 0 0 25 0 0 0 0 0 18 0 0 131 231 116 4 34 62 1 0 1 10124 5412 0 0 37 0 0 0 0 0 22 0 0 166 179 118 1 33 67 1 0 1 10124 5236 0 0 24 0 0 0 0 0 14 0 0 109 243 113 4 56 39
^C
UNIX : Concepts gnraux et commandes 85 A.ED-DBALI A.ED-

L'diteur vi
$ vi fichier
insertion : i niveau curseur, a aprs, I dbut ligne, A fin ligne, o ligne aprs, O ligne avant Effacement : x : caractre dw : fin mot dd : ligne d0 : dbut ligne d$ : fin ligne p : rtablir aprs
curseur

Commandes : :f : infos sur fichier en cours ^g : idem :w fich : sauvegarde dans


fich :q : quitter :wq : sauver et quitter ZZ : idem :q! : quitter mme non sauv :e fich : charger fich :r fich : inclure fich aprs ligne courante :! cmd_shell : excuter cmd_shell :r! cmd_shell : excuter et insrer rsultat de cmd_shell /motif : recherche de motif ^l : rafrachit l'cran

ESC : revenir en mode commande

Dplacement : caractres : h (gauche), l (droite), j (bas), k (haut) mots : b (gauche), w (droite) lignes : 0 (dbut), $ (fin) pages : ^d (bas), ^u (haut)

Exemple : $ vi -c ":r fich2" fich1 ( charge le fichier fich1 en incluant sa fin le contenu de fich2 )
UNIX : Concepts gnraux et commandes 86 A.ED-DBALI A.ED-

Procdures SHELL - Bourne Shell


Dfinition : suite de commandes UNIX
Exemple: procdure qui-est-la :
echo Liste des connections par ordre alphabtique who | sort

$ qui-est-la
Liste des connections par ordre alphabtique dupont /dev/ttyp1 09:01 durand /dev/ttyco 15:32 leger /dev/ttya 10:14

UNIX : Concepts gnraux et commandes

87

A.ED-DBALI A.ED-

Variables
Variables d'environnement
Quelques variables prdfinies : HOME, PATH, SHELL, TERM, PRINTER, ... Autres variables : tout identificateur Accs la valeur : $Nom_variable : $PATH, $SHELL, ... Affectation : Nom_variable = Valeur
Ex : TERM=dtterm PATH=$PATH:/usr/local/bin:$HOME/exec:.

Printenv [nom]
Affiche la valeur de la variable nom ou, si pas d'arg, toutes les variables de l'environnement
UNIX : Concepts gnraux et commandes 88 A.ED-DBALI A.ED-

Variables de position
Dfinitions
$i : valeur du ime paramtre de la procdure Shell (i1) $0 : nom de la procdure $# : nombre de paramtres $* : liste de tous les paramtres

Exemples
Ex : $ cmd a 1 fich -2 t3 (cmd une procdure Shell qlq.) $# = 5 $0 = cmd $1 = a, $2 = 1, $3 = fich, $4 = -2, $5 = t3 $* = a 1 fich -2 t3 Ex : procdure Shell : bout head -$3 $1 | tail +$2 $ bout fich 5 9 extrait de fich toutes les lignes entre la 5me et la 9me
UNIX : Concepts gnraux et commandes 89 A.ED-DBALI A.ED-

Structures de contrle - conditionnelle


Conditionnelle classique
if liste_commandes; then liste_commandes; else liste_commandes; fi code retour cmd = 0 cmd vraie. code retour cmd 0 cmd fausse Exemple : Procdure copy1 : copier le 1er paramtre dans le deuxime if then else test -f $2 echo fichier $2 existant 1>&2 if test -f $1 then cp $1 $2 else echo fichier $1 inexistant 1>&2 fi

fi

Expressions conditionnelles
Expression de conjonction : cmd1 && cmd2 quivalent : if cmd1 then; cmd2; fi Expression de disjonction : cmd1 || cmd2 cmd2 excute uniquement si cmd1 fausse
UNIX : Concepts gnraux et commandes 90 A.ED-DBALI A.ED-

Structures de contrle - aiguillage


case ... in ... esac
case valeur in val1) liste_commandes1;; val2) liste_commandes2;; ... valn) liste_commandesn;; esac Exemple : Procdure copy2 : si aucun paramtre si 1 paramtre fichier si 1 paramtre rpertoire si 2 paramtres
case 0) 1)

donner le rpertoire courant afficher son contenu lister son contenu copy1

$# in pwd;; pwd;; if test -f $1; then cat $1; elif test -d $1; then ls -l $1 else echo erreur 1>&2; fi;; 2) copy1 $1 $2;; *) echo trop de paramtres 1>&2;; esac
91 A.ED-DBALI A.ED-

UNIX : Concepts gnraux et commandes

Structures de contrle - itrations


for variable in liste_valeurs; do liste_commandes; done
Exemple : Procdure creer_rep : for Rep in $* do if test -d $Rep then echo "Dtruire $Rep (O/N) : \c"; read D if [ $D = o ] then rm -r $Rep; mkdir $Rep fi else mkdir $Rep fi done

while liste_commandes; do liste_commandes; done until liste_commandes; do liste_commandes; done


UNIX : Concepts gnraux et commandes 92 A.ED-DBALI A.ED-

Gestion des dpendances : make


projet = plusieurs modules maintenance des excutables : modification sur quelques modules graphe de dpendances entre modules : makefile make [ -f fichier_make ] [ options ] [ fich ... ]
fichier_make fichier graphe des dpendances. Par dfaut : makefile ou Makefile (dans cet ordre) Les fich sont les fichiers reconstruire ou les tiquettes traiter. Par dfaut : le premier nom de la premire rgle de dpendance de fichier_make. Reconstruction suivant les dates de dernire modification des fichiers impliqus dans les dpendances.
UNIX : Concepts gnraux et commandes 93 A.ED-DBALI A.ED-

Gestion des dpendances - makefile


Structure d'un makefile
M : M1 M2 ... Mn Un fichier (ou une tiquette) M dpend de n fichiers (ou tiquettes) M1, ..., Mn M : M1 M2 ... Mn <TAB>cmd Si existe i tel que date_modif(Mi) plus rcente que date_modif(M) alors excuter cmd macro = suite de mots Dfinition d'une macro (ou variable). La valeur de macro est $(macro)

Dpendances et rgles implicites


make -p : donne (en particulier) la liste des dpendances implicites make -r : ne pas tenir compte des dpendances implicites Exemple : en C un fichier .o dpend du fichier .c de mme prfixe et est obtenu par excution de la commande cc -c applique sur le fichier .c .SUFFIXES : .exe .h .ada dans un makefile indique qu'un fichier .exe dpend du .h correspondant qui dpend lui-mme du .ada

UNIX : Concepts gnraux et commandes

94

A.ED-DBALI A.ED-

Graphe de dpendances - exemple


Program

makefile
Program : m1 m2 construire Program m1 : m3 m6 m7 construire m1 m3 : m4 m5 m6 construire m3 m7 : m6 construire m7 m2 : m8 m9 m10 construire m2 m9 : m12 construire m9 m10 : m11 m12 construire m10

m1

m2

m3

m7 m 8

m9

m10

m4

m6

m11

m12

m5

UNIX : Concepts gnraux et commandes

95

A.ED-DBALI A.ED-

Gestion des dpendances - un exemple en C


1 2 3 4 5 6 7 8 9 obj = m1.o m2.o m3.o application : $(obj) cc -o application $(obj) m1.o : m1.c prog1.h prog2.h cc -c m1.c m2.o : m2.c cc -c m2.c m3.o : m3.c prog1.h prog2.h prog3.h cc -c m3.c

makefile

1 - macro dfinition de obj 2 - application dpend des fichiers m1.o, m2.o et m3.o si l'un des mi.o est plus rcent que application alors la commande cc -o application m1.o m2.o m3.o est excute. ...

UNIX : Concepts gnraux et commandes

96

A.ED-DBALI A.ED-

Gestion de versions : SCCS


Dfinition (Source Code Control System)
Gestion de versions de programmes sources ou de documents Permet :
d'enregistrer un fichier de retrouver une version particulire de crer une nouvelle version de donner pour chaque version :
qui l'a cre, quand, pourquoi

Principe
Mmoriser
Ensemble de diffrences
passer de la version 0 une version particulire (n.m) (mcanisme diff UNIX)

Informations gnrales pour une version donne fichier delta : somme de ces informations

UNIX : Concepts gnraux et commandes

97

A.ED-DBALI A.ED-

Gestion de versions cration de la version initiale


admin -ifich s.fich
Dcider de grer les versions ultrieures de fich par SCCS Cration d'un nouveau fichier delta s.fich Cration de la premire version 1.1 Exemple : $ admin -itexte s.texte No id keywords (cm7) $ ls -l *texte -rw-r--r-- 1 adam staff 60 Dec 10 9:12 texte -r--r--r-- 1 adam staff 180 Dec 10 11:40 s.texte Remarques :
No id keywords (cm7) : On n'a pas utiliser de mots-cls $ help cm7 affiche le dtail du message en paramtre s.texte fichier ascii interdit la modification : seul SCCS doit le manipuler $ rm texte reconstitution du fichier doit se faire par SCCS
UNIX : Concepts gnraux et commandes 98 A.ED-DBALI A.ED-

Gestion de versions : get


get s.fich
extraire du fichier delta la dernire version de fich fich est gnr non modifiable

get -e s.fich
idem. Permet d'diter fich (fich modifiable) Cration de p.fich contient le nom de l'utilisateur actuel (fichier verrou : viter un conflit ventuel)

get -rn
fournit l'exemplaire de niveau le plus lev de la version n

get -rn.m
fournit la version de numro spcifi

get -e -rn ...


Changement de numro de version : n devient la 1re composante du numro de la nouvelle version (n.1)
UNIX : Concepts gnraux et commandes 99 A.ED-DBALI A.ED-

Gestion de versions - historique


prs s.fich
s.fich D 2.1 95/11/03 12:15:34 adam ... COMMENTS: version envoye D 1.2 95/11/10 09:10:29 adam ... COMMENTS: premire modification D 1.1 95/10/01 10:01:30 adam ... COMMENTS: date and time created 95/10/01 10:01:30 by adam
UNIX : Concepts gnraux et commandes 100 A.ED-DBALI A.ED-

valuation des performances


prof [ -tc ] [ -m fich_statistiques ] [ fich_exc ]
Affiche des statistiques sur l'excution de fich_exc fonction par fonction t : par pourcentage dcroissant de temps total (time) c : par nombre d'appels dcroissant (calls) fich_statistiques : le fichier des statistiques exploiter (fourni l'issue de l'excution de fich_exc : mon.out par dfaut)
"mon" de monitoring en C, compiler avec -p pour gnrer l'excution le fichier mon.out

Exemple : $ prof prog %Time Seconds Cumsecs #Calls 99.9 6.73 6.73 1 0.1 0.01 6.74 1275 0.0 0.00 6.74 1225 0.0 0.00 6.74 1
UNIX : Concepts gnraux et commandes 101

msec/call 6730. 0.008 0.000 0.

Name fonction1 fonction2 fonction3 main


A.ED-DBALI A.ED-

Excution diffre ou priodique


daemon cron
Processus horloge (clock daemon) Gre l'excution de requtes lances l'aide des commandes :
at : Excution un moment donn batch : Excution selon charge crontab : Excution priodique

UNIX : Concepts gnraux et commandes

102

A.ED-DBALI A.ED-

Excution diffre : at
at [-m] temps [date] [+incrment] [fich]
Excute la procdure Shell fich au moment donn par temps et la date donne par date, ventuellement avec un dcalage dans le temps donn par incrment (nombre suivi par une unit) -m : un courrier (mail) est adress l'utilisateur la fin de l'excution diffre Formats :
temps : h, hh, hhmm, h:m, h:mm, hh:m, hh:mm ou : now, noon, midnight unit de l'incrment : minutes, hours, days, weeks, months

Exemples : $ at now + 5 minutes paye o paye est un programme qlq ou une procdure Shell $ at 16:45 lpr fichier; mail adam < message (puis ^d) o message est un fichier qui contient un message destination de l'utilisateur adam
UNIX : Concepts gnraux et commandes 103 A.ED-DBALI A.ED-

Excution diffre : at
at -l [N job]
La liste des commandes enregistres est affiche Exemple : $ at -l 714328506.a Fri Dec 1 14:31:00 1995 714328507.a Mon Dec 4 18:20:00 1995

at -r N job ...
Annuler les demandes enregistres donnes par leurs N job Exemple : $ at -r 714328507.a $ at -l 714328506.a Fri Dec 1 14:31:00 1995

UNIX : Concepts gnraux et commandes

104

A.ED-DBALI A.ED-

Excution diffre - batch


batch [-m] [fich]
Excuter en diffr les commandes de la procdure Shell fich. L'heure de l'excution sera fixe par le systme en fonction de la charge. -m : comme pour la commande at Le processus est stock sur une file d'attente diffrente des tches lances par at (queue : b) batch at now

UNIX : Concepts gnraux et commandes

105

A.ED-DBALI A.ED-

Excution diffre - les droits


at.allow
fichier /var/spool/cron/at.allow contient les noms des utilisateurs autoriss excuter at et batch. Si at.allow n'existe pas at.deny

at.deny
fichier /var/spool/cron/at.deny contient les noms des utilisateurs interdits excuter at et batch. Si at.deny vide tout le monde est autoris. Si at.allow et at.deny inexistants -> seul root est autoris

qui dcide ?
root un seul utilisateur par ligne dans at.allow et at.deny

UNIX : Concepts gnraux et commandes

106

A.ED-DBALI A.ED-

Excution priodique - crontab


crontab [ fich ]
copier fich (fichiers des jobs priodiques) dans /var/spool/cron/crontabs sous le nom de l'utilisateur /var/spool/cron/crontabs rpertoire des fichiers de travaux priodiques (un fichier par utilisateur autoris)

crontab -e
diter (pour modification) le fichier des jobs.

crontab -l
Lister (sur l'cran) le contenu du fichier des jobs.

crontab -r
Retirer (du rpertoire des travaux priodiques) le fichier des jobs.

cron.allow et cron.deny
Fichiers d'autorisation et d'interdiction du service cron.

UNIX : Concepts gnraux et commandes

107

A.ED-DBALI A.ED-

Excution priodique fichier des jobs priodiques


Structure des lignes
minutes heures jour_du_mois mois jour_de_semaine commande
minutes : 0 59 ; heures : 0 23 ; jour_du_mois : 1 31 ; mois : 1 12 ; jour_de_semaine : 0 6 (0 = dimanche) ; commande : commande excuter au moment voulu

Exemple
Soit le fichier des jobs suivant : 0 0 1 3 5 cmd1 30 0 15 2 1 cmd2 Excuter cmd1 minuit (0 0) tous les vendredis (5) et tous les premiers (1) du mois de mars (3) Excuter cmd2 minuit trente (30 0) tous les lundis (1) et tous les quinze (15) du mois de fvrier (2)
UNIX : Concepts gnraux et commandes 108 A.ED-DBALI A.ED-

Excution priodique fichier des jobs priodiques


Groupement de critres
Les champs dfinissant le temps peuvent tre :
une liste de valeurs spares par des virgules (n1, n2, ...) un intervalle de valeurs (n1-n2) une toile (* = toutes les valeurs sont possibles)

Exemple 0 0 * * * find /home -name core -exec rm -f {} \; 30 0 * * 1-5 tar cvf /dev/rst0 /home 0 1 * * 0,6 tar cvf /dev/rst0 / 1 : dtruire tous les jours minuit les fichiers core sous l'arborescence /home ; 2 : faire une sauvegarde du rpertoire /home tous les jours de la semaine de travail (lundi-vendredi) et ce minuit trente ; 3 : faire une sauvegarde de tout le disque les 2 jours du week-end 1h du matin.
UNIX : Concepts gnraux et commandes 109 A.ED-DBALI A.ED-

Communication entre systmes

T T

T T Grosse unit pilotant un nombre important de terminaux Rseau de stations permanent (ETHERNET) cbles, fibres optiques, ondes temporaire (MoDem)

UNIX : Concepts gnraux et commandes

110

A.ED-DBALI A.ED-

Communication entre systmes


Transfert d'information
Messagerie lectronique ou dialogue en temps rel Transfert de fichiers

Partage des ressources


Partage transparent :
Connexion explicite un systme distant (remote login) Excution d'une commande sur une machine distante (remote shell)

Partage transparent :
Utilisation d'un fichier distant comme en local (NFS : Network File System) Propagation d'une impression vers un systme distant Partage transparent des units de calcul (migration dans le temps d'un processeur l'autre, partage de mmoires)
UNIX : Concepts gnraux et commandes 111 A.ED-DBALI A.ED-

Les protocoles - OSI / InterNet


couche application couche prsentation couche session couche transport couche rseau sous-couche liaison sous-couche MAC couche physique Modle ISO
UNIX : Concepts gnraux et commandes 112

FTP, TFTP, TELNET, SMTP, RLOGIN, RSH, RCP, NFS XDR RPC TCP - UDP IP ETHERNET (local) Rseaux publics (interconnexion) Monde UNIX / InterNet
A.ED-DBALI A.ED-

Les rseaux physiques


ETHERNET
Support : bus de communication rception et mission tout instant (gestion de collisions) Vitesse : 10-100 et + Mbits/s Adressage physique : 48 bits (carte Ethernet adresse unique) Trame Ethernet : vhicule l'adresse de l'metteur et celle du destinataire. Possibilit de diffusion gnrale (broadcast).

Interconnexion de rseaux locaux


En gnral, rseaux tlphonique publics
norme X25 TRANSPAC
UNIX : Concepts gnraux et commandes 113 A.ED-DBALI A.ED-

Protocole IP
IP (Internet Protocol)
Mcanisme de dsignation (adressage) Mcanisme d'arrive (routage)

Adressage
Rseau adresse logique sur 32 bits (ou 4 octets) Dsignation : n1.n2.n3.n4 Exemple : 132.227.70.83, 192.92.125.20, ... 3 Classes de rseaux :
classe A (grands rseaux) : 8 bits fixes et 24 variables classe B (rseaux moyens) : 16 bits fixes et 16 variables classe C (petits rseaux ) : 24 bits fixes et 8 variables
114 A.ED-DBALI A.ED-

UNIX : Concepts gnraux et commandes

Protocole IP
Routage
Passage par des passerelles L'information ne dpasse pas la couche rseau (3) Dans chaque systme : table de routage identifier la passerelle

machine1 passerelle1 passerelle2

machine2

rseau1
UNIX : Concepts gnraux et commandes

rseau2
115

rseau3
A.ED-DBALI A.ED-

Notion de domaine
monde InterNet

edu

com

gov

uk

fr

white-house

nasa

inria

univ-orleans citu lifo

discov project1 soleil

Exemples : soleil.lifo.univ-orleans.fr, project1.discov.nasa.gov


adam@soleil.lifo.univ-orleans.fr, Bill.Clinton@white-house.gov
UNIX : Concepts gnraux et commandes 116 A.ED-DBALI A.ED-

Fichiers de configuration rseau


Fichier /etc/ethers
Base de donne associant un nom une machine (reconnue par son N Ethernet) Format fichier : N Ethernet nom machine

Fichier /etc/hosts
Base de donne associant un numro IP une machine (reconnue par son nom) Format fichier : N IP nom machine alias Exemple : 132.227.70.83 soleil le-serveur

Fichier /etc/services
Base de donne associant un service (couche application) un port et un protocole Format : Service Port/Protocole ftp 21/tcp Exemple :
talk
UNIX : Concepts gnraux et commandes 117

23/udp
A.ED-DBALI A.ED-

Fichiers de configuration rseau


Fichier /etc/hosts.equiv
Liste des machines dclares quivalentes la machine A o ce fichier est dfinit Toute demande provenant d'une des machines de /etc/hosts.equiv formule par un utilisateur x sera accepte et traite dans la machine A avec les droits de x

Fichier $HOME/.rhosts
Mme ide que hosts.equiv mais au niveau d'un utilisateur Utile quand les machines ne sont pas administres par une mme personne (machines prioris non quivalentes)

UNIX : Concepts gnraux et commandes

118

A.ED-DBALI A.ED-

Les applications
Services InterNet de base
FTP et TFTP
Transfert de fichiers File Transfert Protocol et Trivial File Transfert Protocol

TELNET
Connexion distance TErminal NETwork protocol

SMTP
change de messages entre les utilisateurs de systmes distants Simple Mail Transfer Protocol

UNIX : Concepts gnraux et commandes

119

A.ED-DBALI A.ED-

Les applications
Services gnraux
RPC et XDR
Excution de commandes distance (Remote Procedure Call) Reprsentation des donnes types indpendante des architectures (eXternal Data Representation)

NFS
Gestion rpartie des fichiers sur systmes d'un rseau Network File System

LPD
Spcification de spooler d'impression rpartie Line Printer Daemon
UNIX : Concepts gnraux et commandes 120 A.ED-DBALI A.ED-

Services spcifiquement UNIX - rlogin


rlogin machine [-l nom_login]
Demande de connexion en vue d'une ouverture de session sur la machine distante machine. nom_login : connexion sous un nom d'utilisateur spcifique (par dfaut, nom de login local) Exemple : locale$ rlogin distante.mit.edu Password : si locale et distante ne sont pas quivalentes distante$ commandes sur la machine distante distante$ exit ou logout locale$ ...
UNIX : Concepts gnraux et commandes 121 A.ED-DBALI A.ED-

Services spcifiquement UNIX - rsh


rsh machine [options] [commande]
Excution de commande sur le systme distant de machine. options : -l nom_login : excution de commande sur machine sous le nom d'un utilisateur spcifique. -n : entre standard ferme. Exemple :

locale$ rsh centre cat fich > f affichage de fich de centre et redirection sur f de locale locale$ rsh centre cat fich \> f ou locale$ rsh centre "cat fich > f" affichage de fich de centre et redirection sur f de centre
UNIX : Concepts gnraux et commandes 122

locale$ rsh distante.inria.fr who dupond /dev/ttyp1 14:15 adam /dev/co 11:23 liste des connections sur la machine ... distante du domaine inria.fr

A.ED-DBALI A.ED-

Services spcifiquement UNIX - rcp


rcp [-p] fich_source fich_cible
Copier comme cp local. fich_source et/ou fich_cible est un nom tendu (localisation:nom_fichier) o localisation est de la forme : nom_machine ou nom_login@nom_machine (nom_machine : nom machine rseau local ou nom_machine.nom_domaine) Exemple :

machine1$ rcp machine2:fich2 machine3:fich3 Lancer, partir de la machine1, l'ordre de copie de fich2 de la machine2 vers la machine3 sous le nom fich3 L'option -p : copier avec les mme droits d'accs et la mme date de modification.
UNIX : Concepts gnraux et commandes 123 A.ED-DBALI A.ED-

locale$ rcp distante:/home/staff/adam/fich copie_fich

Services spcifiquement UNIX -rcp


rcp [-p] [-r] rf_source... rpertoire
Copier les rf_source depuis tout systme vers un rpertoire ventuellement distant. Dans les 2 formes, dsactivation des caractres spciaux destins au systme distant (comme pour rsh) L'option -r : copier rcursivement les rf_source, qui sont des rpertoires, vers le rpertoire cible. Exemple :
locale$ rcp -p -r distante:/home/\* /home/distante_save

Copier, ventuellement rcursivement, tous les fichiers et rpertoires sous /home de la machine distante vers le rpertoire /home/distante_save de la machine locale.
UNIX : Concepts gnraux et commandes 124 A.ED-DBALI A.ED-

Vous aimerez peut-être aussi