You are on page 1of 18

UNIX-MEMENTO (Franck.Barbier@FranckBarbier.

com)

Lgende

En gras : ce qui est affich lcran par le systme UNIX.


En italique : ce qui doit tre tap.
En contour : les symboles, les touches, les signes, les mots-clefs, etc.

Note : dans les commandes UNIX, il est ncessaire de distinguer mthodiquement majuscules
et minuscules. Il est prfrable dutiliser les minuscules.

I. Le login / logout
Une session UNIX dbute par un login :
Login:
Il est ncessaire de prciser son compte ou encore nom dutilisateur :
Login: FranckBarbier
Passwd:
Pour terminer, il faut taper un mot de passe reconnu par UNIX. Ce mot de passe napparat pas
lcran.
Le prompt apparat lcran et signifie que le travail peut commencer. Ce prompt est en
gnral le caractre $ pour un utilisateur quelconque, le caractre # pour le super utilisateur
(celui-ci rentre dans le systme avec le nom dutilisateur prdfini root). Le prompt peut tre
par la suite modifi.
Une session UNIX se termine par un logout : CTRL + D (taper simultanment sur les
touches CTRL et D). Le signe ^D apparat en gnral lcran.
Note : CTRL + D dsigne plus gnralement le caractre de fin de fichier.
Il existe aussi la commande logout.

II. Les touches particulires

CTRL + S : arrt du dfilement lcran alors que CTRL + Q correspond la


reprise du dfilement lcran

Page 1

UNIX-MEMENTO (Franck.Barbier@FranckBarbier.com)

CTRL
CTRL
CTRL
CTRL

+
+
+
+

O : drivation des sorties lcran vers le nant (/dev/null)


C : interruption de processus
Z : suspension de processus
H, CTRL + U, CTRL + W : effacement de caractres, lignes, mots...

III. Premires commandes


$echo ^G
On entend alors bip .
La commande echo comme son nom lindique renvoie lcran le paramtre qui
laccompagne.
Exemples

$echo $LOGNAME
$echo "Salut..."

Pour changer son mot de passe : passwd.


$passwd
Old passwd: il faut ici taper lancien mot de passe qui napparat pas lcran.
New passwd: il faut taper le nouveau mot de passe puis Return et recommencer autant de fois
quUNIX le demande, en particulier si le nouveau mot de passe ne comporte pas beaucoup de
caractres !
Pour changer le compte sur lequel on travaille : login.
$login AlfredDubois
AlfredDubois est un compte ou nom dutilisateur. On quitte UNIX et on entre nouveau
avec une nouvelle identification. UNIX demandera alors le mot de passe du compte avec
lequel on entre.
Pour un login sur une machine relie par un rseau local, il faut utiliser la commande
rlogin.
Pour effacer lcran : clear (substitut : $pg -c</dev/null).

Page 2

UNIX-MEMENTO (Franck.Barbier@FranckBarbier.com)

IV. Le systme de fichiers


Avec UNIX tout est fichier, cest--dire trait en tant que tel. Par exemple, un priphrique
( device ) est un fichier : un cran est donc un fichier (cest pour cette raison que lon utilise
le caractre de fin de fichier CTRL + D pour terminer une session depuis lcran o lon
travaille).
/dev/null est un fichier particulier dsignant le nant (toute opration dcriture sur ce fichier
revient jeter la poubelle les donnes).
Le systme de fichiers est organis suivant une hirarchie. Le rpertoire ( directory )
principal de cette hirarchie est /. Par nature, un rpertoire contient des fichiers ainsi que des
sous-rpertoires. Les sous-rpertoires du rpertoire / sont en particulier :
/dev : les priphriques
/bin : les commandes sous forme de fichiers excutables
/etc : les fichiers principaux manipuls par UNIX, par exemple /etc/passwd est le

fichier des utilisateurs et de leurs mots de passe


/usr : les utilisateurs ainsi que les rpertoires, sous-rpertoires, fichiers... qui leur sont

propres
Etc.

