recherche fichier raspberry pi

Comment Rechercher un Fichier sur Raspberry Pi ? (et le Trouver !)

Sur Raspberry Pi OS (en particulier la version lite), il n’y a pas d’outil miracle pour trouver un fichier sur votre carte SD. Et pourtant, ce serait si utile ! Pas d’inquiétude, vous pouvez tout faire en apprenant quelques commandes. Je vais tout vous montrer dans ce tutoriel, vous saurez bientôt rechercher et trouver un fichier rapidement sur Raspberry Pi.

Find, locate et grep sont trois commandes très utiles pour rechercher un fichier sur Raspberry Pi.
Elles acceptent des options permettant de localiser rapidement n’importe quel fichier dans le système de fichiers du Raspberry Pi.

Dans cet article, je vais expliquer la syntaxe de commande pour chacune, et vous donner quelques exemples, de sorte que vous puissiez les utiliser correctement.
Je vais également vous donner un conseil bonus à la fin 🙂

Toutes les commandes énumérées ici peuvent être utilisées sur la plupart des systèmes d’exploitation Linux. Il vous suffit de vous connecter à votre Raspberry Pi avec SSH, d’ouvrir une session si sur un système minimal, ou de démarrer un terminal sur Desktop.

À propos, si vous débutez sur Raspberry Pi et que vous souhaitez accélérer les choses (tout en vous amusant), n’hésitez pas à télécharger mon e-book Maitrisez Raspberry Pi en 30 jours. Il s’agit d’un défi de 30 jours dans lequel vous apprendrez une nouvelle compétence chaque jour. Vous économiserez du temps et de l’argent et pourrez enfin profiter de votre Raspberry Pi à son plein potentiel. Je vous offre d’ailleurs 10% de remise aujourd’hui si vous utilisez ce lien !

Find

Introduction

Find est la commande que la plupart des gens vous donneront quand vous demanderez comment chercher un fichier.
Elle est puissante et elle vous sauvera la mise la plupart du temps, puisque vous pouvez ajouter de nombreux critères pour filtrer les résultats qui vous intéressent.
Malheureusement, de nombreux critères signifient de nombreuses options à retenir lorsque vous essayez de l’utiliser.

Je vais essayer de garder cela simple, et vous donner seulement les options les plus utiles.

Exemple basique

La syntaxe de recherche est généralement formatée comme :
find [chemin] [options]
Vous pouvez supprimer le chemin pour rechercher dans le dossier actuel (récursivement), ou les options (pour afficher tous les fichiers), mais la plupart du temps vous utiliserez les deux.
En outre, lorsque vous cherchez un fichier dans l’ensemble du système de fichiers, n’oubliez pas d’utiliser sudo pour accéder aux fichiers système.

Voici un exemple simple pour clarifier :
sudo find /var -name journal
Le résultat est :

C’est parfait si vous connaissez le nom exact d’un fichier et que vous souhaitez le localiser, mais cela ne fonctionne pas si vous n’avez qu’une partie du nom.
Si vous voulez également des fichiers contenant le mot que vous fournissez dans le paramètre,
vous pouvez utiliser l’étoile comme joker, par exemple :
sudo find /var -name *journal
sudo find /var -name journal*
sudo find /var -name *journal*

La première est pour un fichier se terminant par « journal », la seconde commençant par « journal » et la dernière contenant « journal ».

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Et une dernière alternative pour une recherche de base, est d’utiliser l’option « -iname » plutôt que « -name ».
Elle affichera les résultats, insensible à la casse.
Si un fichier porte le nom « JourNaL », il sera trouvé avec iname, pas avec name.

Si les commandes Linux ce n’est pas trop votre truc, n’hésitez pas à jeter un œil à cet article qui vous explique les commandes qu’il faut absolument connaître. Je vous donne aussi une antisèche à télécharger pour les avoir toujours sous la main !

Option date

Ok, donc l’option name/iname est cool, mais que faire si je ne connais pas le nom des fichiers que je cherche ?
Eh bien, find a beaucoup d’options pour vous aider dans ce cas.
La première est de trouver des fichiers en fonction de leur date de création, d’accès ou de modification.

Elles fonctionnent toutes pareille, donc je vais vous donner toutes les options à la fois :

  • -cmin : Différence depuis la date de création en minutes
  • -ctime : Différence depuis la date de création en heures
  • -mmin : Même chose pour la modification en minutes
  • -mtime : Et la modification en jours
  • -amin : Celle-ci est pour le temps d’accès écoulé en minutes
  • -atime : Ou en jours

Pour chacune de ces options, vous pouvez spécifier un seuil et dire s’il doit être supérieur ou égal à ce seuil.
Quelques exemples seront plus clairs 🙂

  • Trouver des fichiers dans votre répertoire personnel, créés il y a moins de 60 minutes :
    find /home/pat -cmin -60
  • Rechercher des fichiers dans /var/log qui n’ont pas été modifiés au cours des 3 derniers jours :
    sudo find /var/log -mtime +3

C’est très utile lorsque vous souhaitez nettoyer votre système, ou trouver un fichier que vous avez récemment créé ou modifié, mais ne vous souvenez plus à quel endroit il était.

