unité libre: scripts sous unix/ TD No1

Objectifs du TD :  commandes sur les fichiers et commandes de base, processus, redirection et enchaînement de commandes.

Exercice 1: droits d'accès

Commande chmod
Commande umask

exercice 2: 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 3: 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 4: 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. donnez une ligne de commande permettant d'afficher les lignes 5 à 12 du fichier /etc/passwd
  4. 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 ls 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 :