Shell : contrôle continu No 1
Durée: 1h30. Les supports de cours et de TP ainsi que les pages de
manuel du système sont autorisés. Aucun accès WeB ou internet autorisé.
Les téléphones mobiles sont interdits.
Vous m'enverrez par mail à l'adresse pascal.petit@shayol.org le
fichier contenant les réponses aux questions (ou via la clef USB que je
vos ferai passer en fin de séance). Quand c'est pertinent, vous
incluerez la commande et le résultat obtenu.
Exercice 1
- donnez une ligne de commande permettant de connaître le
nombre d'entrées (i.-e. le nombre de fichiers et dossiers) présents à la racine de /home
- donnez une ligne de commande permettant d'afficher les lignes 10
à 17 du fichier /etc/passwd de votre poste
- le fichier /etc/passwd est constitué de champs
séparés par le caractère ":". L'un de ces champs contient le dossier personnel de
l'utilisateur. Donnez une commande permettant d'obtenir la liste des dossiers personnels des utilisateurs du système.
- Donnez une commande permettant d'afficher les dossiers personnels
communs à plusieurs utilisateurs (i.-e. les dossiers personnels qui
apparaissent sur plusieurs lignes de /etc/passwd)
Exercice 2 expansion des noms de fichiers
Donnez l'argument à donner à la commande ls pour afficher
- tous les fichiers commençant par la lettre A majuscule;
- tous les fichiers finissant par les caractères ".txt" et commençants par un chiffre.
- les fichiers dont le nom fait exactement 3 caractères
- les fichiers commençant par un chiffre ou le
caractère \
- les fichiers dont le nom a un a en première et deuxième position
Exercice 3
- Donnez la ligne de commande permettant de faites en sorte que la
liste des fichiers et dossier présents directement dans le dossier /etc
soit dans un fichier nommé /tmp/liste.txt.
- Donnez
la ligne de commande permettant d'ajouter liste des fichiers et dossier
présents directement dans le dossier /var au fichier
/tmp/liste.txt.
Exercice 4
Dans cet exercice, on travaille avec le fichier fournitures.txt. Ce fichier contient les commandes de
fournitures de bureau d'un service administratif. Les lignes sont
constitués de champs séparés par le caractère ":". Elles ont la forme
suivante:
nom:prénom:bureau:ville:article commandé:prix
- écrire une fonction listePrénoms qui
affiche la liste des Prénoms des membres du service. Chaque prénom ne doit apparaître qu'une seule fois.Dans cette question et dans les suivantes, si vous ne savez pas écrire une
fonction, vous pouvez fournir la (les) commande(s) permettant d'obtenir la liste
des articles commandés (avec évidemment une légère pénalité sur la notation).
- écrire une fonction listeOccupantBureau qui
affiche la liste des nom et prénom des différents occupant d'un bureau.
Le numéro de bureau sera passé en paramètre à la fonction. Chaque
personne doit apparaître une seule fois.
- écrire une fonction listeNombrePrénoms qui
affiche la liste des Prénoms des membres du service et, pour chaque prénom, le nombre de fois qu'il apparaît.