GNU/Linux >> Tutoriels Linux >  >> Linux

Comment rechercher des fichiers à partir de la ligne de commande Linux

La recherche de fichiers est relativement facile lorsque vous utilisez une interface graphique. Mais dans certains environnements comme les serveurs sans interface graphique, vous devez rechercher des fichiers à l'aide de la ligne de commande.

Il existe une commande puissante sous Linux qui vous aide à rechercher des fichiers et des dossiers appelés find . Dans cet article, nous discuterons de la find commande avec quelques exemples.

Qu'est-ce que la commande find sous Linux ?

Le find La commande vous permet de rechercher efficacement des fichiers, des dossiers et des périphériques de caractères et de blocs.

Ci-dessous la syntaxe de base du find commande :

find /path/ -type f -name file-to-search

Où,

  • /path est le chemin où le fichier doit se trouver. C'est le point de départ pour rechercher des fichiers. Le chemin peut également être / ou . qui représentent respectivement la racine et le répertoire courant.
  • -type représente les descripteurs de fichiers. Il peut s'agir de l'un des éléments ci-dessous :

fFichier régulier tels que des fichiers texte, des images et des fichiers cachés.

dRépertoire . Ce sont les dossiers à l'étude.

lLien symbolique . Les liens symboliques pointent vers des fichiers et sont similaires aux raccourcis.

cAppareils de personnage . Les fichiers utilisés pour accéder aux périphériques de caractères sont appelés fichiers de périphériques de caractères. Les pilotes communiquent avec les périphériques de caractères en envoyant et en recevant des caractères uniques (octets, octets). Les exemples incluent les claviers, les cartes son et la souris.

bBloquer les appareils . Les fichiers utilisés pour accéder aux périphériques blocs sont appelés fichiers de périphérique bloc. Les pilotes communiquent avec les périphériques de bloc en envoyant et en recevant des blocs entiers de données. Les exemples incluent USB, CD-ROM

  • -name est le nom du type de fichier que vous souhaitez rechercher.

Exemples de la commande find

Nous connaissons maintenant la syntaxe de find commande, regardons quelques exemples.

Comment rechercher des fichiers par nom ou extension

Supposons que nous ayons besoin de trouver des fichiers contenant "style" dans leur nom. Nous allons utiliser cette commande :

find . -type f -name style*

Sortie

Supposons maintenant que nous voulions trouver des fichiers avec une extension particulière comme .html . Nous allons modifier la commande comme ceci :

find . -type f -name *.html

Sortie

Comment rechercher des fichiers cachés

Les fichiers cachés sont représentés par un point au début du nom de fichier. Ils sont normalement cachés, mais peuvent être visualisés avec ls -a dans le répertoire courant.

Nous pouvons modifier le find comme indiqué ci-dessous pour rechercher des fichiers cachés.

find . -type f -name ".*"

Sortie

Comment rechercher les fichiers journaux et les fichiers de configuration

Les fichiers journaux ont généralement l'extension .log , et nous pouvons les trouver comme ceci :

 find . -type f -name "*.log"

Sortie

De même, nous pouvons rechercher des fichiers de configuration comme celui-ci :

 find . -type f -name "*.conf"

Comment rechercher d'autres fichiers par type

Nous pouvons rechercher des fichiers de blocs de caractères en fournissant c à -type :

find / -type c

De même, les fichiers de bloc de périphérique peuvent être trouvés en utilisant b :

find / -type b

Comment rechercher des répertoires

Dans l'exemple ci-dessous, nous trouvons les dossiers nommés lib . Notez que nous utilisons -type d .

find . -type d -name "lib*"

Sortie

💡 Astuce :on peut identifier les répertoires en regardant le d indicateur dans la sortie de ls -lrt .

Comment rechercher des fichiers par taille

Une utilisation incroyablement utile de la find commande est de lister les fichiers en fonction d'une taille particulière.

find / -size +250MB

Les autres unités incluent :

  • G  :Gigaoctets.
  • M :Mégaoctets.
  • K :Kilooctets
  • b :octets.

Remplacez simplement par l'unité appropriée.

find <directory> -type f -size +N<Unit Type>

Comment rechercher des fichiers par heure de modification

find /path -name "*.txt" -mtime -10 

  • -mtime +10 signifie que vous recherchez un fichier modifié il y a 10 jours.
  • -mtime -10 signifie moins de 10 jours.
  • -mtime 10 Si vous sautez + ou – cela signifie exactement 10 jours.

Voici le contenu de mon répertoire personnel :

Appliquons un exemple dans mon répertoire personnel.

find . -type f -name ".*" -mtime +10

Exemples pratiques de find avec des scripts bash

Nous pouvons combiner find avec rm ou mv pour créer des scripts bash significatifs qui peuvent être automatisés.

Disons que nous voulons créer un script qui déplace les fichiers journaux de plus de 7 jours vers un chemin de sauvegarde. À partir de là, il supprime les fichiers journaux de plus de 30 jours. Nous pouvons créer un script et le programmer avec cron . Vous pouvez en savoir plus sur cron emplois ici.

Voyons le script :

#!/bin/bash
# Script to move from logs older than 7 days to backup logs path: /app/backup_logs/ESB0*

# move ESB01 logs to backup
find /logs/esb01/audit  -name "*.tar.gz" -mtime +7 -exec mv {} app/backup_logs/ESB01/ \;

# Remove logs from backup path after 30 days
find /app/backup_logs/ESB01 -name "*.tar.gz" -mtime +30  -exec rm {} \;

Notez que nous utilisons exec avec find . En gros, exec exécute la commande fournie ( mv et rm dans notre cas). {} est l'espace réservé qui contient les résultats de la commande. Enfin, nous fournissons le délimiteur ; . Comme nous ne voulons pas que le shell interprète le point-virgule, nous l'échappons avec \ .

Le script partagé est très utile pour archiver et supprimer les journaux.

Conclusion

Dans cet article, nous avons étudié le find commande en détail et appris à rechercher des fichiers par nom, type, taille et heure de modification.

J'espère que vous avez trouvé ce tutoriel utile.

Partagez vos impressions sur Twitter !

Vous pouvez lire mes autres articles ici.

Ressources :images de bannières tirées d'illustrations Office réalisées par Storyset et Canva.


Linux
  1. 8 conseils pour la ligne de commande Linux

  2. Comment installer un logiciel à partir de la ligne de commande Linux

  3. Recherche de fichiers dans la ligne de commande (Comment faire)

  4. Comment rechercher des fichiers dans CentOS 8 sur la ligne de commande

  5. Comment utiliser la commande Linux find pour rechercher des fichiers

Comment trouver une adresse IP publique à partir de la ligne de commande sous Linux

Comment gérer les fichiers depuis le terminal Linux

Comment trouver des fichiers sur la ligne de commande Ubuntu

Ripgrep - L'outil de recherche de ligne de commande le plus rapide pour Linux

Comment rechercher des fichiers avec la commande fd sous Linux

Comment trouver une adresse IP dans la ligne de commande Linux