Initiation a
II. Commandes Unix
Universite de Provence
Licence Sciences et Technologies & PEI
Annee 2011-2012
Principales commandes
Manipulations de repertoires
pwd
cd
mkdir
rmdir
ls
Manipulation de fichiers
cp
mv
rm
cat
head
tail
wc
more
chmod
umask
chown
chgrp
Commandes diverses
man
clear
set
alias
ln
at
grep
diff
date
time
du
find
sort
dev
home
var
etud
info1
info2
lib
bin
info3
dupont
tmp
share
FORUM
sys
prog
CSH
liste.t
pub
SYS
demo.c
PROG
CSH
tp1.tx
tp2.tx
Caract`
eres g
en
eriques
Les caract`eres speciaux ou generiques (wildcard characters) permettent de designer un ensemble dobjets et notamment un ensemble de noms de fichiers. Ils sappliquent donc aux param`etres de commandes
designant des noms de fichiers.
Ils peuvent aussi designer un ensemble de chanes de caract`eres. On parle alors dexpressions reguli`eres
qui sappliquent aux commandes deditions (ex. vi, sed, ...) ou a
` des filtres (grep, awk, ...).
Les caract`
eres associ
es `
a des noms de fichiers
* designe toutes les chanes de caract`eres, y compris la chane vide ;
? designe un caract`ere quelconque ;
[c1 . . . cn ] designe un caract`ere quelconque appartenant a
` la liste c1 , . . . , cn . Deux caract`eres separes
par un tiret ([c1 c2 ]) definissent une liste de caract`eres ranges selon lordre ASCII, dont le premier
element est le caract`ere c1 et le dernier element le caract`ere c2 ;
[^c1 . . . cn ] designe une liste de caract`ere a
` exclure ;
{s1 , ..., sn } designe une liste de chanes de caract`eres.
Il est possible dannuler linterpretation dun caract`ere special en le faisant preceder de lantislash (\).
Lannulation de plusieurs caract`eres speciaux se fait en les encadrant de lapostrophe () ou de lapostrophe
double (").
Exercice II.3 (Caract`eres generiques)
Le repertoire courant contient les fichiers suivants : abc.s, a?c.svt, a\?c.svt, codage, codage.c, fichier.txt,
texte.
A quels fichiers correspondent les commandes suivantes :
1. ls *
2. ls *.*
3. ls *.?
4. ls ?.?
5. ls f*.txt
6. ls f*r
7. ls *c*t
8. ls a?c*
9. ls a/?c.*
10. ls a\?c.*
11. ls a\\\?c.*
12. ls *[ac]*
13. ls *[^ac]*
Exercice II.4 (Caract`eres generiques, bis)
Donner la commande qui permet dacher les fichiers ayant les caracteristiques suivantes :
1. un nom commencant et finissant par f
2. un nom commencant par f et finissant par a ou b
3. un nom commencant par f et ne finissant ni par a ni par b
4. un nom de trois lettres
5. un nom de trois lettres commencant par a, b ou c
6. un nom avec un suxe de trois lettres
7. un nom commencant par un chire
8. un nom contenant la chane abc ou def
9. un nom ayant a en premi`ere ou deuxi`eme position
Droits dacc`
es
` chaque fichier est associe un ensemble dindicateurs precisant qui peut acceder au fichier et selon
A
quel mode. Pour chaque fichier, il existe 3 types dutilisateurs :
le proprietaire du fichier (u pour user)
les membres du groupe proprietaire du fichier (g pour group)
les autres utilisateurs du syst`eme (o pour others)
Pour chaque fichier et par type dutilisateur, il existe 3 modes dacc`es :
autorisation de lecture (r pour read)
autorisation decritre (w pour write)
autorisation dexecution (x pour execute)
Pour un repertoire, les modes dacc`es ont un sens leg`erement dierent :
r autorise a
` lister le contenu du repertoire par la commande ls
w autorise la creation et suppression de fichiers dans le repertoire
x autorise a
` acceder au repertoire par la commande cd
Exercice II.5 (Droits dacc`es)
1. Determiner les types
r w x r w r
d r w x r
l
r w x r
et les droits
r
x w r
2. Quels sont les droits donnes au fichier essai par les commandes suivantes :
chmod 700 essai ; chmod 601 essai ; chmod 754 essai ; chmod 234 essai
3. Quels sont les droits donnes au fichier essai par les commandes suivantes (on consid`ere que les
commandes sont donnees les unes apr`es les autres) :
chmod a-rwx essai ; chmod u+r,go+x essai ; chmod g+w,o=w essai ; chmod u+x,go-x essai
Exercice II.6 (Droits dacc`es, bis)
On commence par taper les commandes suivantes :
$ who am i
dupont@localhost.fr
$ ls -l
d
d
d
r
r
r
r
r
w
w
w
x
x
x
x
r
r
-
r
r
-
dupond
dupont
dupont
dupont
dupont
dupont
dupond
codage
pgcd
reserve
resume.txt
secret.txt
vide
bilan
Redirections
Les commandes Unix utilisent 3 fichiers standards pour leurs entrees-sorties :
stdin : le fichier dentree standard, canal 0
stdout : le fichier de sortie standard, canal 1
stderr : le fichier de sortie derreur standard, canal 2. Quand une commande produit une erreur, le
message derreur est envoye sur cette sortie.
Cependant il est possible de recuperer le contenu des sorties standards dans des fichiers, ainsi que de
prendre le contenu dun fichier comme entree standard. Ces operations sont appelees des redirections.
< f ichier : redirection de lentree standard a
` partir de f ichier
> f ichier : redirection de la sortie standard vers f ichier
2> f ichier : redirection de la sortie derreur standard vers f ichier
>> f ichier : redirection de la sortie standard vers f ichier en ajout
cmd1 | cmd2 : redirection de la sortie standard de la commande cmd1 vers lentree standard de la
commande cmd2
Exercice II.7 (Redirections)
Le repertoire courant contient les fichiers suivants : essai.c, essai, essai.o, script.pl et script.res.
Pour chacune des instructions suivantes, que contiennent les fichiers de sortie ?
1. ls > f1
2. wc -w < f1
3. ls >> f1
4. wc -l < f1 > f2
5. (ls *.java > f1 ) 2> f2
6. (ls -l essai vide > f1 ) 2> f2
7. (ls -l essai.c > f1 ) 2> f2
8. ls -l | wc -l > f1
Exercice II.8 (cat et redirections)
La commande cat lit les donnees sur lentree standard jusqu`
a la rencontre dune marque de fin de fichier,
marquee par (C-d) et les place sur la sortie standard. La commande sort trie les donnees de lentree
standard vers la sortie standard. En utilisant lune ou lautre de ces deux commandes et les redirections,
1. comment faire la saisie dun fichier ?
2. comment copier un fichier ?
3. comment fusionner deux fichiers vers un troisi`eme ?
4. comment trier les donnees saisies au clavier ?
5. comment trier les donnees dun fichier vers un autre ?
6. comment fusionner deux fichiers en triant leurs donnees ?