La faon la plus simple pour dsigner un fichier ou un rpertoire est de prciser le chemin pour
latteindre depuis /.
Exemple : /usr/glandeurs/jeux/chess est le fichier ou rpertoire chess dans le rpertoire
jeux lui-mme dans le rpertoire glandeurs lui-mme dans le rpertoire usr lui-mme dans /.
Avant den venir la gestion du systme de fichiers, considrons la commande man (manuel
dutilisation dUNIX)
$man hier
Cette commande donne des informations sur la hirarchie dUNIX, et plus gnralement $man
commande_UNIX donne des informations sur commande_UNIX.
Exemple : $man login, cest--dire comment fonctionne la commande login.

V. Excution dune commande


$/bin/cat /etc/passwd

Page 3

UNIX-MEMENTO (Franck.Barbier@FranckBarbier.com)
Jeffectue la commande cat (visualisation du contenu dun fichier) dont le fichier excutable
est dans le rpertoire bin sous-rpertoire de /. Je visualise le contenu du fichier passwd
(fichier des utilisateurs et de leurs mots de passe) qui est dans le rpertoire etc sous-rpertoire
de /.
Plus simplement :
$cat /etc/passwd (UNIX est configur de manire connatre les rpertoires o se trouvent les
fichiers excutables de la majorit des commandes - $echo $PATH fournit la liste de ces
rpertoires).
Encore dans un souci de simplification, on utilise les chemins relatifs (relativement lendroit
o lon se trouve) au lieu des chemins absolus.
$pwd : o suis-je dans la hirarchie ?
$cd /etc : je me dplace dans le rpertoire etc de /.
$cat passwd : jexcute plus simplement la commande $cat /etc/passwd. Jutilise le fait que je
me trouve dans le rpertoire etc de /.
Pour dsigner des rpertoires laide de chemins relatifs, on utilise les symboles suivants :
. le rpertoire courant (o je me trouve un instant t)
.. le rpertoire immdiatement suprieur au rpertoire courant
$HOME le rpertoire utilisateur (celui o je me trouve aprs le login , celui o je
travaille en gnral). $echo $HOME fournit le nom de ce rpertoire utilisateur
Note : au mme titre que $LOGNAME ou $PATH, $HOME dfinit une variable de
lutilisateur gre par UNIX.
Exemples

$cd ..
$cd /
$cd $HOME
$cd $HOME/x o x est un sous-rpertoire de $HOME (le rpertoire utilisateur)

VI. Gnralisation de la manipulation des fichiers et rpertoires


Cration de rpertoire : $mkdir nom_repertoire (en absolu ou en relatif)

Page 4

UNIX-MEMENTO (Franck.Barbier@FranckBarbier.com)
Loption -p est intressante dans la mesure o elle permet de crer des rpertoires
intermdiaires.
Exemple : $mkdir -p $HOME/a/b/c qui permet de crer depuis $HOME les rpertoires a, b et
c suivant larborescence spcifie.
Destruction de rpertoire : $rmdir nom_repertoire (en absolu ou en relatif)
Cration de fichier (1re approche) : $cat>$HOME/nom_fichier (le fichier nom_fichier est
cr dans le rpertoire $HOME). Il faut terminer la saisie par CTRL + D.
Note : la commande cat permet de visualiser le contenu dun fichier si elle est utilise sans le
caractre >. On peut aussi visualiser le contenu dun fichier avec la commande more ou pg.
Exemple : $more /etc/ttys (tester les possibilits de more ou pg en fonctionnement : ?, q ou
Q, !, Space, Return, /, etc.).
Destruction de fichier(s) et rpertoire(s) : $rm $HOME/nom_fichier ou encore $rm -r
$HOME/nom_repertoire
Loption -r fait que lon indique un nom de rpertoire alors que si on ne lutilise pas, on
indique un nom de fichier. Tout ce qui y est contenu est dtruit, le rpertoire lui-mme et
rcursivement les diffrents sous-niveaux sil y a lieu.
Loption -i permet une destruction interactive (confirmation y or n pour chaque entit
dtruite). Il est dailleurs souvent plus sr de faire $rm -ri nom_fichier(s).
Contraintes :
la cration et la destruction de rpertoires sont subordonnes aux proprits de ces
rpertoires et de leurs fichiers. Cela rsulte des prrogatives qui sont attribues par
UNIX chaque utilisateur. Compte tenu de cela, on peut manipuler les rpertoires et
les fichiers des autres utilisateurs que si nos prrogatives nous le permettent. Bien
entendu, le super utilisateur (root) peut lui tout faire.
la destruction de rpertoires par la commande rmdir implique que ces rpertoires sont
vides.
Exercice : la socit APIIC vous demande de construire la hirarchie suivante :

