Linux – Outils Linux

Introduction

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.

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.

 

 

 

Énoncé 10.1 find

Durée estimative : 20 minutes

1.

Connectez-vous sur la deuxième console virtuelle texte (tty2) 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 /bin et /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 par la chaîne “fic” présents dans l’arborescence. Et supprimez les fichiers dont le nom contient un chiffre.

Indices

2.

Indiquez le chemin de recherche en relatif à la commande find.

3.

Indiquez plusieurs chemins de recherche à la commande find.

4.

Le répertoire chapitre5 a été créé lors des exercices du chapitre 5 ; son arborescence doit ressembler à :

[tux]$ find chapitre5 
chapitre5 
chapitre5/fic2 
chapitre5/rep2 
chapitre5/docperso 
chapitre5/docperso/fica 
chapitre5/docperso/ficc 
chapitre5/docperso/ficd 
chapitre5/docperso/ficb 
chapitre5/fic1 
chapitre5/rep1 
chapitre5/rep1/secret

Utilisez l’expression de sélection -type de la commande find.

5.

Utilisez l’expression de sélection -name de la commande find avec des caractères génériques ; pour cela, utilisez des caractères de citation pour supprimer l’interprétation du shell.

6.

Utilisez conjointement les expressions de sélection -size et -perm de la commande find.

7.

Utilisez l’action -exec de la commande find avec la commande file.

8.

Utilisez l’action -ok de la commande find avec la commande rm.

 

 

 

 

É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 -c.

6.

Utilisez l’option -l.

7.

Utilisez l’option -n.

8.

Utilisez l’option -i.

 

 

É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 :

  • droits du fichier ;

  • taille du fichier ;

  • nom du fichier.

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.