TI307 - Introduction aux systèmes Linux
TP noté - Durée: 1h
À absolument lire !
• Le travail est individuel.
• Vous devez créer un fichier nom_prenom_groupe.md, c’est votre fichier réponse. Ce fichier sera
à déposer sur moodle à la fin de l’épreuve.
• Pour chaque question, indiquez bien le numéro de question,reportez les commandes utilisées et la
sortie (si demandée) dans le fichier réponse.
Séparez chaque question par la chaîne ––-. Un exemple de ce qui est attendu est donné ci-dessous:
Exercice 1
1 $ ls
file1 file2
---
2.a $ cat file1
Hello
---
2.b $ cat file2
World
---
• Aucun support de cours n’est autorisé. Utilisez man si besoin.
• Enfin créer un répertoire tpnote dans votre répertoire personnel, et déplacez-vous dedans. Le TP
doit être réalisé dans ce répertoire.
Exercice 1. .
1. Dans le répertoire tpnote, créer l’arborescence suivante:
tpnote
|-- files
| |-- file-1.txt
| |-- file-2.txt
| |-- file-a.txt
| `-- file-b.txt
`-- images
|-- png
| |-- img-1.png
| |-- img-2.png
| `-- img-a.png
`-- jpg
|-- img-1.jpg
|-- img-2.jpg
`-- img-a.jpg
EFREI PARIS Rado Rakotonarivo
TI307 - INTRODUCTION AUX SYSTÈMES LINUX TP NOTÉ - DURÉE: 1H
Dans cet exercice, les noms file* et img* désignent des fichiers ordinaires tous les autres noms désig-
nent des répertoires.
2. Redirigez ensuite la sortie standard de la commande tree sur le répertoire tpnote dans votre fichier
réponse.
3. Depuis le répertoire tpnote, créez un fichier img-b.jpg dans le répertoire jpg.
4. Créez ensuite un répertoire copy dans le répertoire files. Et déplacez vous y.
a) En utilisant un chemin relatif, créez des copies des fichiers img-1.jpg et img-2.jpg dans le
répertoire copy.
b) En utilisant un chemin absolu, déplacez les fichiers img-a.jpg et img-a.jpg dans le répertoire
copy.
5. Revenez ensuite dans le répertoire tpnote puis rediriger la sortie de la commande tree sur le répertoire
courant dans votre fichier réponse.
6. Supprimez les répertoires files et images et tous leurs contenus.
Exercice 2. Dans le répertoire tpnote, créez un fichier script avec le contenu suivant:
#!/bin/bash
echo "Un scirpt est un fichier exécutable dans lequel on peut
écrire des commandes que le shell va executer en exécutant le
script."
1. Affichez les permissions du fichier script et rediriger le résultat dans votre fichier réponse.
2. En utilisant la représentation symbolique des permissions, modifiez les permissions du fichier script
pour qu’il soit exécutable par l’utilisateur. Afin de vérifier que les permissions ont bien été modifiées,
affichez les permissions du fichier script et redirigez le résultat dans votre fichier réponse.
3. Exécutez le script script et redirigez la sortie standard dans votre fichier réponse.
4. En utilisant la représentation en octal des permissions, modifiez les permissions de script de telle sorte
à ce qu’elles deviennent –-x–x–x. Affichez les permissions du fichier script et redirigez le résultat dans
votre fichier réponse.
5. Exécutez le script script et redirigez toutes les sortie dans votre fichier réponse. Quelle permission
faudrait-il rajouter au fichier script pour qu’il soit de nouveau exécutable par l’utilisateur ? Modifier
les permissions du fichier script en conséquence. Et affichez les permissions du fichier script et
redirigez le résultat dans votre fichier réponse.
Exercice 3. La commande sort permet de trier les lignes d’un fichier passé en argument. Par exemple, pour
un fichier file.txt contenant:
c
a
b
la commande:
$ sort file.txt
trie les lignes du fichier file.txt et affiche:
2/3
TI307 - INTRODUCTION AUX SYSTÈMES LINUX TP NOTÉ - DURÉE: 1H
a
b
c
sur la sortie standard. sort ne modifie pas le fichier file.txt et par défaut, il trie les lignes dans l’ordre
lexicographique. Et invoquée sans argument, elle trie les lignes de l’entrée standard.
1. Listez tous les fichiers du répertoire /usr/include dont le nom commence par std et qui se termine
par .h, et redirigez la sortie standard dans votre fichier réponse.
Un exemple de sortie est:
/usr/include/stdc-predef.h /usr/include/stdio_ext.h /usr/include/stdlib.h
/usr/include/stdint.h /usr/include/stdio.h
2. En utilisant une substitution de commande sur la commande précédente, et la commande wc, affichez
le nombre d’octets de tous les fichiers listés et redirigez le résultat dans votre fichier réponse.
Un exemple de sortie est:
2290 /usr/include/stdc-predef.h
8474 /usr/include/stdint.h
2800 /usr/include/stdio_ext.h
29950 /usr/include/stdio.h
35835 /usr/include/stdlib.h
79349 total
3. L’option -n de la commande sort permet de trier les lignes numériquement. En utilisant les tubes de
redirections, et en vous aidant des commandes des questions précédentes et de la commande sort, triez
les fichiers de la question 1 en fonction de leur taille et redirigez le résultat dans votre fichier réponse.
Un exemple de sortie est:
2290 /usr/include/stdc-predef.h
2800 /usr/include/stdio_ext.h
8474 /usr/include/stdint.h
29950 /usr/include/stdio.h
35835 /usr/include/stdlib.h
79349 total
3/3