Page 5

UNIX-MEMENTO (Franck.Barbier@FranckBarbier.com)

$HOME

Methodes

Etudes

CAO

Usr

FAO

GestionDeProduction

Usr

GPAO

Usr

Maintenance

MAO

Usr

Cette socit vous demande aussi de construire dans le rpertoire $HOME les fichiers
suivants :
CAO.inf : logiciel de CAO qui est le logiciel CATIA version 4.3
FAO.inf : il ny a pas de logiciel de FAO implant actuellement
GPAO.inf : logiciel de GPAO est le logiciel PRODSTAR version 6.0
MAO.inf : il ny a pas de logiciel de MAO implant actuellement
InfoGenerales : la hirarchie dans laquelle vous vous trouvez concerne les systmes
dinformation
de
la
socit
APIIC
pour
le
conception/fabrication/gestion/maintenance de son systme productif

cycle

de

Les cinq fichiers pralablement noncs sont crs comme suit :


$cat>CAO.inf
texte...
CTRL + D

VII. Visualisation du contenu dun rpertoire


La commande ls permet de visualiser le contenu dun rpertoire. Elle est utilisable avec de
nombreuses options. Les plus intressantes sont :
-a : pour faire apparatre tous les fichiers, en particulier les fichiers cachs prfixs
dans UNIX par un point ( dot en anglais). Par exemple .profile est un fichier que
lon rencontre souvent dans le rpertoire $HOME.

-F : pour faire apparatre les diffrents types de fichiers : * excutable, / rpertoire, @

lien...
-l : cette option est toujours utilise car elle donne tous les attributs des fichiers.
Page 6

UNIX-MEMENTO (Franck.Barbier@FranckBarbier.com)

-R : rcursivement, cest--dire que tout ce qui est contenu dans les sous-niveaux est

visualis.
-i : pour faire apparatre le numro physique par nature unique ( inode ) des fichiers.
Cette option est intressante pour voir si des fichiers sont lis.

Usage le plus courant : $ls -alF


Autre usage intressant : $ls -d donne des informations sur le rpertoire lui-mme plutt que
sur son contenu.
Exercice : vrifier laide de la commande ls que ce qui a t prcdemment construit est bien
ce qui avait t demand.
Note : les caractres * et ? peuvent tre utiliss dans les commandes (* remplace une suite de
caractres alors que ? remplace un seul caractre). Les commandes telles que rm, ls...
acceptent donc les caractres * et ?.
Exemple : $rm -i /usr/GillesDupont/.p* cest--dire tous les fichiers cachs (.) dont le nom
commence par p doivent tre dtruits interactivement dans le rpertoire GillesDupont du
rpertoire usr du rpertoire /.

VIII. Duplication, dplacement et liaison de fichiers


