Magazine

Recherche de fichiers sous linux

Publié le 18 novembre 2010 par Rumbaya

Un petit mémo sur les recherches de fichiers en ligne de commande sous Linux avec find et grep.

Testé sous Debian 5.0 Lenny

Recherche de fichiers et répertoires sur le nom

Lister les fichiers dont l’extension est « .log » à partir du répertoire courant :
find . -name "*.log" -exec ls -lh "{}" \;
Lister les répertoires dont le nom est « toto » à partir du répertoire courant :
find . -name "toto" -type d -exec ls -d "{}" \;
Lister les répertoires dont le chemin contient « /local/bin » à partir du répertoire courant :
find . -wholename "*/local/bin*" -type d -exec ls -d "{}" \;
On peut combiner les critères avec les opérateurs -a pour et, -o pour ou et ! pour la négation.
Lister les répertoires dont le nom est « toto » qui ne sont pas un sous-répertoire de « /scripts/bash »
find . \( -name "toto" -a ! -wholename "*/scripts/bash/*" \) -exec ls -d "{}" \;

Recherche de gros fichiers

Pour lister les fichiers de plus de 500Mo à partir du répertoire courant :
find . -size +500M -exec ls -lh "{}" \;
Pour supprimer ces mêmes fichiers avec confirmation :
find . -size +500M -exec rm -iv "{}" \;

Recherches par la date

Lister les fichiers qui n’ont pas été modifiés depuis 2 mois, à partir du répertoire courant :
find . -mtime 60 -exec ls -lh "{}" \;

Recherches dans le contenu des fichiers avec grep

Recherche les fichiers contenant « toto » dans le répertoire courant, affiche le nom du fichier et la ligne correspondante :
grep "toto" *
La même chose avec une recherche récursive dans les sous-répertoires :
grep -r "toto" *
Recherche sans tenir compte de la casse :
grep -i "toto" *


Retour à La Une de Logo Paperblog

A propos de l’auteur


Rumbaya 9 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Dossier Paperblog