Introduction à L'unix

  • Uploaded by: Amine
  • 0
  • 0
  • January 2021
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Introduction à L'unix as PDF for free.

More details

  • Words: 2,968
  • Pages: 71
Loading documents preview...
Système UNIX Plan du cours Présentation générale Bourne Shell Interface C / Unix systemesdeproduction.blogspot.com

LAZREK Mohamed

Département Informatique

LE SYSTEME UNIX

PRESENTATION GENERALE

UNIX ? Est un système d’exploitation

Permet la gestion des ressources de la machine : matériels et logiciels

Naissance Naissanced’UNIX d’UNIX 1969

LE SYSTEME UNIX un peu d'histoire :

Version Version66

1976

Version Version77

1979

Version VersionIII III

1981

BSD BSD4.1 4.1

BSD BSD4.2 4.2

Version VersionVVRel. Rel.00 1983 Version VersionVVRel.2 Rel.2 1985

BSD BSD4.3 4.3

Version VersionVVRel. Rel.33 1987 AIX AIX3.0 3.0

Version VersionVVRel.4 Rel.4 1991 BSD BSD4.4 4.4

UNIX

AIX AIX3.2 3.2

LINUX 1995

AIX AIX4.2 4.2

OSF/1 OSF/1

OSF/DCE OSF/DCE

Mais la philosophie de l’Unix reste la même : Un seul arborescence pour tous les utilisateurs Les E/S sur les périphériques sont identiques aux E/S sur les fichiers

MAIS AU FAIT ...... QUI ES TU ?

• Un système opératoire : Multi-Utilisateurs Multi-tâches

réseau

Déroulement de l’exécution d’un programme dans un système : mono utilisateur et mono tache P1

Mémoire Centrale

P1

Processeur

Architecture d’un système multi utilisateur Demande E/S P1

P4

Mémoire P3 Centrale

P1 P4 P3 P2 P1

Processeur P2

P2

P1

P4 P2

P4

Processeur P2

P4

E/S

Fin Quantum

P2 P3 P4

Fin E/S Fin E/S et du Programme

Lancer l‘exécution

Fin du Programme

Temps de réponse d’un programme dépend :

 nombre d’utilisateurs connectés  durée du quantum  nombre d’opérations d’E/S  durée des programmes  ....

MAIS AU FAIT ...... QUI ES TU ?

• Un langage de commande :  séquentiel  pseudo parallèle  abréviations  re-directions d'entrée-sorties  synchronisation...

• Une documentation en ligne • Ma philosophie : "Keep it simple, and take it easy" • Mon succés Toute une génération d'informaticiens a été éduquée sur UNIX • Les champs d'application : - développement de logiciel - applications industrielles (extensions temps réel) - communications (courrier électronique, transfert de fichier)

Structure du système Applications Shell Noyau Matériel

