Professional Documents
Culture Documents
com)
Lgende
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.
Page 1
UNIX-MEMENTO (Franck.Barbier@FranckBarbier.com)
CTRL
CTRL
CTRL
CTRL
+
+
+
+
$echo $LOGNAME
$echo "Salut..."
Page 2
UNIX-MEMENTO (Franck.Barbier@FranckBarbier.com)
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.
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)
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
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.
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.
FranckBarbier
propritaire
staff 512
groupe taille
May 31
date
14:30 aout.act
heure nom fichier
La commande chmod permet de changer les proprits dun fichier : $chmod xyz
nom_fichier :
Page 8
UNIX-MEMENTO (Franck.Barbier@FranckBarbier.com)
$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
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.
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
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
$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 :
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
?
Page 13
UNIX-MEMENTO (Franck.Barbier@FranckBarbier.com)
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
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).
Page 14
UNIX-MEMENTO (Franck.Barbier@FranckBarbier.com)
Les options intressantes de la commande grep sont en particulier :
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.
UNIX-MEMENTO (Franck.Barbier@FranckBarbier.com)
$
$
$
"f$"
"$f"
$f
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 .)
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")
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
Page 17
UNIX-MEMENTO (Franck.Barbier@FranckBarbier.com)
Exemples
$talk FranckBarbier
ou $talk machineDistante!FranckBarbier
ou encore $talk FranckBarbier@machineDistante
Page 18