Travail sur les commandes Unix élémentaire:
Consignes:
- Chercher tous les fichiers commençant par un "a" ou un "A", suivi éventuellement de quelques lettres ou chiffres et d’un chiffre entre 3 et 6
- Chercher un fichier qui a été modifié il y a moins de 30 jours
- Chercher un fichier qui a été modifié il y a 30 jours
- Chercher un fichier qui a été modifié il y a plus de 30 jours
- Chercher un fichier qui a été modifié plus récemment qu’un autre fichier donné
- Spécifier que le fichier cherché est un répertoire
- Chercher un fichier dont la taille est supérieure à une taille donnée
- Utiliser la commande find pour effacer tous les fichiers de sauvegarde qui ont plus d’un mois
Réponses:
- Chercher tous les fichiers commençant par un "a" ou un "A", suivi éventuellement de quelques lettres ou chiffres et d’un chiffre entre 3 et 6
Commande:
macbook-de-admin:tal-exo admi$ find . -name [aA]*[3-6]
Commentaire:
Ce symbole "." signifie
répertoire courant. Ce symbole "-name" signifie qu’on
spécifie le nom du ou des fichiers recherchés soit en indiquant le nom d’un fichir complet soit en utilisant des expressions régulières, celle du shell et pas celle du egrep..
- Chercher un fichier qui a été modifié il y a moins de 30 jours
Commande:
macbook-de-admin:tal-exo admi$ find . -mtime -30
Résultat:
.
./.DS_Store
./assez
./assez.txt
./bisous
./bisous/file
./bisous/file1
./bisous/lala
./bisous/lili
./bisous/lili/file
./bisous/lili/file1
./bisous/lili/new
./bisous/lili/toto
./bisous/lili/toto/titi
./bisous/new
./bisous/rara
./bisous/toto
./bisous/toto/titi
./coucou
./d89.txt
./doudou
./loulou
./mimi
./mimi/fichier2
./mimi/rara
./mimi/tata
./mimi/zaza
./resultat1.txt
./resultat2.txt
./resultat3.txt
./resultat4.txt
./resultat5.txt
./resultat6.txt
./resultat7.txt
./resultat8.txt
./resultat9.txt
./tata
./ZolaComplet.txt
- Chercher un fichier qui a été modifié il y a 30 jours
Commentaire:
On utilise la commande -mtime n, où n = n*24 (24 correspond à 24 heures soit une journée).
Commande:
macbook-de-admin:tal-exo admi$ find . -mtime 30
- Chercher un fichier qui a été modifié il y a plus de 30 jours
Commentaire:
On utilise la commande -mtime +n, où n = n*24 (24 correspond à 24 heures soit une journée).
Commande:
macbook-de-admin:tal-exo admi$ find . -mtime +30
- Chercher un fichier qui a été modifié plus récemment qu’un autre fichier donné
Commande:
macbook-de-admin:tal-exo admi$ find . -newer d89.txt
Commentaire:
Ce sympbole "-newer" signifie qu’on cherche les fichiers qui ont été modifiés plus récemment que le fichier de référence. "d89.txt" est le fichier de référence par rapport auxquel on calcule l’anciénneté de la modification d’un fichier donné.
Résultat:
.
./.DS_Store
./assez
./assez.txt
./resultat1.txt
./resultat2.txt
./resultat3.txt
./resultat4.txt
./resultat5.txt
./resultat6.txt
./resultat7.txt
./resultat8.txt
./resultat9.txt
- Spécifier que le fichier cherché est un répertoire
Commande:
macbook-de-admin:tal-exo admi$ find . -type d
Commentaire:
"-type" signifie qu’on spécifie le genre de fichier qu’on recherche. "d" signifie que le fichier recherché un repertoire (directory). Si on veut chercher un fichier, on aurait mis un "f" qui signifie "file".
Résultat:
.
./bisous
./bisous/lili
./bisous/lili/toto
./bisous/lili/toto/titi
./bisous/toto
./bisous/toto/titi
./coucou
./doudou
./loulou
./mimi
- Chercher un fichier dont la taille est supérieure à une taille donnée
Commentaire:
On utilise la commande -size +n?, où + signifie que le fichier recherché doit avoir une taille supérieure à la taille donnée (- si la taille doit être inférieure et rien si la taille doit être égale), et où ? doit être remplacé par l’unité de mesure (c pour Octet(s) et k pour Kilo-octet(s)).
Commande:
macbook-de-admin:tal-exo admi$ find . -type f -size +30c
Résultat:
./.DS_Store
./bisous/file
./d89.txt
./resultat1.txt
./resultat2.txt
./resultat3.txt
./resultat4.txt
./resultat5.txt
./resultat6.txt
./resultat7.txt
./resultat8.txt
./resultat9.txt
./ZolaComplet.txt
- Utiliser la commande find pour effacer tous les fichiers de sauvegarde qui ont plus d’un mois
Commentaire:
Les fichiers de sauvegarde ont la particularité de se terminer par un tilde (~ ). Il va falloir envisager une solution d’empilement de commandes.
Commande:
macbook-de-admin:tal-exo admi$ mkdir poubelle : find . -path ’*~’ -mtime +30 > poubelle : rm -r *~ : rmdir poubelle
Commentaire:
"mkdir poubelle" signifie qu’on va créer un répertoire destiné à la destruction. Ce symbole ":" signifie que c’est un opérateur de redirection de flux. Ici le flux de redirection est dirigé vers la commande "find". Ces symbole "’*~’ -mtime +30" signifient qu’on cherche tous les fichiers qui se terminent par un tilde et qui datent de plus de 30 jours. Ce symbole ">" signifie qu’on dirige le flux vers la poubelle. Tous ces symboles "rm -r *~ " signifient que c’est une commande récursive car toute l’arborescence du répertoire indiqué (ici poubelle) est supprimée. "rmdir poubelle" signifie qu’on supprime le répertoire vidé précédemmment (ici poubelle).
Exercice précédent
Exercice suivant
Copyright 2009 Tubiana Séverine, tous droits réservés