Option taille

La dernière option est de rechercher des tailles de fichiers spécifiques. C’est aussi utile lorsque vous souhaitez libérer de l’espace disque sur votre carte SD.

Elle fonctionne presque pareil que la précédente, donc je vais directement vous donner deux exemples :

  • Trouvez des fichiers de plus de 100 Mo sur votre système :
    sudo find / -size +100M
  • Ou plus petit que 100M :
    sudo find / -size -100M
  • Ou même des fichiers vides :
    sudo find / -size 0

Excellente commande pour trouver les plus gros fichiers sur un système ou partager, et les supprimer 🙂

Aller plus loin

Comme je vous l’ai dit au début, l’idée ici n’est pas de devenir un expert de la commande find, car il y a tant de choses à dire.
Mais avec ces options, vous pouvez déjà trouver des fichiers dans la plupart des cas.
Je vais ajouter deux conseils à ceux-ci avant de passer à l’outil suivant.

  • Vous pouvez combiner plusieurs options dans la commande. Par exemple :
    sudo find /var/log -size +100M -mtime +30
    Liste tous les fichiers journaux de plus de 100M et non modifiés dans le dernier mois.
  • Vous pouvez regarder le manuel si vous êtes intéressé par d’autres options :
    man find
    Par exemple, vous pouvez exécuter une commande sur les résultats, afficher des fichiers uniquement, désactiver le mode récursif, etc.

Locate

Voyons la commande « locate » maintenant.

Introduction

Locate est une commande qui est plus facile à utiliser pour les débutants.
Je me souviens que je l’utilisais tout le temps à mes débuts sur Linux, comme je ne me rappelais jamais des options de la commande find.

La différence avec find, c’est que locate va régulièrement créer une base de données temporaire, pour trouver des fichiers rapidement (au lieu de chercher tous les fichiers à chaque nouvelle demande).

Installation

Maintenant, sur les versions système récentes, elle n’est plus incluse dans le système, donc vous devez commencer par l’installer.

Voici la commande pour l’installer sur Raspberry Pi OS :
sudo apt install mlocate

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

La première chose à faire après l’installation est de créer la base de données.
Voici la commande :
sudo updatedb

Je pense que cette commande se lance automatiquement tous les jours sur votre système, mais vous pouvez planifier une tâche si vous voulez la programmer quand vous le souhaitez.

Recherche simple

Une fois terminé, vous pouvez maintenant utiliser locate directement.
L’objectif principal avec locate est de trouver rapidement un fichier basé sur son nom.
Il y a quelques options, mais c’est vraiment plus simple que find.

Ainsi, la syntaxe est toujours quelque chose comme :
locate [OPTION] [SEARCH]
Vous n’avez jamais besoin sudo avec cette commande, comme la base de données est déjà créée et mise à jour avec elle.

Voici trois exemples de ce que vous pouvez faire :

  • Trouvez tous les noms de fichiers contenant votre modèle de recherche :
    locate syslog.1
    Il n’y a pas de joker ici, donc cette commande :
    locate syslog

    trouvera n’importe quel nom de fichier contenant le mot « syslog »
  • Ignorez la casse dans votre recherche :
    locate -i SysLog
  • Seuls les noms de fichiers contenant la chaîne, exclure les correspondances dans le nom du chemin :
    locate -b syslog

C’est les principales options que vous utiliserez (et probablement seulement la première). Comme vous pouvez le voir, locate est parfaite lorsque vous connaissez le nom du fichier et que vous voulez un résultat rapide, mais pas si utile dans d’autres cas.

Filtrer avec grep

Locate est limité dans les options, mais vous pouvez toujours filtrer les résultats avec d’autres commandes Linux, par exemple : grep.
Je vais donner plus de détails sur grep dans la prochaine partie, mais pour le moment, n’oubliez pas que grep est une commande que vous pouvez utiliser pour rechercher une expression. Ainsi, nous pouvons l’utiliser après locate pour afficher uniquement les lignes que nous voulons.

La syntaxe sera :
locate [FILE] | grep [EXPRESSION]

Par exemple :
locate syslog | grep /usr/bin
Ma commande « locate » me donnera trop de résultats, mais si je suis seulement intéressé par les fichiers binaires, je peux filtrer les résultats qui contiennent « /usr/bin ».

Grep

La dernière commande que vous pouvez utiliser pour rechercher des fichiers est grep.
Je vous ai déjà donné l’idée générale, mais elle peut faire beaucoup plus que cela.

Introduction

Vous avez déjà appris de nombreuses façons de trouver un fichier depuis que vous lisez ceci, mais pour être absolument complet, il y a quelques petites choses qu’ils vous manquent.
Grep est un outil puissant, pour rechercher des chaînes dans un texte ou dans un fichier.

J’ai déjà expliqué les bases de cette commande que vous pouvez combiner avec n’importe quel autre pour filtrer les résultats, mais ce qui est fascinant est de regarder à l’intérieur des fichiers.

Utilisez-la pour rechercher dans le contenu du fichier

