Licence Pro GSI: scripts sous unix/ TD No1
Objectifs du TD : processus, redirection et enchaînement 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
- Quand c'est possible, 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/dossier 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 4: filtres usuels
regardez le manuel et testez les commandes tail, head, sort, uniq, grep, wc, tr, cut, more.
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 contenant la lettre 'o' dans leur nom ?
- donnez une ligne de commande permettant d'afficher le contenu du fichier /etc/passwd à partir de la ligne 5
- donnez une ligne de commande permettant d'afficher le contenu du fichier /etc/passwd jusqu'à la ligne 12
- donnez une ligne de commande permettant d'afficher les lignes 5
à 12 du fichier /etc/passwd
- le fichier /etc/passwd est constitué de champs
séparés par le caractère :. Le dernier champ (a
priori, le 7e champ, cf "man 5 passwd" pour plus d'informations)
contient le shell de l'utilisateur. Donnez une commande permettant de
connaitre le nombre de shells différents utilisés par les
utilisateurs présents dans /etc/passwd. Un même shell
utilisé par plusieurs utilisateurs ne doit être
compté qu'une seule fois.
Sources
une partie des exercices du présent TD s'inspire des sources
suivantes :