:: Enseignements :: Licence ::
L1
:: 2008-2009 :: Unix ::
![[LOGO]](http://igm.univ-mlv.fr/ens/resources/mlv.png) | Redirections |
Prise en main des redirections et tubes de commandes.
Rappel des redirections:
- < redirection de l'entrée standard depuis un fichier donné
-
> redirection de la sortie standard vers un fichier donné
-
2> redirection de la sortie d'erreur vers un fichier donné
-
>> redirection de la sortie standard vers la fin d'un fichier donné
-
| tube de la sortie standard d'une commande vers l'entrée standard d'une autre
-
$(\ldots) utilisation en ligne de commande de la sortie d'une commande
Exercice 1 - Redirections de base
-
Écrivez votre nom dans un fichier nom via l'entrée standard (cat).
- Écrivez votre prénom grâce à echo dans un fichier prénom.
- À l'aide de redirections, concaténez les deux fichiers dans un fichier id.
Exercice 2 - Tubes
wc (word count) est une commande qui compte le nombre de lignes et de mots dans le fichier passé en argument ou, s'il n'en a pas, dans l'entrée standard.
- Quelles sont les différences entre les quatre commandes suivantes?
wc toto.c
wc < toto.c
cat toto.c | wc
wc $(echo toto.c)
- Écrivez une commande renvoyant le nombre d'utilisateurs connectés à votre machine (who, wc).
- Affichez page par page la liste de tous les fichiers vous appartenant (ls, grep).
- Recherchez dans le répertoire /home/ens/ et ses sous-répertoires tous les fichiers dont le nom commence par une lettre majuscule et se termine par le suffixe .jpg (find).
- Modifiez la commande précédente pour sauvegarder la liste de ces fichiers dans le fichier res. Les éventuels messages d'erreur apparaîtront toujours à l'écran.
- Modifiez la commande précédente pour lancer la commande display sur chacun des fichier trouvés.
- Écrivez une commande qui supprime tous les fichiers core de taille non nulle de votre arborescence personnelle (find, rm).
- Écrivez une commande qui supprime les droits en lecture sur tous vos fichiers pour les utilisateurs qui ne sont pas de votre groupe.
Exercice 3 - ps et top
- Lancez un terminal graphique en arrière-plan (xterm) qui affichera en permanence la liste des processus et des ressources qu'ils utilisent; vous y reviendrez par moments pour suivre la progression des processus.
- Affichez la liste de tous les processus vous appartenant, puis la liste complète des processus qui s'exécutent sur votre machine.
- Affichez hiérarchiquement tous les processus.
- Donnez une commande permettant d'afficher les numéros des processus actifs qui vous appartiennent (cut).
- Donnez une commande permettant d'afficher les processus firefox tournant sur votre machine.
- Affichez les processus en cours dont le nom se termine par d.
Exercice 4 - Signaux
- Lancez un terminal graphique en avant-plan, faites-le passer à l'arrière-plan, puis à nouveau à l'avant-plan; tuez-le directement.
- Lancez un terminal graphique en tâche de fond, repérez son identifiant (PID), tuez-le en envoyant le signal KILL, réessayer avec le signal INT (kill).
- Faites de même en envoyant le signal non pas au xterm mais au processus de shell qu'il éxécute.
- Réessayez la question précédente après avoir utilisé trap pour que le shell en question affiche ``ARGH'' quand on lui envoie le signal. Observez.
- Lancez trois processus gv. Les interrompre tous en une commande (killall).
© Université de Marne-la-Vallée