UNIX
TP
Exercice 1 Interpréteurs
1. Afficher la liste des répertoires de connexion des utilisateurs déclarés dans le fichier
/etc/passwd
2. On rappelle qu’à chaque utilisateur est associé un interpréteur de commandes (shell)
lancé lors de son login. La commande correspondante est indiquée dans le 7me champ
du fichier /etc/passwd. Faire Afficher ces interpréteurs.
3. Afficher en une ligne de commande le nombre d’interpréteurs de commandes différents
mentionnés dans /etc/passwd
Exercice 2 Découpage intelligent
On dispose d’un fichier texte [Link] ci dessous contenant un petit carnet d’adresses.
Chaque ligne est de la forme “nom prenom numerotelephone“. Les champs sont séparés par
des tabulations. Répondre aux questions suivantes en utilisant à chaque fois une ligne de
commande shell:
Durand Emilie 0381818585
Terieur Alex 0478858689
Tinrieur Georges 0563868985
Dupond Albert 04961868957
Dupont Emilie 02971457895
Dupond Albertine 0131986258
Bouvier Jacques 0381698759
Zeblues Agathe 0685987456
Dupond Agnès 0687598614
Dumont Patrick 04661645987
Dupond Elisabeth 0654896325
Houtand Laurent 0658769458
1. Afficher le nombre de personnes dans le répertoire.
2. Afficher toutes les lignes concernant les “Dupond”.
3. Afficher toutes les lignes ne concernant pas les “Dupond”.
4. Afficher le numéro de téléphone (sans le nom) du premier “Dupond“ apparaissant dans
le répertoire.
5. Afficher le numéro de téléphone (sans le nom) du premier ”Dupond” dans l’ordre alphabé-
tique (ordre basé sur les prénoms).
Exercice 3 sed
Soit le fichier c ontenant l es l ignes :
asterix ; 20
tintin / haddock ; 20
tif / tondu ; 30
theodore poussin ; 40
spirit ; 30
Avec la commande sed, faites les modifications s uivantes ( elles s eront t raitées indépendam-
ment les unes des autres) :
1. remplacer les lettres < ; > par un < ! >
2. remplacer les lettres < t > en début de ligne par un < T >
3. remplacer les lettres < / > précédé d’un espace par une virgule
4. remplacer les lettres < / > par une virgule et les caractère < ; > par un < @ > en une
seule commande sed
5. ne pas afficher les lignes 2 à 4
6. supprimer les lignes contenant 30
7. supprimer les lignes ne contenant pas 20
8. remplacer les nombres apparaissant par < 19NN > où NN était le nombre avant modi-
fication
Exercice 4 Pour aller plus loin... (facultatif)
Tenter d’établir les commandes suivantes en seule ligne.
1. Rechercher vos fichiers de configuration (fichiers dont le nom commence par . et finit par
rc) dans votre répertoire personnel et rechercher parmi eux ceux comportant les chaînes
start ou init.
2. Rechercher les photos (fichier d’extension .jpg ou jpeg) dans vos répertoires personnels
et supprimer les si leur taille est supérieur à un Mégaoctet.
3. Sachant que ce dernier a une taille supérieur à un Mégaoctet, trouver le plus gros fichier
situé à l’intérieur de /usr/share/doc/ (ou dans un de ces sous-répertoire).
4. (non en une ligne de commande) Télécharger les sources d’un noyau linux sur le site
[Link] et tenter de trouver un script écrit en langage C pour faire du
tri.