Voici un exemple de la raison pour laquelle je l’utilise si souvent.
Supposons que vous avez un dossier avec tout votre code source, peut-être /home/pi/code. Vous êtes à la recherche de tous les fichiers utilisant une fonction que vous venez de changer (disons « send_email() »).
Vous ne pouvez pas le faire avec find ou locate, car elles recherchent juste dans les noms de fichiers ou les attributs, pas dans le contenu des fichiers.

Mais grep peut le faire !
La syntaxe que nous allons utiliser est :
(sudo) grep [OPTIONS] [SEARCH] [PATH]

sudo peut être ajouté si vous cherchez dans des dossiers système.
Ensuite, il existe de nombreuses options que vous pouvez ajouter (consultez la page man), et enfin la chaîne de recherche et le chemin sont similaires à ce que nous avons vu précédemment.

Prenons un autre exemple.
Je veux mettre à jour ma version Raspberry Pi OS, mais je ne sais pas où sont les fichiers APT à modifier pour changer le nom du dépôt.
Vous pouvez faire une recherche sur l’ensemble du système avec :
sudo grep --color -nHr 'bookworm' *

Donc, les fichiers que je recherche sont dans /etc/apt, et je sais maintenant lesquels modifier.
Voici les options que j’ai utilisées :

  • –color : met le nom du fichier et les chaînes en couleurs
  • -n : affiche le numéro de ligne pour chaque correspondance
  • -H : affiche le nom du fichier pour chaque correspondance
  • -r : utilise une recherche récursive
  • ‘buster’ :la chaîne que je recherche dans n’importe quel fichier
  • * : je recherche dans n’importe quel fichier sous mon chemin actuel (« / »)

Comme toujours, « man <command> » vous donnera toutes les options dont vous pourriez avoir besoin dans votre cas.
J’utilise souvent -v (liste des fichiers qui ne correspondent pas à l’expression de recherche), et -A/-B/-C pour afficher des lignes autour de la correspondance.

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Rappel: J'ai crée une communauté d'utilisateurs de Raspberry Pi qui vous permet de partage vos avancées, poser vos questions et recevoir de nombreux avantages exclusifs (anglophones uniquement). Cliquez sur le lien pour en savoir plus.

Conclusion

Voilà, si vous vous souvenez de ces trois commandes, vous devriez être en mesure de trouver n’importe quel fichier sur votre Raspberry Pi.
En fait, il y a des commandes communes sur n’importe quel système Linux, de sorte que ça peut beaucoup vous aider dans d’autres situations. C’est vraiment des commandes que j’utilise presque tous les jours au travail.

Aussi, j’avais promis un bonus à la fin, mais j’en ai trois pour vous 🙂

  • Une autre commande qui peut être utile dans certains cas est « whereis ».
    Elle vous donnera l’emplacement d’un fichier binaire.
    Par exemple :
    whereis syslog
    Affichera uniquement l’emplacement du service, pas tous les journaux et les fichiers de documentation.
  • Si vous êtes sur Desktop, il y a aussi des outils graphiques que vous pouvez utiliser comme moteur de recherche.
    Par exemple, vous pouvez essayer Tracker ou Recoll, tous deux disponibles dans le dépôt par défaut.
  • Et enfin, n’oubliez pas que vous pouvez mélanger ces 3 commandes avec la plupart des autres commandes Raspberry Pi. Si cela vous intéresse, lisez ma sélection ici des commandes les plus utiles sur Raspberry Pi (et obtenez une feuille de triche gratuite pour se souvenir d’elles ^^)
Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Ressources supplémentaires pour votre Raspberry Pi

Initiation au Raspberry Pi en vidéo
Si vous débutez et voulez passer rapidement à la vitesse supérieure, j’ai exactement ce qu’il vous faut.
Regardez ma formation vidéo qui vous aidera à démarrer du bon bien, choisir votre matériel, installer les meilleures applications et vous lancer directement dans vos premiers projets avec mon aide.
Regarder les vidéos dès maintenant

Maîtrisez votre Raspberry Pi en 30 jours
Vous avez besoin de plus ? Si vous êtes à la recherche des meilleures astuces pour devenir expert sur Raspberry Pi, ce livre est fait pour vous. Développez vos compétences sous Linux et pratiquez via de nombreux projets en suivant mes guides étape par étape. 10% de remise aujourd’hui !
Télécharger le livre au format PDF ici

Maîtrisez Python sur Raspberry Pi
Pas besoin d’être un génie pour coder quelques lignes pour votre Raspberry Pi.
Je vous apprends juste ce qu’il faut sur Python afin de réaliser n’importe quel projet. La seconde partie du livre est d’ailleurs consacrée à des exemples de projets où je vous guide pas à pas.
Ne perdez pas de temps, apprenez le strict nécessaire et économisez 10% avec ce lien :
Télécharger maintenant

Autres ressources pour profiter de votre Raspberry Pi
J’ai regroupé toutes mes recommandations de logiciels, sites utiles et de matériel sur cette page de ressources. Je vous invite à la consulter régulièrement pour faire les bons choix et rester à jour.
Visiter les pages ressources


Ce tutoriel ne marche plus à 100%? Prévenez-moi pour que je le mette à jour!

Publications similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *