GNU/Linux >> Tutoriels Linux >  >> Debian

Deux commandes pour trouver facilement des fichiers et des répertoires dans Debian 11

Fondamentalement, tout sous Linux est un fichier. Mais avant de pouvoir modifier un fichier, vous devez pouvoir le localiser dans votre système.

À propos de la recherche de fichiers Linux

Dans cet article, je décris brièvement deux commandes en détail avec des exemples utiles pour rechercher des fichiers avec le terminal. Les deux commandes sont la commande de recherche et la commande de localisation . La différence entre les deux commandes est que find effectue une recherche en temps réel et locate utilise une base de données indexée pour la recherche. Cela signifie que la commande de localisation est généralement plus rapide, mais elle suppose que le fichier recherché se trouve dans sa base de données d'index et que cette base de données est généralement créée la nuit, de sorte que les fichiers les plus récents ne sont pas trouvés par la commande de localisation. J'utilise Debian 11 dans mon environnement. Mais les commandes devraient être les mêmes sur les autres distributions Linux.

Si vous souhaitez rechercher des fichiers par leur contenu au lieu du nom de fichier, jetez plutôt un coup d'œil à la commande grep.

Rechercher des fichiers et des répertoires à l'aide de la commande find

Rechercher le fichier dans le répertoire courant

Si vous souhaitez rechercher un fichier à l'aide de la commande find, exécutez l'une des actions suivantes sur votre terminal.

find <filname>

supposons,

find test.txt

Cela recherchera le fichier dans le répertoire actuel sur lequel vous travaillez.

Rechercher le fichier dans un autre répertoire

Maintenant, si vous souhaitez localiser le fichier dans un répertoire spécifique. La commande complète devrait ressembler à,

find <path of directory/filename>

Supposons que vous souhaitiez rechercher un fichier nommé "test.txt" dans Documents, la commande complète doit être la suivante.

find Documents/test.txt

Rechercher des fichiers par extension de fichier

Maintenant, si vous voulez trouver tous les fichiers texte dans votre répertoire actuel ou spécifique, les commandes respectives doivent se présenter comme suit.

