Énoncé 10 : Outils Linux
Introduction
Durée
1 heure 30
Mots-clés
recherche, filtrage, triage, affichage.
Objectif
À l’issue de ce chapitre, vous saurez :
-
rechercher des fichiers selon certains critères et leur appliquer un traitement ;
-
filtrer le contenu de fichiers et les sorties de commandes avec des expressions régulières ;
-
trier et scinder des données ;
-
afficher partiellement le contenu de fichiers.
Ces exercices correspondent au chapitre 12 "Outils Linux" du livre "Linux - Principes de base de l’utilisation du système 8e édition" dans la collection Ressources Informatiques aux Éditions ENI.
Matériel à prévoir
Ces exercices peuvent être réalisés sur n’importe quelle distribution Linux où le lecteur possède un compte utilisateur valide ; le compte utilisateur tux est utilisé en correction des énoncés.
Prérequis
Pour valider les prérequis nécessaires, avant d’aborder le TP, répondez aux questions ci-après :
1. |
Quelle commande permet de rechercher des fichiers suivant différents critères ? |
|
a. |
ls |
|
b. |
find |
|
c. |
seek |
|
d. |
locate |
|
2. |
Quelles commandes permettent de filtrer le contenu de fichiers ou de sorties de commandes avec des expressions régulières ? |
|
a. |
head |
|
b. |
tail |
|
c. |
grep |
|
d. |
ls |
|
e. |
sed |
|
f. |
awk |
|
3. |
Quelles commandes n’affichent que certains champs d’un fichier ? |
|
a. |
head |
|
b. |
cut |
|
c. |
awk |
|
d. |
join |
Énoncé 10.1 find
Durée estimative : 20 minutes
1. |
Connectez-vous sur la troisième console virtuelle texte (tty3) en tant qu’utilisateur tux. |
2. |
Allez dans votre répertoire personnel et affichez la liste de tous les fichiers présents dans votre arborescence. |
3. |
Affichez la liste de tous les fichiers présents dans les répertoires /usr/bin et /usr/lib. |
4. |
Listez les fichiers de votre sous-répertoire chapitre5 en n’affichant que les noms des répertoires, puis procédez de même en n’affichant que les noms des fichiers ordinaires. |
5. |
Allez dans le sous-répertoire chapitre5 et affichez tous les noms de fichiers commençant par la chaîne "fic" présents dans l’arborescence. |
6. |
Recherchez, dans toute l’arborescence du système, tous les fichiers ayant une taille supérieure à dix mégaoctets ou ayant les droits d’accès 4755. Y a-t-il des messages d’erreur ? Si oui, pourquoi ? Supprimez les messages d’erreur éventuels avec une redirection. |
7. |
Affichez le format de chaque fichier dont le nom commence par la lettre "p" dans l’arborescence du répertoire /etc. Supprimez les messages d’erreur éventuels avec une redirection. |
8. |
Recherchez de nouveau dans votre sous-répertoire chapitre5 tous les noms de fichiers commençant... |
Énoncé 10.2 grep
Durée estimative : 25 minutes
1. |
Affichez le PID des processus bash actuellement lancés sur le système. |
2. |
Affichez toutes les lignes du fichier /etc/services contenant la chaîne de caractères "http". |
3. |
Filtrez de nouveau le fichier /etc/services avec cette fois la chaîne de caractères "http" en tant que mot. |
4. |
Affichez les lignes du fichier /etc/passwd ne contenant pas la chaîne de caractères "home". |
5. |
Combien de lignes du fichier /etc/passwd contiennent la chaîne de caractères "sbin" ? |
6. |
Quels fichiers du répertoire /etc contiennent la chaîne de caractères "tux" ? Supprimez les messages d’erreur éventuels avec une redirection. |
7. |
À quels numéros de lignes trouve-t-on la chaîne de caractères "tux" dans les fichiers précédents ? Supprimez les messages d’erreur éventuels avec une redirection. |
8. |
Affichez toutes les lignes du fichier /etc/services contenant la chaîne de caractères "iana", quelle que soit la casse des caractères (majuscules/minuscules). |
Indices
1. |
Filtrez la sortie de la commande ps avec la commande grep. |
2. |
Utilisez la commande grep avec le fichier /etc/services en argument. |
3. |
Utilisez l’option -w. |
4. |
Utilisez l’option -v. |
5. |
Utilisez l’option... |
Énoncé 10.3 cut
Durée estimative : 10 minutes
1. |
Affichez le premier et le troisième champ du fichier /etc/group (nom du groupe et GID correspondant). |
2. |
Affichez une liste détaillée des fichiers présents dans le répertoire /etc, puis ne conservez plus que les informations suivantes :
|
Indices
1. |
Utilisez la commande cut avec le caractère : comme séparateur de champs. |
2. |
Utilisez la commande cut dans un tube en lui spécifiant les colonnes de l’affichage à conserver. |
Énoncé 10.4 sort
Durée estimative : 15 minutes
1. |
Triez le fichier /etc/passwd alphabétiquement suivant le nom de connexion (login) de chaque utilisateur. |
2. |
Triez le fichier /etc/passwd alphabétiquement suivant le nom complet (champ GECOS) de chaque utilisateur. |
3. |
Triez le fichier /etc/passwd numériquement suivant l’UID de chaque utilisateur. |
4. |
Affichez une liste détaillée des fichiers présents dans le répertoire /etc, puis triez les fichiers du plus grand au plus petit. |
Indices
2. |
Triez le cinquième champ du fichier avec le caractère : comme séparateur de champs. |
3. |
Triez le troisième champ du fichier avec le caractère : comme séparateur de champs et utilisez l’option -n. |
4. |
Utilisez la commande sort dans un tube en lui spécifiant la colonne et le type de tri. |
Énoncé 10.5 head, tail
Durée estimative : 10 minutes
1. |
Affichez les cinq premières lignes du fichier /etc/passwd. |
2. |
Affichez les sept dernières lignes du fichier /etc/protocols. |
3. |
Utilisez la commande tail dans un tube pour ne pas afficher la première ligne retournée par la commande ls -l. |
4. |
Affichez les lignes 188 à 191 du fichier /etc/services. |
Indice
4. |
Utilisez les commandes head et tail avec un tube. |
Énoncé 10.6 Pour aller plus loin
Durée estimative : 10 minutes
1. |
Utilisez la commande find pour trouver l’emplacement de votre fichier de configuration personnel du navigateur web. |
2. |
Utilisez la commande grep pour afficher tous les liens symboliques présents dans le répertoire /etc. |
Indices
1. |
Créez un fichier de référence avec la commande touch, puis utilisez l’expression de sélection -newer de la commande find après avoir modifié un des paramètres de votre navigateur web. |
2. |
Filtrez la sortie de la commande ls -l avec la commande grep, et utilisez une expression régulière correspondant à toutes les lignes commençant par le caractère "l". |