La duplication de fichiers est ralise avec la commande cp (voir aussi cpio pour des copies
de device device ). Le dplacement de fichiers est ralis avec la commande mv. La
liaison de fichiers est ralise avec la commande ln.
Exemples
$cp $HOME/aout/aout.act ./septembre/septembre.act : le fichier aout.act du
rpertoire aout est dupliqu. Il prend pour nom septembre.act dans le rpertoire
septembre o il est copi.
$cp $HOME/aout/* . : tous les fichiers non cachs (*) du rpertoire aout sont
dupliqus sous le mme nom dans le rpertoire courant (.).
$mkdir $HOME/moi ; cp p* $HOME/moi (; dsigne la squence de commandes) : tous les
fichiers non cachs du rpertoire courant commenant par p sont dupliqus dans le rpertoire
moi.
Pour dupliquer dune machine une autre par un rseau local, il faut utiliser la commande rcp.

Page 7

UNIX-MEMENTO (Franck.Barbier@FranckBarbier.com)
La commande mv fonctionne comme la commande cp ceci prs que les fichiers sont
seulement dplacs et ventuellement renomms.
Exemple : $mv x y : ici, il ny a pas de dplacement, x change de nom pour sappeler y.
La commande ln a pour but pour un mme fichier physique de lui attribuer plusieurs noms. Un
fichier peut donc tre rfrenc diffrents endroits de la hirarchie du systme de fichiers.
Exemple : $ln $HOME/aout/aout.act /usr/commun_a_tous cest--dire que le fichier aout.act
prend le nom de commun_a_tous dans le rpertoire usr de /.
Exercice : la socit APIIC vous demande de construire un fichier USR.liste contenant
Dupont G., Lambert M., Dublanc A., Maire J.P., Dersec G., Zoe Y., Joutat M. et Fradet S. Il
faut ensuite placer ce fichier dans le rpertoire CAO et le lier pour quil apparaisse dans le
rpertoire FAO. Le fichier USR.liste crer dans le rpertoire GPAO doit lui contenir
Rouget P. et Martin D. ; il doit tre li pour apparatre dans le rpertoire MAO.
De plus, la socit APIIC vous demande de lier le fichier InfoGenerales sous le nom Info de
manire ce quil apparaisse dans tous les rpertoires de la hirarchie prcdemment cre,
puis de dplacer le fichier CAO.inf dans le rpertoire CAO ; faire de mme pour tous les
fichiers de suffixe .inf actuellement dans le rpertoire $HOME.

IX. Les proprits des fichiers


Les proprits des fichiers apparaissent au moment de lexcution de la commande ls : $ls -l
aout.act
Rsultat lcran :
-rwxr--r-1
prrogatives liens

FranckBarbier
propritaire

staff 512
groupe taille

May 31
date

14:30 aout.act
heure nom fichier

1re position : type du fichier (d : rpertoire, - : fichier standard, l : lien, p : pipe, b et


c : device)

2, 3 et 4me : prrogatives du propritaire du fichier


5, 6 et 7me : prrogatives du groupe du propritaire
8, 9 et 10me : prrogatives des autres utilisateurs

La commande chmod permet de changer les proprits dun fichier : $chmod xyz
nom_fichier :

Page 8

UNIX-MEMENTO (Franck.Barbier@FranckBarbier.com)

o x est gale u : moi , g : mon groupe (essayer la commande $groups ou $cat


/etc/group pour connatre son groupe dappartenance), o : les autres, a : tout le monde.
o y est gale + ou -.
o z est gale r : readable, w : writable, x : excutable (pour un rpertoire, cela
signifie que lon peut y effectuer des recherches), - : non actif.

$chmod g+w $HOME/moi : je donne lautorisation (+) aux utilisateurs de mon groupe (g)
dcrire (w) dans le rpertoire moi de $HOME.
$chmod a-r aout/aout.loi : je supprime lautorisation (-) tout le monde (a) de lire (r) le
fichier aout.loi du rpertoire aout du rpertoire courant.
La commande umask permet quant elle de dfinir par dfaut la configuration des proprits
attribues un fichier linstant de sa cration.
Exemples

$umask : fournit la configuration en cours


$umask ogp : modifie la configuration en cours pour la configuration ogp (o :
owner , g : group et p : public )

Pour un fichier : 0 = rw-, 1 = rw-, 2 = r--, 3 = r--, 4 = -w-, 5 = -w-, 6 = ---, 7 = --Pour un rpertoire : 0 = rwx, 1 = rw-, 2 = r-x, 3 = r--, 4 = -wx, 5 = -w-, 6 = --x, 7 = --Analyser les commandes $umask 2 et $umask 077
Exercice : placer dans la configuration drwxr-xr-x tous les rpertoires depuis $HOME.
Placer dans la configuration -rwxrw-rw- tous les fichiers depuis $HOME sauf le fichier
InfoGenerales placer dans la configuration -rwxrwxrwx aprs avoir ajout le mot echo
devant la phrase contenue dans le fichier InfoGenerales. Excuter ensuite InfoGenerales.

X. Cration et modification de fichier (autres approches)


$cat>>$HOME/aout/aout.loi
planche voiles et ventuellement natation
CTRL + D
Si le fichier aout.loi contenait :
Escalade la premire quinzaine daot, avant la mer, certainement la seconde quinzaine

Page 9

UNIX-MEMENTO (Franck.Barbier@FranckBarbier.com)
Le fichier aout.loi contient alors :
Escalade la premire quinzaine daot, avant la mer, certainement la seconde quinzaine
planche voiles et ventuellement natation
$touch -c nom_fichier : cette commande actualise les attributs dun fichier cest--dire lheure,
la date.
Loption -c provoque le retour dune erreur si le fichier nexiste pas. Si cette option nest pas
utilise et que le fichier nexiste pas, il est cr avec une taille gale 0.
Exercice : la suite de lacquisition dun logiciel intgr de GPAO-MAO appel GPMAO, la
socit APIIC vous demande de :
couper la branche Maintenance de la hirarchie
crer un nouveau fichier GPAO.inf o lexpression "PRODSTAR version 6.0" est

remplace par "GPMAO version 1.0"


ajouter au fichier USR.liste se trouvant dans le rpertoire GPAO : Bidochon G. puis
actualiser les attributs de tous les rpertoires et fichiers inclus dans $HOME.

XI. Lenvironnement
Certaines commandes permettent de prendre connaissance de lenvironnement de travail : les
caractristiques de la machine, le terminal de connexion...
La commande tty permet de dterminer le terminal de connexion.
La commande uname permet de dterminer les caractristiques de la machine et du systme
UNIX utiliss. Tester cette commande avec loption -a pour afficher toutes les
caractristiques.
Les commandes who et whoami permettent de connatre les utilisateurs du systme.
Diffrentes utilisations sont possibles :
$who
$whoami
$who am i
Les options intressantes de la commande who sont :
-b : pour afficher la date et lheure de la dernire activation du systme
-T ou -u : pour afficher des informations plus compltes telles que lactivit de
lutilisateur, les processus en cours...

Page 10

UNIX-MEMENTO (Franck.Barbier@FranckBarbier.com)

La commande w est une commande du mme type que who. Elle informe de manire
systmatique sur les utilisateurs du systme et leurs activits.
Note : on peut trouver dans le fichier /etc/utmp les utilisateurs du systme. Essayer $cat
/etc/utmp
Comme nous lavons vu, UNIX gre pour chaque utilisateur des variables. La spcificit de
celles-ci est dtre prfix par un $ : $HOME, $LOGNAME ou encore $PATH. Il est bien
entendu intressant de travailler de manire plus gnrale avec ces variables : connatre leur
valeur, en dfinir de nouvelles, etc.
Les commandes set et env permettent de connatre ces variables.
Quelques usages de e nv

$env
$env VAR="Societe APIIC"
$echo $VAR
$env

Autres mthodes avec s et

$set
$set VAR="Societe APIIC"
$echo $VAR
$VAR= "Societe APIIC"
$echo $VAR
$ll="ls -alF"
$$ll
$AutreVar=
$echo $AutreVar

Lenvironnement peut se voir doter en plus des variables, des fonctions. La dfinition dune
fonction sopre comme suit :
$nom_de_fonction()
{
commande1 ;
commande2 ;
...
}

Page 11

UNIX-MEMENTO (Franck.Barbier@FranckBarbier.com)
Exemple
$ll()
>{
>ls -alF ;
>}
$set
$ll
$unset ll
$ll
$set
Conclusion ?
Autre exemple
$cwd()
>{
>cd $1
>b=`pwd`
>PS1="$b>"
>}
$cwd $HOME
Exercice : construire une fonction hcd qui permet de mmoriser dans un fichier historique les
rpertoires o lon se dplace durant une session.
Exemple : $hcd $1 $2 o $1 (1er paramtre de la procdure hcd) est le rpertoire o lon se
dplace et $2 (2me paramtre de la procdure hcd) est le fichier historique.
Il existe des caractres spciaux dfinissant des variables spciales, en particulier :

$ : numro de processus du shell actif


? : statut final de la commande excute en dernier lieu (0 : OK)
! : numro du dernier processus en tche de fond
# : nombre darguments
et @ : tous les arguments
- : options du shell

Afficher les variables suivantes : $$ $? $! $# $* $@ $- et $0. Que reprsente $0 ?

Page 12

UNIX-MEMENTO (Franck.Barbier@FranckBarbier.com)
Essayer $set X Y Z et $echo $# et $echo $1 $2 $3
Utilisation des variables de position (donner une interprtation de ce qui suit) :
$cat>1erProg
echo Mon nom est $1
CTRL + D
$chmod a+x 1erProg
$1erProg
$1erProg FranckBarbier ou $sh 1erProg ou $sh 1erProg FranckBarbier
Comment sont utilises les `(backquote), '(quote) et "(double quote) ? Pour cela, essayer :
$v1=acces interdit ; echo $v1
$v1="acces interdit"
$Message="Probleme : $v1" ; echo $Message
$Message='Probleme : $v1' ; echo $Message
$Message='"Probleme : $v1"' ; echo $Message
Conclusion ?

XII. La redirection des E/S


Exercice : crer un fichier formation contenant les personnes assistant cette formation
UNIX.
La commande wc permet de compter les lments dun fichier et permet dillustrer la
redirection des E/S.
Exemples

$wc -c formation : compter les caractres


$wc -w formation : compter les mots
$wc -l formation : compter les lignes

La commande wc est souvent utilise dans le cadre de la redirection des E/S :


< redirection de lentre standard (stdin)
> redirection de la sortie standard (stdout)

>> redirection de la sortie standard en ajout


<< voir exemple
2> redirection des erreurs (stderr)

Page 13

UNIX-MEMENTO (Franck.Barbier@FranckBarbier.com)

2>> redirection des erreurs en ajout


| prolongation des flux de donnes

Tester
$ls -alF | wc
$cat /etc/passwd>motsDEpasse
$cat /etc/passwd>>formation
$cat>message>/dev/console : essayer tty? la place de console
$wc -l formation
$wc -l<formation
$cp formation /etc/formation>y
$cp formation /etc/formation 2>y
$cp formation /formation 2>>y
$cat<<FIN>fichier
>je tape un texte, le symbole > signifie que le shell
>est en attente avant de revenir au prompt classique $.
>je tape FIN
>FIN
Exercices

compter le nombre de personnes des services CAO/FAO et GPAO/MAO.


ajouter formation USR.liste dans le rpertoire GPAO.

compter le nombre dutilisateurs actuellement connects sur le systme (utiliser la


commande who) tout en crant un fichier users contenant la liste des utilisateurs

connects.
compter le nombre de variables de lenvironnement (utiliser la commande env) et
compter le nombre de variables et fonctions de lenvironnement (utiliser la commande
set).

compter le nombre de caractres de votre numro de compte (utiliser la commande


whoami).

XIII. La commande g rep


La commande grep est une des commandes les plus intressantes du systme UNIX. Notons
quil existe deux variantes : egrep et fgrep. Cette commande assure la recherche dun littral
dans un flux de donnes quelconque.
Quelques commandes tester

$grep "root" /etc/passwd


$grep -v "philippe" formation

Page 14

UNIX-MEMENTO (Franck.Barbier@FranckBarbier.com)
Les options intressantes de la commande grep sont en particulier :

-v pour rechercher les lignes o napparat pas le littral


-n pour afficher les lignes avec leur numro
-c pour afficher le nombre de lignes plutt que ces dernires
-l pour afficher les noms de fichiers o lon trouve le littral plutt que les lignes
-i pour ne pas distinguer minuscules/majuscules

Exemples

$grep -l "APIIC" *
$grep -i "APIIC" Info
$grep -n "productif" Info

Exercices

rechercher dans le service CAO/FAO, les personnes dont le nom ninclut pas le littral
du sans distinguer minuscules/majuscules.
rechercher depuis $HOME les fichiers contenant le littral AO.

Quelques utilisations plus compliques de la commande grep :


$ls -lR [EI]* | grep "r--r-- " : rechercher tous les fichiers rcursivement (-R) commenant par
E ou I et ayant pour configuration r--r--Space ( only readable for group and other users ).
$ls -lR [E-I]* | grep -c "drw" : compter (-c) tous les fichiers rcursivement (-R) commenant
par E, F, G, , I et ayant pour configuration drw (ces fichiers sont en particulier des
rpertoires).
Quels sont les problmes dans ces deux commandes ?
La recherche des premires et dernires positions.
Tester
$cat>>Etudes/Usr/USR.liste
$FranckBarbier
F^ranckBarbier
jeff
CTRL + D
$grep -i "f" Etudes/Usr/USR.liste
$
"^f"
$
"f^"
Page 15

UNIX-MEMENTO (Franck.Barbier@FranckBarbier.com)
$
$
$

"f$"
"$f"
$f

Conclusion : quel est le sens des caractres ^ et $ dans les littraux ?


Tester et conclure
$grep "$" Etudes/Usr/USR.liste
$
$
$
"\$"
$
\$
Plus gnralement les caractres spciaux suivants peuvent tre utiliss dans les recherches :
. : un unique caractre
[...] : un caractre entre crochets (Ex. : [aeiou]) ou un caractre dans un intervalle de

caractres (Ex. : [a-z])


* : zro ou plus dune occurrence du caractre qui prcde (Ex. : A*) ou de
lexpression rgulire qui prcde (Ex. : AO*)
.* : zro ou plusieurs occurrences dun unique caractre
[!...] : tout caractre qui nest pas entre crochets ou dans un intervalle de caractres

Exercices
rechercher tous les rpertoires depuis / dont le nom est compos de 4 lettres (utiliser .)
compter dans le fichier /etc/ttys les noms de terminaux commenant par t ou T et se
terminant par 1 ou 2 ou 3 ou 4 lettres (utiliser ^ et $ et [] et .)

rechercher les utilisateurs connects sur un terminal du type prcdent


rechercher depuis le rpertoire / les fichiers qui ne sont pas excutables quel que soit

lutilisateur
rechercher dans le service CAO/FAO de la socit APIIC les noms de personnes
comportant au moins 2 f

vrifier que le nom avec lequel vous tes entrs dans le systme est bien une seule fois
dans le fichier /etc/passwd (utiliser "$LOGNAME")

XIV. Les commandes f ind et s ort


La commande find permet de rechercher un fichier. Les deux utilisations les plus intressantes
de cette commande sont :
$find / -name *.c -print : je recherche partir de / les fichiers se terminant par .c dont
je veux que leur nom soit affich lcran (-print)

Page 16

UNIX-MEMENTO (Franck.Barbier@FranckBarbier.com)

$find $HOME -user $LOGNAME -exec cat {} \; : je recherche partir de $HOME les
fichiers dont le propritaire est $LOGNAME ; lorsque quil est trouv, lafficher (exec cat). {} dsigne le pathname du fichier trouv et ; prfix par \ doit terminer
loption -exec

Les autres options intressantes de la commande find sont : -size n, -ls, -type (b, c, d, f, p,
l et s).
Exercices
rechercher depuis / les fichiers suffixs par .c qui sont des liens (utiliser -type l)
rechercher depuis / les fichiers de taille 0 (utiliser -size 0) et les dtruire
interactivement
La commande sort permet de trier (ordre ASCII) un flux de donnes.
Exemple : $sort -b Etudes/Usr/USR.liste (loption -b permet dignorer les caractres tels que
Space ou Tab lors du tri).
Exercices
ranger par ordre dans un fichier X tous les fichiers depuis $HOME
ranger par ordre inverse (option -r) dans un fichier for2 le contenu du fichier
formation

XV. La communication sous UNIX


Les commandes pour communiquer sous UNIX dpendent du type de communication. Soit la
communication a lieu sur une mme machine, soit sur une machine connecte via un rseau
local, soit sur une machine hors-site (systme uucp).
La commande write permet denvoyer un message un utilisateur donn.
Exemple
$write FranckBarbier
Cest quand la pause, yen a marre dUNIX...
CTRL + D
Exercice : laide des commandes who, sort et des ``, envoyer un message lutilisateur le
dernier dans lordre ASCII des utilisateurs connects.
La commande talk demande lmetteur et au rcepteur de se synchroniser.

Page 17

UNIX-MEMENTO (Franck.Barbier@FranckBarbier.com)
Exemples

$talk FranckBarbier
ou $talk machineDistante!FranckBarbier
ou encore $talk FranckBarbier@machineDistante

Tester : $hostname pour connatre le nom de machine ou $cat /etc/hosts ou $who am i


Exercice : daprs lexercice prcdent, mettre un message lutilisateur le premier dans
lordre ASCII des utilisateurs connects.
La commande mesg permet dautoriser ou non les messages (Tester $mesg -n et $mesg -y)
La commande mail concerne la messagerie lectronique dUNIX. Les utilisations les plus
courantes de cette commande sont (pour envoyer du courrier de GillesDupont
FranckBarbier) :
$who am i
GillesDupont
$mail FranckBarbier
Rendez-vous pizzeria ce soir 20 heures,
si impossible me tlphoner.
CTRL + D
$mail : pour lire son courrier (la commande from permet de savoir sil y a du courrier lire).
Codes pour la commande mail -> Return : lettre suivante, d : dtruire lettre, s : sauvegarder
lettre dans fichier, q : sortir de mail, ? : aide, etc.

Page 18

You might also like