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

  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. 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 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 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 d'étudiants de l3 ? (hint: ypcat passwd permet d'obtenir la liste totale des comptes utilisateurs du domaine)
  3. que fait la commande suivante: df -k . | tail -1|tr -s ' ' |cut -d ' ' -f 4
  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")
  5. 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).
  6. 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