Principales commandes

Transcription

Principales commandes
Initiation à l’informatique
II. Commandes Unix
Université de Provence
Licence Sciences et Technologies & PEI
Année 2011-2012
Principales commandes
Manipulations de répertoires
pwd
cd
mkdir
rmdir
ls
affiche le nom du répertoire courant
change le répertoire courant
crée un répertoire
supprime un répertoire (s’il est vide)
affiche la liste des fichiers et sous-répertoires d’un répertoire
Manipulation de fichiers
cp
mv
rm
cat
head
tail
wc
more
chmod
umask
chown
chgrp
copie un fichier source dans un fichier ou répertoire destination
change le nom d’un fichier ou le déplace
supprime un ou plusieurs fichiers et sous-répertoires
affiche le contenu d’un fichier texte
affiche le début d’un fichier
affiche la fin d’un fichier
compte les mots, lignes ou caractères d’un fichier
affiche le contenu d’un fichier texte page par page
modifie les droits d’un fichier
positionnement des droits par défaut
changement du propriétaire d’un fichier
changement du groupe d’un fichier
Gestion des processus
ps
top
kill
nice
affiche les informations sur les processus en mémoire
idem de façon dynamique et triée
envoie un signal à un processus
modifie la priorité d’un processus
Commandes diverses
man
clear
set
alias
ln
at
grep
diff
date
time
du
find
sort
affiche l’aide sur les commandes unix
efface l’écran (C-l)
affiche les variables d’environnement
définition de synonymes
lie un fichier à un autre
exécution différée d’une commande
recherche d’une chaı̂ne dans un fichier
compare le contenu de deux fichiers
affiche la date courante
affiche l’heure du système ou le temps d’exécution d’une commande
espace occupé sur le disque
recherche d’un fichier
filtre permettant l’affichage selon un critère de tri
Exercice II.1 (Chemins absolus et relatifs)
Nous considérons l’arborescence décrite dans la figure 1.
1. Le répertoire courant étant /home/etud/info1/dupont/sys, donner pour chaque référence relative
son équivalence en absolu :
(a) .
(b) ..
(c) ../../FORUM
1
/
dev
home
var
etud
info1
info2
lib
bin
info3
dupont
tmp
Mail
share
FORUM
sys
prog
CSH
liste.t
pub
SYS
demo.c
PROG
CSH
tp1.tx
tp2.tx
Figure 1 – Exemple d’arborescence
(d) ../../../info2
(e) ../../../../../var/lib
(f) CSH/liste.t
(g) ../prog
2. Le répertoire courant étant /home/etud/info1/dupont/sys, donner pour chaque référence absolue
son équivalence en relatif :
(a) /home/etud/info1/dupont
(b) /home/etud/info1/dupont/sys
(c) /home/etud/info1/dupont/sys/CSH/demo.c
(d) /home/etud
(e) /
(f) /var/share
(g) /home/etud/info1/FORUM
(h) /home/etud/info2
Exercice II.2 (Opérations sur les fichiers)
Nous considérons l’arborescence décrite dans la figure 1. Le répertoire courant étant /home/etud/info1/dupont/sys,
donner les instructions pour effectuer les opérations suivantes (dans l’ordre) :
1. copier le fichier /home/etud/info1/dupont/sys/CSH/liste.t dans le répertoire /home/etud/info2
2. supprimer le fichier /home/etud/info1/dupont/sys/CSH/demo.c
3. se déplacer dans le répertoire /home/etud/info1/dupont/sys/CSH
4. renommer le fichier liste.t en liste.txt
5. déplacer le fichier tp1.tx du répertoire /home/etud/info1/FORUM/pub/SYS/CSH dans le répertoire
/home/etud/info1/dupont/tmp
6. déplacer le fichier tp2.tx du répertoire /home/etud/info1/FORUM/pub/SYS/CSH dans le répertoire
/home/etud/info1/dupont/tmp mais en le renommant exo.txt
7. se déplacer dans /
8. se déplacer dans le répertoire de connexion
2
Caractères génériques
Les caractères spéciaux ou génériques (wildcard characters) permettent de désigner un ensemble d’objets et notamment un ensemble de noms de fichiers. Ils s’appliquent donc aux paramètres de commandes
désignant des noms de fichiers.
Ils peuvent aussi désigner un ensemble de chaı̂nes de caractères. On parle alors d’expressions régulières
qui s’appliquent aux commandes d’éditions (ex. vi, sed, ...) ou à des filtres (grep, awk, ...).
Les caractères associés à des noms de fichiers
– * désigne toutes les chaı̂nes de caractères, y compris la chaı̂ne vide ;
– ? désigne un caractère quelconque ;
– [c1 . . . cn ] désigne un caractère quelconque appartenant à la liste c1 , . . . , cn . Deux caractères séparés
par un tiret ([c1 − c2 ]) définissent une liste de caractères rangés selon l’ordre ASCII, dont le premier
élément est le caractère c1 et le dernier élément le caractère c2 ;
– [^c1 . . . cn ] désigne une liste de caractère à exclure ;
– {s1 , ..., sn } désigne une liste de chaı̂nes de caractères.
Il est possible d’annuler l’interprétation d’un caractère spécial en le faisant précéder de l’antislash (\).
L’annulation de plusieurs caractères spéciaux se fait en les encadrant de l’apostrophe (’) ou de l’apostrophe
double (").
Exercice II.3 (Caractères génériques)
Le répertoire 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ères génériques, bis)
Donner la commande qui permet d’afficher les fichiers ayant les caractéristiques suivantes :
1. un nom commençant et finissant par f
2. un nom commençant par f et finissant par a ou b
3. un nom commençant par f et ne finissant ni par a ni par b
4. un nom de trois lettres
5. un nom de trois lettres commençant par a, b ou c
6. un nom avec un suffixe de trois lettres
7. un nom commençant par un chiffre
8. un nom contenant la chaı̂ne abc ou def
9. un nom ayant a en première ou deuxième position
3
Droits d’accès
À chaque fichier est associé un ensemble d’indicateurs précisant qui peut accéder au fichier et selon
quel mode. Pour chaque fichier, il existe 3 types d’utilisateurs :
– le propriétaire du fichier (u pour user)
– les membres du groupe propriétaire du fichier (g pour group)
– les autres utilisateurs du système (o pour others)
Pour chaque fichier et par type d’utilisateur, il existe 3 modes d’accès :
– autorisation de lecture (r pour read)
– autorisation d’écritre (w pour write)
– autorisation d’exécution (x pour execute)
Pour un répertoire, les modes d’accès ont un sens légèrement différent :
– r autorise à lister le contenu du répertoire par la commande ls
– w autorise la création et suppression de fichiers dans le répertoire
– x autorise à accéder au répertoire par la commande cd
Exercice II.5 (Droits d’accès)
1. Déterminer 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
d’accès de chaque utilisateur pour chaque entrée :
essai
resume.txt
x bilan
w raccourci
2. Quels sont les droits donnés au fichier essai par les commandes suivantes :
– chmod 700 essai ; chmod 601 essai ; chmod 754 essai ; chmod 234 essai
3. Quels sont les droits donnés au fichier essai par les commandes suivantes (on considère que les
commandes sont données les unes après 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 d’accès, bis)
On commence par taper les commandes suivantes :
$ who am i
[email protected]
$ ls -l
d
d
d
r
r
r
r
r
w
w
w
x
x
x
x
r
r
-
-
x
r
r
-
-
x
dupond
dupont
dupont
dupont
dupont
dupont
dupond
codage
pgcd
reserve
resume.txt
secret.txt
vide
bilan
Que font alors les instructions suivantes ? Fonctionnent-elles ? Si non, pourquoi ?
$ cat resume.txt
$ more secret.txt
$ ./pgcd
$ ./codage
$ chmod 777 codage
$ ls reserve
$ cp resume.txt pgcd
$ rm pgcd
$ ls bilan
$ cd bilan
4
Redirections
Les commandes Unix utilisent 3 fichiers standards pour leurs entrées-sorties :
– stdin : le fichier d’entrée standard, canal 0
– stdout : le fichier de sortie standard, canal 1
– stderr : le fichier de sortie d’erreur standard, canal 2. Quand une commande produit une erreur, le
message d’erreur est envoyé sur cette sortie.
Cependant il est possible de récupérer le contenu des sorties standards dans des fichiers, ainsi que de
prendre le contenu d’un fichier comme entrée standard. Ces opérations sont appelées des redirections.
– < f ichier : redirection de l’entrée standard à partir de f ichier
– > f ichier : redirection de la sortie standard vers f ichier
– 2> f ichier : redirection de la sortie d’erreur 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 l’entrée standard de la
commande cmd2
Exercice II.7 (Redirections)
Le répertoire 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 données sur l’entrée standard jusqu’à la rencontre d’une marque de fin de fichier,
marquée par (C-d) et les place sur la sortie standard. La commande sort trie les données de l’entrée
standard vers la sortie standard. En utilisant l’une ou l’autre de ces deux commandes et les redirections,
1. comment faire la saisie d’un fichier ?
2. comment copier un fichier ?
3. comment fusionner deux fichiers vers un troisième ?
4. comment trier les données saisies au clavier ?
5. comment trier les données d’un fichier vers un autre ?
6. comment fusionner deux fichiers en triant leurs données ?
5

Documents pareils