Académique Documents
Professionnel Documents
Culture Documents
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)
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-
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).
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
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-
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)
man
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
14
A.ED-DBALI A.ED-
$ mesg y
15
$ mesg
A.ED-DBALI A.ED-
$ 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-
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-
Spciaux priphriques
Indiquent UNIX quel "driver" utiliser Donnent au driver les options utiliser Ils se trouvent dans le rpertoire /dev ou /devices
22
A.ED-DBALI A.ED-
bin
etc
home
usr
tmp
leger
adam
david
.profile
.profile
prod
cv
prog.c
23
A.ED-DBALI A.ED-
24
A.ED-DBALI A.ED-
25
A.ED-DBALI A.ED-
26
A.ED-DBALI A.ED-
/ usr
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-
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-
Droits pour les autres Droits pour le groupe du propritaire Droits pour le propritaire Type du fichier :
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-
31
A.ED-DBALI A.ED-
32
A.ED-DBALI A.ED-
33
A.ED-DBALI A.ED-
Dans certains systmes, seul root peut les excuter (problme de quotas)
UNIX : Concepts gnraux et commandes 35 A.ED-DBALI A.ED-
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-
$ 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
37
A.ED-DBALI A.ED-
-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
38
A.ED-DBALI A.ED-
-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) ...
39
A.ED-DBALI A.ED-
40
A.ED-DBALI A.ED-
Exemple : $ ls -l
-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-
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
42
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-
zombi 9 6
actif utilisateur
endormi
6 7 8 9
$ 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)
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-
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
51
A.ED-DBALI A.ED-
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-
cmd1&
fg ^z
bg stop
Stopp
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 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
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-
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
$ 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-
cmd1
2
cmd2
cmdn
2
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
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
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.
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
64
A.ED-DBALI A.ED-
66
A.ED-DBALI A.ED-
71
A.ED-DBALI A.ED-
72
A.ED-DBALI A.ED-
Existe aussi pg et pr
UNIX : Concepts gnraux et commandes 74 A.ED-DBALI A.ED-
$ find
<rm <rm <rm
Autre commandes :
pack, unpack, pcat, gzip, gunzip
77
A.ED-DBALI A.ED-
78
A.ED-DBALI A.ED-
visualiser l'archive de la bande puis extraire le fichier prog.c du rpertoire projet1 de l'archive
$ 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)
79
A.ED-DBALI A.ED-
$ 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
81
A.ED-DBALI A.ED-
$ 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
82
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
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-
$ qui-est-la
Liste des connections par ordre alphabtique dupont /dev/ttyp1 09:01 durand /dev/ttyco 15:32 leger /dev/ttya 10:14
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-
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-
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-
94
A.ED-DBALI A.ED-
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
95
A.ED-DBALI A.ED-
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. ...
96
A.ED-DBALI A.ED-
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
97
A.ED-DBALI A.ED-
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
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
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
104
A.ED-DBALI A.ED-
105
A.ED-DBALI A.ED-
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
106
A.ED-DBALI A.ED-
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.
107
A.ED-DBALI A.ED-
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-
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-
T T
T T Grosse unit pilotant un nombre important de terminaux Rseau de stations permanent (ETHERNET) cbles, fibres optiques, ondes temporaire (MoDem)
110
A.ED-DBALI A.ED-
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-
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-
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-
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
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
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-
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)
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
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-
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-
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-
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-