unité libre: scripts sous unix/ TD No2
Objectifs du TD : gestion des processus, redirection,
enchaînements de commandes
exercice 1: hiérarchie de processus, recouvrement, commandes
internes/externes
- tapez "sleep 120". Quel est le PID de la commande sleep. Quel est
celui de son processus père ? Quand reprenez-vous la main ?
- tapez "exec sleep 120".Quel est le PID de la commande sleep. Quel
est celui de son processus père ? Expliquez les
différences avec la situation ci-dessus et ce qui se passe une
fois que la commande "sleep 120" est finie.
- affichez l'arborescence de vos processus
- notre shell est bash. Précisez pour chacune des commandes
suivantes si elles sont internes, externes et, dans ce cas, le chemin
absolu du fichier correspondant: : ls, exec, cd, w,time.
- tapez "sleep 600". Comment faites-vous depuis le shell de
lancement:
- reprendre la main en suspensant la commande
- relancer la commande suspendue
- la susprendre et la relancer en tâche de fond
- Indiquez comment réaliser ces opérations depuis un
autre shell que le shell de lancement
- Comment aurait-on du procéder pour lancer cette commande
directement en tâche de fond ?
exercice 2: redirections
- sauvegardez la liste des fichiers présents dans /etc dans
un dossier nommé /tmp/liste.txt
- ajoutez y la liste des fichiers présents dans /usr/bin et
dans /var/log
- sauvez dans un fichier la liste des noms et espaces disques
occupé du contenu de /var : une ligne par fichier contenu dans
/var
- faites de même mais sauvez aussi dans /tmp/erreurs la liste
des erreurs générée par votre commande
Exercice 3: enchaîments de commandes, filtres
- comptez le nombre de fichiers présents dans le dossier /etc
- combien y a-t-il de comptes d'étudiants de l3 ? (hint:
ypcat passwd permet d'obtenir la liste totale des comptes utilisateurs
du domaine)
- que fait la commande suivante: df -k . | tail -1|tr -s ' ' |cut
-d ' ' -f 4
- liste des fichiers triès par taille: affichez la
liste des fichiers d'un dossier triés par taille. L'affichage
doit comprendre la taille du fichier puis son nom (hint: regardez "ls
-s")
- utilisateurs connectés: Écrire une commande
qui liste les login des utilisateurs connectés sur la machine
au moment où on lance la commande (hint: regardez la commande
who).
- utilisateurs connectés: Écrire une commande
qui liste les noms des utilisateurs connectés sur la machine
au moment où on lance la commande (hint: regardez la commande
finger).
exercice 4: premiers scripts shells
Bibliographie/liens utiles