find *.txt
find <path of directory/*.txt>

Supposons que vous souhaitiez rechercher tous les fichiers texte dans le chemin de Documents/Karim, la commande complète devrait ressembler à.

find Documents/Karim/*.txt

Rechercher des fichiers par nom

Alternativement, vous pouvez utiliser le commutateur -name lorsque vous souhaitez rechercher un fichier par son nom.

find <path> -name <name of file you want to search>

Supposons que vous souhaitiez rechercher un fichier nommé test1.txt dans Documents/Karim. La commande complète devrait ressembler à.

find Documents/Karim -name test1.txt

Si vous souhaitez rechercher un fichier spécifique dans le répertoire actuel sur lequel vous travaillez. Mettre . au chemin comme indiqué dans l'exemple.

find . -name test1.txt

Ignorer la casse lors de la recherche de fichiers

Si vous voulez rechercher un fichier et que vous voulez ignorer la casse, utilisez le commutateur -iname. La commande complète devrait ressembler à ceci.

find . -iname test.txt

Rechercher des fichiers par type de fichier, par ex. liens symboliques

Pour rechercher un type de fichier spécifique, utilisez l'option -type. La commande complète devrait ressembler à ce qui suit.

find <path> -type <c>
  • c indique le type de fichier et ils suivent.
  • b bloc (mis en mémoire tampon) spécial
  • c caractère spécial (non tamponné)
  • d répertoire
  • p tube nommé
  • f fichier normal
  • l lien symbolique
  • D porte (Solaris)

Supposons que vous souhaitiez rechercher des fichiers normaux dans Documents/Karim, exécutez la commande suivante.

find Documents/Karim -type f

Si vous souhaitez rechercher des fichiers normaux dans votre répertoire actuel. La commande complète devrait ressembler à ce qui suit.

find . -type f

Si vous souhaitez rechercher des fichiers avec plusieurs extensions, utilisez les caractères c séparés par des virgules.

Supposons que vous souhaitiez rechercher tous les fichiers vides normaux dans votre répertoire actuel.

find . -type f -empty

Supposons que vous souhaitiez rechercher tous les répertoires vides dans votre répertoire actuel, utilisez les options -d et -empty dans une commande de recherche comme suit.

find . -type d -empty

Rechercher des fichiers par taille

Si vous souhaitez rechercher des fichiers d'une taille spécifique, vous pouvez utiliser le paramètre -size. Vous pouvez utiliser le suffixe suivant avec leur taille exacte.

  • c :octets
  • k : Kilo-octets
  • M :Mégaoctets
  • G :Gigaoctets
  • b :Bloc de 512 octets

Supposons que vous vouliez trouver tous les fichiers de votre répertoire actuel qui font exactement 50 octets. Vous devez exécuter la commande suivante.

find . -size 50c

Supposons que vous souhaitiez rechercher tous les fichiers de votre répertoire actuel qui font respectivement plus de 50 octets ou moins de 50 octets, vous devez exécuter l'une des commandes suivantes.

find . -size +50c
find . -size -50c

Rechercher des fichiers par propriétaire (utilisateur)

Si vous souhaitez rechercher un fichier appartenant à un utilisateur spécifique, vous pouvez utiliser l'option -user. La syntaxe de la commande doit être la suivante.

find <path> -user <username>

Supposons que vous souhaitiez rechercher un fichier dans votre répertoire actuel appartenant à vitux. La commande devrait ressembler à ceci.

find . -user vitux

Recherche de fichiers à l'aide d'une commande de localisation

La deuxième est la commande de localisation que vous pouvez utiliser pour rechercher des fichiers et des répertoires dans votre système.

Tout d'abord, vous devez installer l'utilitaire de localisation sur votre machine Debian 11. Connectez-vous avec root et exécutez la commande suivante sur votre terminal. Appuyez sur Y à partir de votre clavier lorsque vous êtes invité à confirmer.

apt-get install locate

Attendez la fin d'une opération.

Localiser est une commande plus rapide et s'appuie sur la base de données du système de fichiers. Il est mis à jour une fois par jour mais si vous souhaitez le mettre à jour manuellement, exécutez la commande suivante sur votre terminal avec les privilèges root.

updatedb

Pour rechercher un fichier avec la commande locate dans votre répertoire actuel, exécutez ce qui suit sur votre terminal.

locate <filename>

Supposons que mon nom de fichier soit test.txt. La commande complète devrait ressembler à ce qui suit.

locate test.txt

Vous pouvez utiliser l'option -i pour ignorer la casse du nom de fichier.

locate -i <filename>

ou

locate -i test.txt

Les commandes de localisation et de recherche sont utiles pour rechercher les fichiers. C'est à vous de décider laquelle des commandes vous utilisez le plus. Ils peuvent être étendus avec d'autres commandes en utilisant pipe, wc, sort et grep, etc.


Debian
  1. Rechercher des fichiers et des répertoires sous Linux avec la commande find

  2. Un moyen facile de masquer des fichiers et des répertoires sous Linux

  3. Comment exécuter les fichiers .bin et .run dans Debian

  4. Trouvez les fichiers et répertoires les plus volumineux sous Linux

  5. Supprimer les fichiers et les répertoires par leurs noms. Aucun fichier ou répertoire de ce nom?

Comment trouver des fichiers dans Debian 10

Comment supprimer des fichiers et des répertoires à l'aide du terminal dans Debian 10

Comment renommer des fichiers et des répertoires sous Linux

Comment copier des fichiers et des répertoires dans un terminal Linux

Trouvez facilement des fichiers et des répertoires sur Linux

Commande Stat :Afficher les attributs des fichiers et des répertoires