Administration Unix - TP séance 01
Tous les exercices sont à faire sur un système Linux, de préférence Ubuntu.
Exercice 1 : prise en main du terminal et de vi
1.1. Le terminal Gnome sur Ubuntu
Pour ouvrir un terminal, pressez simultanément les 3 touches Ctrl+Alt+T.
Dans la plupart des logiciels avec une interface graphique, les copier-coller se font avec Ctrl+C (copier), Ctrl+V (coller), Ctrl+X (couper).
Dans un terminal, il faut presser en plus Shift ; il faut donc faire Ctrl+Shift+C (copier), Ctrl+Shift+V (coller), Ctrl+Shift+X (couper).
Vous pouvez rajouter un nouvel onglet dans un terminal avec Ctrl+Shift+T, et une nouvelle fenêtre avec Ctrl+Shift+N.
Dans le terminal, vous pouvez rappeler les commandes précédentes avec les flèches Up et Down, compléter une commande en appuyant sur la touche Tab, faire un recherche dans les commandes précédentes avec Ctrl+R, vider le terminal avec Ctrl+L.
1.2. Éditeur vi
Les activités d'administration système se font très souvent dans un terminal
distant, sans mode graphique. Il existe un éditeur de texte qui fonctionne dans
un terminal et qui est disponible sur tous les systèmes Unix : vi
(prononcer "vie ail").
Cet éditeur est très puissant et vous fera gagner beaucoup de temps lorsque vous le maîtriserez, mais son fonctionnement au premier abord est un peu déroutant.
En effet, il y a 2 modes :
- le mode "commande", vous y êtes par défaut. Les touches provoquent des actions,
par exemple :
x
supprime un caractère,i
passe en mode insertion,:q
Enter quittevi
; - le mode "édition" : ce que vous tapez est inséré dans le texte ; pressez Esc (la touche Échap) pour revenir au mode commande.
La version de vi
que nous allons utiliser est en réalité vim
(vi iMproved) et
nous allons la découvrir à l'aide de son tutoriel vimtutor
.
Sur les machines en salle de TP, vim
et vimtutor
sont déjà installés ;
si vous travaillez sur votre ordinateur portable, vous pouvez installer
vim
et vimtutor
sur Ubuntu en tapant :
$ sudo apt install vim vimtutor
En cas d'erreur d'installation (paquet
vimtutor
non trouvé), essayez :$ sudo apt update $ sudo apt install vim
Maintenant, ouvrez un terminal et tapez
$ vimtutor
Si vous vous retrouvez face à une fenêtre vide, ou un texte en anglais, vous pouvez à la place télécharger le fichier vimtutor-fr.txt ; copiez-le par exemple dans le répertoire
Bureau
, puis tapez dans un terminal :$ cd ~/Bureau` $ vim vimtutor-fr.txt
Suivez les leçons jusqu'au résumé de la leçon 4 inclus, sans y passer plus d'une demi-heure (vous pourrez étudier la suite du tutoriel plus tard).
1.3. Consignes
Dans la suite, tous les exercices devront être réalisés dans un terminal et
avec vi
pour éditer votre fichier de réponses.
Dans le terminal, après avoir quitté vimtutor
, créez un répertoire
Bureau/AdminUnix/
avec la commande mkdir
, allez dedans avec la commande cd
, puis éditez votre
fichier de réponses en tapant
$ vi tp01-reponses.txt
Commencez à écrire en haut du fichier vos noms et prénoms ; enregistrez
fréquemment en tapant Esc :w
Enter
Ce fichier contiendra uniquement les réponses aux questions à partir de l'exercice 2 ; n'y mettez pas les manipulations de cet exercice 1, ni la sortie des commandes.
Rendu de la séance
À la fin de la séance, vous déposerez votre fichier de réponses sur la page Ametice en suivant bien les instructions, même si vous n'avez pas fini la planche ; lorsque vous aurez terminé (chez vous), vous pourrez re-déposer la version finale.
Exercice 2 : les options de la commande ls
Pour découvrir les options de ls, ouvrez un second terminal et tapez :
$ man ls
Tapez :
Space | pour passer à la page suivante |
b |
pour revenir à la page précédente |
/ motclé |
pour rechercher un mot clé |
n |
pour rechercher la prochaine occurrence du mot clé |
N |
pour rechercher la précédente occurrence |
h |
pour l'aide de man |
q |
pour quitter man |
Remarque : comme pour la plupart des commandes Unix, les options en une seule
lettre peuvent être regroupées, par exemple ls -l -a -i
en ls -lai
.
a) Listez le contenu du répertoire /etc
en triant par ordre inverse de
la date de modification des fichiers (le plus ancien en premier).
b) Listez de manière étendue (option -l
) les fichiers du répertoire /dev
qui commencent par std
, en affichant dans le cas des liens, les droits du
fichier pointé au lieu des droits du lien lui-même (cherchez dans le man
de
ls
: dereference
). Remarque : le caractère *
correspond à toutes les
chaînes.
c) Que renvoie la commande suivante :
$ ls -aihn
Exercice 3 : la commande find
a) Rechercher dans le répertoire /sbin
les fichiers plus gros que 20 ko.
b) Rechercher dans le répertoire /usr
les fichiers dont le nom commence par
un a
, et qui ont été modifiés après le fichier /etc/passwd
.
c) Rechercher dans le répertoire /etc
les répertoires dont le nom fait 3
lettres avec une voyelle parmi a
,e
,i
comme caractère du milieu,
indépendamment de la casse (majuscule ou minuscule).
- Remarque : dans la chaîne de recherche (à protéger entre des
""
), *
correspond à n'importe quelle chaîne de caractère,?
correspond à exactement 1 caractère,[abc]
correspond à 1 caractère parmi ceux entre crochets.
Exercice 4 : les droits
a) Créez un répertoire /tmp/testRep
, et une arborescence de sous-répertoires et
de fichiers comme celle qui est présentée ci-dessous, en créant si possible
les sous-répertoires en même temps avec : mkdir -p
.
Utilisez les flèches du clavier pour rappeler les commandes précédentes.
Vous pouvez également recopier de manière récursive avec : cp -rp
.
Positionnez les droits avec umask
et chmod
(les droits standards sont ici
rwx r-x r-x
pour un répertoire, et rw- r-- r--
pour un fichier).
testRep droits standards
├── repertoire1 droits standards
│ └── repertoire droits standards
│ └── fichier droits standards
├── repertoire2 r-- r-x r-x
│ └── repertoire droits standards
│ └── fichier droits standards
├── repertoire3 --x r-x r-x
│ └── repertoire droits standards
│ └── fichier droits standards
└── repertoire4 --- r-x r-x
└── repertoire droits standards
└── fichier droits standards
b) Pouvez vous lister le contenu des sous-répertoires repertoire
(1
à 4
) ?
Et pouvez vous changer le répertoire courant du shell dans ces répertoires ?
Pourquoi ?
c) Pouvez vous créer une archive contenant l'arborescence que vous venez de créer ? Pourquoi ?
Exercice 5 : la commande tar
a) Créez un répertoire /tmp/TP1
. En utilisant la commande wget
, copiez y les
fichiers :
https://pageperso.lis-lab.fr/~edouard.thiel/ens/adunix/pub/exemple1.tar
https://pageperso.lis-lab.fr/~edouard.thiel/ens/adunix/pub/fichier1
b) Listez le contenu de l'archive exemple1.tar
.
c) Extrayez le contenu de l'archive. Qu'advient-il des droits des fichiers ? Du propriétaire et du groupe des fichiers ?
d) Quelles sont les possibilités pour créer une archive contenant le contenu
original de exemple1.tar
plus le fichier fichier1
?