TP4

Transcription

TP4
DUT 1re Année
Année 2012-2013
Université de Marne la Vallée
UNIX
TP n◦4
Exercice 1 Redirection des entrées/sorties
1. Redirection de la sortie standard : le symbole >
- Exécutez ls dans un terminal. Tapez ensuite ls > toto, puis réexécutez ls.
Vous remarquez qu’un nouveau fichier appelé toto a été créé. Lisez son contenu
à l’aide de la commande less.
- Exécutez maintenant la commande ls -l > toto. Consultez à nouveau le contenu de toto.
- Enfin, exécutez la commande ls >> toto. Consultez toto.
- Concluez sur le rôle de > et >>.
2. Redirection de l’entrée standard : le symbole <
- Comparez les résultats de wc < toto et wc toto. Expliquez la différence.
- Mettez le résultat de wc < toto dans le fichier sortie.
3. Redirection d’erreur standard
- Exécutez la commande wc tutu. Comme le fichier tutu n’existe pas, wc vous
renvoie une erreur.
- Exécutez maintenant wc tutu > sortie. Regardez le contenu de sortie.
- Essayez maintenant wc tutu $ > erreur et regardez le contenu de erreur.
Exercice 2 Tuyaux et filtres
1. Exécutez ls -l /dev. Le répertoire /dev contenant un grand nombre de fichiers, leur
listing ne tient pas dans votre terminal. À l’aide des redirections, utilisez la commande
less pour lire le listing du répertoire /dev.
2. Le problème de la technique précédente est que vous avez dû créer un fichier. Afin de
visualiser agréablement le contenu de /dev sans utiliser de fichier inutile, utilisez un tube
(pipe, |).
3. Affichez maintenant le nombre d’éléments de /dev sans créer de fichier inutile.
4. Dans la commande suivante, identifiez les différents processus créés par la console. Parmi
ces derniers, lesquels utilise des accès (en lecture ou écriture) au disque dur. Expliquez.
cat telephone.txt | cat | cat | sed -e "s/t/T/" | tee cible | wc -l
Exercice 3 Gestion des processus
1. Affichez de deux manières différentes, la liste de tous les processus qui vous appartiennent.
2. Ouvrez une fenêtre horloge avec la commande xclock -update 2 (vous constatez que
l’horloge tourne mais que le shell est suspendu)
puis suspendez-la (vous constatez que le processus horloge ne tourne plus, mais que le
shell est revenu en avant-plan).
Regardez l’état de ce processus avec la commande jobs.
Relancez-le en arrière-plan (les aiguilles tournent à nouveau).
Et vérifiez avec la commande jobs. Puis tuez-le.
3. Relancez cette horloge, mais cette fois-ci directement en arrière-plan (c’est-à-dire de façon
détachée du shell).
Comment tuer ce processus horloge depuis une autre fenêtre terminal (c’est-à-dire depuis
un autre shell, où la commande jobs ne voit pas le processus en question ?).
Exercice 4 Filtres et redirections
1. (a) Télécharger et décompresser le fichier Poesies.tgz sur le site
http://www-igm.univ-mlv.fr/˜borie/unix.php.
(b) Afficher les 15 premières lignes du fichier Verlaine.txt, les 15 dernières lignes, les
lignes 15 à 20.
(c) Afficher la cinquième ligne du fichier Verlaine.txt ?
(d) Compter le nombre de lignes du fichier Verlaine.txt.
2. (a) Numéroter et mélanger les lignes du poème Verlaine.txt grâce aux commandes
cat et shuf et sauvegarder ce mélange dans un fichier Verlaine_en_vrac.txt.
(b) Afficher les lignes du fichier Verlaine_en_vrac.txt.
(c) Affichez les lignes de ce fichier triées en ordre croissant, suivant le nombre placé en
début de ligne.
(d) Triez ces lignes par ordre alphabétique inverse.
(e) Remplacer le caractère : par le caractère !.
(f) Remplacer le caractère : par le caractère /.
(g) Éliminer de chaque ligne le chiffre numérotant la ligne (Le fichier est peu être déjà
bien ordonné avec des tabulations...).
(h) Appliquer la question précédente tout en supprimant le titre (lignes 1 et 2) et le
nom de l’auteur (contient VERLAINE).
(i) Supprimer également les lignes vides.
(j) Sauvegarder le résultat de la question précedente dans un fichier Verlainebis.txt.
3. À partir du fichier Verlaine.txt (facultatif... introduction aux systèmes de gestion de
versions)
(a) Remplacer les caractères t par des T et sauvegarder cette nouvelle version sous le
nom Verlaine_t.txt.
(b) Fabriquer un patch à l’aide de la commande diff entre les fichiers Verlaine.txt
et Verlaine_t.txt.
(c) Appliquer ce patch au fichier original Verlaine.txt en utilisant la commande
patch.
(d) Constater l’égalité des fichiers Verlaine.txt et Verlaine_t.txt par la nullité du
fichier diff qui les relie.

Documents pareils