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

  1. tapez "sleep 120". Quel est le PID de la commande sleep. Quel est celui de son processus père ? Quand reprenez-vous la main ?
  2. 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.
  3. affichez l'arborescence de vos processus
  4. 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.
  5. tapez "sleep 600". Comment faites-vous depuis le shell de lancement:
  6. Quand c'est possible, indiquez comment réaliser ces opérations depuis un autre shell que le shell de lancement
  7. Comment aurait-on du procéder pour lancer cette commande directement en tâche de fond ?

exercice 2: redirections

  1. sauvegardez la liste des fichiers présents dans /etc dans un dossier nommé /tmp/liste.txt
  2. ajoutez y la liste des fichiers présents dans /usr/bin et dans /var/log
  3. sauvez dans un fichier la liste des noms et espaces disques occupé du contenu de /var : une ligne par fichier/dossier contenu dans /var
  4. 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

  1. comptez le nombre de fichiers présents dans le dossier /etc
  2. combien y a-t-il de comptes contenant la lettre 'o' dans leur nom ?
  3. donnez une ligne de commande permettant d'afficher le contenu du fichier /etc/passwd à partir de la ligne 5
  4. donnez une ligne de commande permettant d'afficher le contenu du fichier /etc/passwd jusqu'à la ligne 12
  5. donnez une ligne de commande permettant d'afficher les lignes 5 à 12 du fichier /etc/passwd
  6. 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 :