Le noyau : • gère les ressources matérielles (mémoire, unités d'E/S...), les fichiers, l'allocation de temps UC • gère les processus • écrit en C et en assembleur Le shell : • est l’interface entre le noyau et l’utilisateur, • des centaines de commande sont à la disposition des utilisateurs

Connections des utilisateurs

Shell utilisateur x

noyau Shell matériel

Shell utilisateur z

utilisateur y

Documentation

$ man commande

Remarque : majuscule # minuscule

NOTION D'UTILISATEUR Tout utilisateur est enregistré dans deux fichiers :

/etc/group nom de groupe numéro unique de groupe

/etc/passwd nom de login mot de passe crypté numéro unique d'utilisateur numéro unique de groupe nom complet de l'utilisateur répertoire initial interpréteur de commande

login : ali password : ******* avec possibilité de changer le mot de passe: $ passwd changing password for ali old password : ******** new password : ******** retrype new password : *******

La commande who permet de connaître les utilisateurs connectés

LE SYSTEME DE FICHIERS • Interface uniforme pour toute opération d'E/S • Trois types de fichiers :  fichiers ordinaires  répertoires  fichiers spéciaux et périphériques : terminaux liens symboliques prises réseaux

LE SYSTEME DE FICHIERS Structure arborescente /

etc

usr

group

bin

passwd

lib

home

enim

old

profs adm

élève1

fich

Fich1

Fich2

etudiant

élève2

TP1

Fich3

élève3

TP2

Fich4

Fich5

montage d’un volume

/ bin

dev

Volume 2

usr

local

/ local

Volume 1 readme

Montage du volume 2

bin

Propriétaire et droits d’accès a- protections trois catégories utilisateurs :  son propriétaire  les utilisateurs qui font partie du même groupe que le propriétaire  les autres, excluant le propriétaire et les usagers du groupe A chacune de ces trois classes d’utilisateurs, trois types de droits accès sont définis Ces types ont des significations différentes s’il s’agit d’un répertoire ou d’un fichier.

LE SYSTEME DE FICHIERS Structure arborescente /

etc

usr

group

bin

passwd

lib

home

enim

old

profs adm

élève1

fich

Fich1

Fich2

etudiant

élève2

TP1

Fich3

élève3

TP2

Fich4

Fich5

Pour un fichier :

r

(read) droit de lire le fichier

w

(write) droit de modifier le contenu du fichier

x

(execute) droit d’exécuter le fichier.

Pour un répertoire : r (read) droit de lire le répertoire, c a d droit d’appliquer la commande ls W (write) droit d’écrire dans le répertoire. Cela permet d’ajouter une entrée au répertoire : de créer un fichier ou un répertoire de modifier une ligne : changer le nom d’un fichier de retirer une ligne : détruire un fichier. remarque : ce droit n’autorise pas à détruire le répertoire luimême : il faut pour cela avoir le droit w sur le père de répertoire x droit de traverser le répertoire.

Exemple : r - - : chez le père - -x

-wx

:

ls sr

b- Changement des protections : chmod

chmod

mode

[fichier]+

Le paramètre mode peut prendre deux formes : 1- dans la forme absolue, mode est composé de trois chiffres octaux. Le codage est : un chiffre binaire un signifie donner le droit correspondant un chiffre binaire zéro signifie retirer le droit correspondant Exemple : chmod 300 fichier

chmod

mode

[fichier]+

forme symbolique

2- dans la , mode est composé de deux ou trois champs collés les uns aux autres, de la façon suivante :

[qui ]*

position

qui : est l’un des caractères suivants :

[droit]+

u pour le propriétaire g pour le groupe o pour les autres et a pour tous ( user, group, others, all ) et indique pour qui on donne les droits qui suivent (défaut : a );

position : est l’un des caractères suivants : + =

pour mettre un droit pour le retirer pour mettre un droit et supprimer les autres;

droit : est l’un des caractères suivants : r w x

pour le droit r, pour le w pour le droit x.

Exemple : soit un fichier f Permission avantValeur

de mode Permission après

rw_ r_ _ _ _ _

chmod +x f

rwx r_x _ _ x

rw_ r_ _ _ _ _

chmod u-w f

r_ _r_ _ _ _ _

rw_rw_rw_

chmod a=r f

r_ _r_ _ r_ _

Commande qui permet d’ajouter le droit d’exécution pour le propriétaire du fichier toto

chmod u+x

toto

Commande qui permet d’ajouter le droit d’écriture pour le groupe du fichier toto

chmod g+w

toto

Commande qui permet d’ajouter le droit d’exécution pour les autres et retirer ce droit au propriétaire et au groupe du fichier toto

chmod o=x

toto

Commande qui permet d’ajouter le droit d’exécution à tous du fichier toto

chmod +x

toto

Forme générale d’une commande UNIX

commande [ paramètres ] Convention :

.. . /

répertoire parent répertoire courant racine de l'arborescence

entrée

Manipulation de répertoires cd

#home directory se positionner sur le répertoire personnel pwd entrée #print working directory impression du répertoire courant cd <nom_rep> entrée # change directory changement de répertoire courant mkdir <nom_rep> entrée # make directory création d'un sous- répertoire rmdir <nom_rep> entrée # remove directory destruction d'un répertoire si vide entrée

mvdir <nom_rep1> <nom_rep2> re-nommage de répertoire

entrée

#move directory

Copie d’un ou de plusieurs fichiers : cp

cp

origine

résultat

Les droits de résultat sont les droits de origine.

cp

[ origine ]+

rep

REP1

a

b

REP2

c

nf

REP1 :

cp a

REP2/nf

REP2 : cp ../a nf

Déplacement ou renommage : mv

mv ancien nouveau

Exemple : Avant :

REP1

a

b

REP2

c REP1

Aprés : a

b

REP2

nc

REP1 : mv REP2 :

mv

REP2/c REP2/nc c

nc

Autre exemple : Avant :

REP1

a

b

REP2

nc REP1

Aprés : a

autreb

REP2

nc

REP1 : mv REP2 :

mv

b REP2/ autreb ../b

autreb

avant :

REP1

a

autreb

REP2

aprés :

nc REP1

a

autreb

REP2

nc

REP1 : mv REP2/autreb REP2/nc REP2 :

mv autreb nc

..

.

créer des liens sur fichier

ln

anciennom

nouveaunom

pas de duplication physique du fichier.

ln

[fichier]+

rep

G1 à refaire

G5 j’ai donné le Mini Projet

REP1

a nc

autreb

REP1 :

ln

*

REP2 :

ln

../*

REP2/ .

REP2

Destruction d’un fichier ou d’un lien : rm

rm [ option ] [ fichier ]+ Appliquer à un lien symbolique, rm retire le lien symbolique. Destruction physique options : r (récursif) i

rm –r sous_rep

Attributs d’un fichier, contenu d’un répertoire

ls [option][nom]* Quelques options :

-a affiche tous les noms de fichiers, même ceux qui commencent par un point -i affiche le numéro de i-nœud devant chaque nom de fichier ou répertoire. -l affiche pour chaque fichier successivement :  la nature du fichier : - : fichier ordinaire, d : répertoire, l : lien symbolique  les droits d’accès  le nombre de liens de fichier  les noms du propriétaire et du groupe  la taille des fichiers en caractères  la date de dernière modification  le nom du fichier

-t affiche trié par la date de dernière modification

REP1

a.c

b.c

d.c

$ ls REP2 REP3 a.c $ ls REP2 d.c e.c $ ls -il 34982 drwxr_x_ _ _ 2 22782 drwxr_x_ _ _ 2 47267 _rwxr_x_ _ x 1 69789 _rwxr_x_ _ _ 2 67659 _rwxr_x_ _ _ 2

b.c

ali ali ali ali ali

REP3

REP2

c.o

e.c

c.o

64 1024 16364 64 64

Mar Mar Mar Mar Mar

11 11 1 1 1

1:43 14:46 11:43 11:43 11:43

REP2 REP3 c.o a.c b.c

Affichage interactif a- Appel simple :

more fichier affichage page par page d’un fichier de texte, avec une pause en fin de chaque page. Après une pause, on peut reprendre le défilement.

b- Appel avec options : more [option] [-n] [+nl] [+/ chaîne] [fichier ]*

-n +nl +/ chaîne

nombre de lignes affichées; démarrer l’affichage à la ligne nl;

démarrer deux lignes avant de rencontrer chaîne dans le fichier. Parmi les options :

-d affichage d’un message plus explicite que -More- en fin de page : press space to continue, ‘q’ to quit

-l ne pas tenir compte des (fin de page) du fichier.

Requêtes : A la fin de chaque page, l’utilisateur peut envoyer une requête :

entrée espace q = v / chaîne

affiche la ligne suivante; affiche la page suivante; quitter more; affiche le numéro de ligne courante; entre dans l’éditeur vi, à la ligne courante; affiche la suite, deux lignes avant de rencontrer chaîne;

! commande exécute la commande ; . répète la requête précédente; : n (next) passe au fichier suivant, quand more est

appelé avec plusieurs fichiers en paramètre;

: p ( previons )

passe au fichier précédent.

Remarque : more cherche ses options permanentes dans la variable MORE.

Si le fichier .profile contient par exemple MORE =‘-5’; export MORE alors tout appel comme more fichier sera équivalent à : more -5 fichier

Affichage complet et concaténation

cat [fichier]* Exemple : $ cat fichier $ cat

>fichier

$ cat

f1

f2

^d : pour terminer >

f3

Affichage du début :

head [-n] f $ head fichier $ head -5 fichier

Affichage de la fin d’un fichier :

tail [+ | -] nl fichier Exemple : $ tail f affiche les dix dernières lignes de f.

$ tail +5 fichier affiche de la ligne 5 à la fin du fichier. $ tail -5 fichier affiche les 5 dernières lignes de f.

Extrait d’un nom de fichier : basename

basename nom [suffixe] Exemple : $ basename ab

ab.c

.c

$ basename prog-gus.p -gus.p prog Exemple : Programme qui copie les .c en

.old

Comparaison de fichiers sans détail :

cmp

fichier1

fichier2

0 si les fichiers sont identiques, 1 s’ils sont différents Remarque : $ cmp -s f1 f2

-s supprime les commentaires.

Affichage par page, par colonne : a- Appel simple pr f1 b- Appels avec options pr [option]* [fichier]* +k commencer l’affichage à la page k ( défaut 1); -k afficher sur k ( défaut 1) colonnes de même longueur -m fusionne les fichier et les affiche côte à côte ( incompatible avec -k); -sc associé à une option -k ou -m, demande à ne pas tronquer les lignes trop longues et à remplacer le séparateur de colonnes par défaut (le TAB) par la caractère c; -h texte l’argument texte remplacera le nom du fichier dans l’en-tête; -t supprimer l’en tête, les lignes blanches de haut de page et les lignes blanches de fin de page.

Exemple : Afficher fichier sur 3 colonnes : $ pr

-3

–t

fichier

Afficher les fichiers TD1.txt et TD2.txt cote à cote avec une en-tête, sur 2 colonnes : $ pr

–mh

“lists pat TD“ TD1.txt

TD2.txt

Longueur d’un fichier :

wc Exemple : $ wc -lwc $ wc

-l

[-lwc]

[fichier]*

fichier fichier

Où se trouve un fichier : find [répertoire]+ [expression]+ répertoire est la liste des racines des sous hiérarchies à parcourir. expression est une suite d’options exprimant à la fois les critères de sélection des fichiers et les actions à leur appliquer. Lorsque le critère est vrai, l’action est exécutée. Dans la suite, on appelle ‘fichier courant’ le fichier examiné par find à un instant donné. Options, où n est mis pour n, -n, +n, -n veut dire ‘n et moins’, +n veut dire ‘n et plus’ : name motif vrai si le motif s’applique sur le nom du fichier courant user nom vrai si le fichier courant appartient à l’utilisateur nom atime n vrai si le fichier a été utilisé dans les n derniers jours. Peu utilisable, car find modifie la date d’accès aux fichiers qu’il examine mtime n vrai si le fichier a été modifié dans les n derniers jours newer fich vrai si le fichier courant a été modifié plus récemment que fich (expression) vrai si l’expression est vraie. Les parenthèses (qu’il faut faire précéder d’un blanc et d’une contre barre pour qu’elles ne soient pas interprétées par le Shell) sont nécessaire si les expressions simples sont combinées par et (par défaut), ou, non

$ find / -name

fichier

-print

fait

Recherche d’une chaîne dans un fichier :

grep [option] chaîne [fichier]* Options :  v affiche les lignes qui ne contiennent pas le motif  c n’affiche que le nombre de lignes qui contiennent le motif i ignore la distinction minuscule / majuscule l n’affiche que les noms des fichiers renfermant le motif  n numérote les lignes affichées  s ou q les messages sont supprimés Le code de retour est :  0 si un motif a été trouvé  1 sinon  2 s’il y a eu des erreurs

Généralités sur les processus Un processus est un programme en cours d’exécution. programme = statique processus = dynamique Un même programme s’exécutant plusieurs fois donne des processus différents. Un utilisateur <==> au moins un processus (le login Shell) Caractéristiques d’ un processus : son pid ( process identifier ) un numéro qui lui attribue UNIX dès sa création. le pid du processus parent (ppid) son propriétaire son terminal d’attachement un certain nombre d’autres attributs, priorité par exemple

Naissance et terminaison d‘un processus un processus doit naître pour exister. Un processus meurt de deux façons :  normalement ou  anormalement $ps PID TT STAT 6087 tty0 S 6091 tty0 R

TIME COMMAND 0:00 -csh 0:00 ps

Quelques commandes nice [-n°] commande [paramètres] priorité de 1 à 19 , priorité par défaut : 10 nohup commande (&) processus non tué au logout kill -9 processus_ID le processus désigné est tué at 1600 Programmer l’heure d’une commande sleep <nombre> Suspendre l’exécution d’une commande

Redirection

organe d’entrée (par défaut clavier)

commande ou programme shell

les erreurs ( par défaut écran )

organe de sortie ( par défaut écran )

Redirection des E/S :

>mot

redirige la sortie standard sur un mot, avec création ou destruction éventuelle

>> mot idem, mais si le fichier désigné par mot existe déjà, il est allongé (et non détruit)

< mot

redirige l’entrée standard sur mot

mot est un nom de fichier ou une variable ou un paramètre désignant un fichier. Redirection des erreurs :

2 > mot 2 >> mot

Exemple : $ cat f1

f2

> f3

$ ls

>f

$ ls

f > fichier

$ ls

f 2 > fichier

$ ls

f > f1

$ nohup

2 > f2

prgme

>ff

2>fff

Pipe clavier

commande1

erreur (écran)

Sortie

|

Entrée

écran commande2

erreur (écran)

$commande1 | commande2| .............................| commanden

Pipe 1- Compter le nombre de fichiers dans le repertoire courant :

$ ls | wc –w

Pipe

Pipe 2- afficher les quatres derniers noms, dans l’ordre alphabétique, d’une liste se trouvant dans le fichier liste : $ cat liste BA KO AL HA AH AA Résultat de la commande : AL BA HA KO

$ cat liste | sort | tail -4 $ sort liste | tail –4

Caractères spéciaux Commandes séquentielles : cmd1;cmd2;cmd3 Commande background : cmd& redirection des e/s Groupement des commandes : ( )

Ex: $ date ; echo fin de commande > toto $ cat toto fin de commande $ (date ; echo fin de commande ) > toto la date fin de commande

Génération de noms Facilités pour désigner de manière explicite un groupe de noms de fichiers à l'aide d'une notation condensée. Usage de caractères spéciaux dits méta-caractères : •?

remplace un caractère quelconque, sauf le RET ls d?g

• * remplace n'importe quelle chaîne, même vide, de caractères ne comportant pas de RET. ls s*n

•[...]

remplace un caractère parmi ceux qui sont énumérés entre les crochet, en un caractère ls d[io]g

Mécanismes d’échappement

"..." parenthésage dans lequel aucun caractère sauf `, " et $ n'a de signification spéciale

`...` exécution de la phrase placée entre accents graves

\

(backslash) négation d’un méta-caractère

Exemple $ echo “ `date` ? “ Lundi 4 Mai 2004 ? $ echo ‘ $a ` date ` ‘ $a ` date ` $ echo \? ?

Related Documents


More Documents from "Shawn Ng"

L'anglais Des Affaires
January 2021 1
January 2021 4
February 2021 0
La Finance Pas Pas
February 2021 1