Comment trouver un fichier par nom sous Linux

Trouvez vos fichiers sans effort à partir de la ligne de commande sous Linux

Les utilisateurs essaient généralement de trouver un fichier à l'aide de l'interface graphique. Cependant, il devient parfois très fastidieux de trouver un fichier individuel dans l'énorme pile de fichiers de votre système. Le trouver de manière conventionnelle peut être une tâche fastidieuse. Pour faciliter cette tâche, Linux propose certaines commandes pour faire ce travail pour vous.

trouver est une commande populaire utilisée dans les systèmes Linux qui peut vous aider à rechercher divers fichiers en fonction de leurs noms, type, extension, autorisations, propriétaire, etc.

Dans ce tutoriel, nous nous concentrerons sur la recherche des fichiers par leur nom. Nous allons voir les différents arguments qui peuvent être utilisés avec le trouver commander. Nous apprendrons également les Localiser commande qui est également un moyen plus rapide de rechercher les fichiers par nom.

Syntaxe pour trouver commander

En utilisant le trouver commande d'une manière appropriée peut rendre votre tâche plus facile. Trouver les fichiers de type ou d'extension particulier ou rechercher par le nom sera possible si vous comprenez bien la syntaxe générale de cette commande.

La syntaxe générale du trouver commande est la suivante.

find [search_path] [expression] [options] [find_what]

J'ai essayé de simplifier la syntaxe du trouver commande pour mieux comprendre la commande.

Regardons chaque attribut de la syntaxe pour avoir une idée de la signification de chacun d'eux.

Chemin_recherche: Voici le chemin où nous spécifions le chemin à partir duquel nous souhaitons que le système commence à rechercher le fichier. En bref, le répertoire de départ pour lancer la recherche est spécifié.

Expression: Vous pouvez spécifier les modèles de recherche pour le fichier particulier que vous recherchez.

Options: Vous pouvez utiliser les options disponibles utilisées avec le trouver commande dans cet espace.

trouver quoi: Dans cet attribut, mettez le nom ou une partie du nom du fichier à rechercher.

Illustrons cette commande par un exemple.

trouver /home/gaurav/workspace -name "source.c"

Dans cette commande, j'utilise le trouver commande pour rechercher un fichier « source.c ». J'ai demandé spécifiquement de rechercher dans le chemin '/home/gaurav/workspace'. En utilisant le -Nom L'option me permet de rechercher le fichier spécifié par 'source.c'.

Il s'agit de la démonstration la plus simple d'utilisation du trouver commander.

Recherche de fichiers dans le répertoire courant

En utilisant le trouver La commande dans sa forme la plus simple consiste à rechercher vos fichiers dans votre répertoire de travail actuel.

trouver .

Cette commande affichera tous les fichiers de votre répertoire de travail actuel. Ici le '.‘ signifie le ‘répertoire de travail courant’. Voici la sortie de mon répertoire de travail actuel. Tous les fichiers présents dans ce répertoire sont listés sans aucun filtre

Sortir:

. ./context_log.policy ./snap ./snap/couchdb ./snap/couchdb/current ./snap/eclipse ./snap/eclipse/current ./snap/vim-editor ./snap/vim-editor/current ./ snap/vim-editor/common ./snap/vim-editor/1 ./snap/htop ./snap/htop/current ./snap/htop/common ./snap/htop/common/.local ./snap/htop /common/.local/lib ./snap/htop/common/.local/lib/locale ./snap/htop/common/.local/lib/locale/en_IN.UTF-8 ./snap/htop/common/. local/lib/locale/en_IN.UTF-8/LC_CTYPE

Pour rechercher un fichier dont le nom approximatif est connu, utilisez le trouver commande comme indiqué ci-dessous.

trouver . -name [string_from_filename\*]

Exemple:

trouver . -nom contexte\*

Cette commande recherche les fichiers qui contiennent la chaîne « contexte ».

Sortir:

./context_log.policy ./context.xml ./context_preview.c

Tous les fichiers du répertoire actuel sont répertoriés et contiennent la chaîne « contexte ».

Maintenant, le problème se pose avec cette commande lorsque vous essayez de prendre la liberté de la sensibilité à la casse en tapant le nom de fichier ou la chaîne approximative.

Linux est assez prudent quant à la sensibilité à la casse et, par conséquent, il y a de fortes chances que votre recherche échoue. Je n'obtiendrai pas de sortie pour la commande find si j'utilise la chaîne comme « CONTEXT » au lieu de « contexte ». Même si une seule lettre du nom de fichier est dans une casse différente de celle du nom de fichier d'origine, la recherche échouera.

Mais pas besoin de s'en soucier. Vous pouvez simplement remplacer le -Nom option avec le -mon nom. Cela vous permet de rechercher les fichiers indépendamment des cas dans lesquels se trouve leur nom. Faites simplement ce simple changement dans votre commande et tout ira bien.

trouver . -iname CONT\*

La sortie sera la même, même si j'ai utilisé la chaîne en majuscule.

./context_log.policy ./context.xml ./context_preview.c

Recherche de fichiers dans différents répertoires

Vous pouvez facilement rechercher les fichiers dans n'importe quel répertoire du système Linux, quel que soit le répertoire dans lequel vous travaillez actuellement.

find [chemin_répertoire] -iname [nom_fichier_spécifique]

Exemple:

trouver /home/gaurav/tomcat -iname ath.html

Ici, j'ai recherché un fichier spécifique 'ath.html' et non les fichiers similaires à cette chaîne. Ainsi, la sortie sera uniquement le fichier spécifique comme mentionné ci-dessus.

/home/gaurav/tomcat/ath.html

Maintenant, supposons que nous ne connaissions pas le nom de fichier complet mais seulement la chaîne de ce nom de fichier. Ensuite, nous pouvons rechercher les fichiers de la manière suivante.

trouver /home/gaurav/tomcat -iname ath\*

Cette commande recherchera tous les fichiers contenant la chaîne « ath » au début. j'ai utilisé le -mon nom option ici, donc je n'ai pas besoin de m'inquiéter de la sensibilité à la casse.

Sortir:

/home/gaurav/tomcat/ATHENIAN_ART.html /home/gaurav/tomcat/ath_things.html /home/gaurav/tomcat/ath.html /home/gaurav/tomcat/ATHENIAN_ART.pdf /home/gaurav/tomcat/ATHHHHhow.html

Vous pouvez également utiliser la commande pour rechercher plusieurs fichiers qui se terminent par une extension similaire dans leur nom.

Exemple:

trouver /home/gaurav/tomcat -iname "*.c"

La commande recherchera tous les fichiers dans le répertoire spécifié qui contient .c comme extension dans leur nom de fichier.

Sortir:

/home/gaurav/tomcat/stiil.c /home/gaurav/tomcat/project/temp.c /home/gaurav/tomcat/copy.c /home/gaurav/tomcat/gy.c

Nous avons appris la trouver commande pour rechercher les fichiers spécifiés par le nom de fichier. Maintenant, explorons une autre commande qui est plus rapide que la commande conventionnelle trouver commander.

Localiser vue d'ensemble des commandes

Il y a une autre commande pour rechercher les fichiers sur votre système qui est plus rapide que la trouver commander. C'est le Localiser commander. Cette commande n'est pas pré-installée sur les distributions Linux. Vous pouvez utiliser les étapes suivantes pour télécharger et installer le Localiser package de commandes sur votre système.

Pour les systèmes Ubuntu et Debian, utiliser:

sudo apt mettre à jour sudo apt installer mlocate

Pour les systèmes Cent Os et Fedora, utiliser:

sudo yum installer mlocate

La commande locate recherche le fichier selon le modèle donné dans l'entrée. Localiser utilise le fichier de base de données pour rechercher les fichiers, ce fichier de base de données est généré par le mis à jourb commander.

sudo mis à jourb

Le temps nécessaire pour mettre à jour ce fichier de base de données peut varier d'un utilisateur à l'autre en fonction des fichiers sur votre système.

En utilisant le Localiser commander

Vous pouvez utiliser le Localiser commande de la manière suivante. Assurez-vous de mettre à jour votre fichier de base de données à l'aide de la commande sudo mis à jourb.

Syntaxe:

localiser [filename_or_part_of_filename]

Cette commande lancera la recherche à partir du répertoire racine. Il renverra la liste de tous les fichiers sur le système qui contient le nom de fichier ou une partie du nom de fichier comme spécifié dans la commande.

Exemple:

localiser copie.c

Sortir:

/home/gaurav/Downloads/git-2.23.0/copy.c /snap/core/9804/usr/lib/python3.5/__pycache__/copy.cpython-35.pyc /snap/core/9993/usr/lib /python3.5/__pycache__/copy.cpython-35.pyc /snap/core18/1880/usr/lib/python3.6/__pycache__/copy.cpython-36.pyc /snap/core18/1885/usr/lib/python3 .6/__pycache__/copy.cpython-36.pyc /snap/core20/634/usr/lib/python3.8/__pycache__/copy.cpython-38.pyc /usr/lib/python3.5/__pycache__/copy.cpython -35.pyc /usr/lib/python3.6/__pycache__/copy.cpython-36.pyc /usr/share/icons/MacBuntu-OS/apps/128/copy.com.png

La ligne en surbrillance montre que le fichier exact « copy.c » est trouvé. Parallèlement à ce résultat, certains autres fichiers sont également affichés et contiennent « copy.c » dans le cadre de leur nom de fichier.

Afin d'éviter l'encombrement d'autres fichiers indésirables et de ne trouver que le fichier souhaité, vous pouvez utiliser la commande locate de la manière suivante.

localiser -b '\nom_fichier'

Exemple:

localiser -b '\copy.c'

Sortir:

/home/gaurav/Téléchargements/git-2.23.0/copy.c

Le fichier spécifique mentionné dans les critères de recherche est répertorié avec le chemin du répertoire où il se trouve.

En utilisant le Localiser La commande peut sembler un peu délicate, mais c'est une méthode plus rapide pour rechercher des fichiers lorsque vous ne connaissez pas l'emplacement exact de ce fichier. La récupération des fichiers devient très rapide lorsque vous avez mis à jour le fichier de base de données utilisé par la commande de localisation.

Conclusion

Dans ce court tutoriel, nous avons découvert deux commandes importantes, trouver et Localiser. Vous pouvez désormais rechercher facilement des fichiers sur votre système sans vous perdre dans la pile de fichiers. L'utilisation de ces commandes s'avérera sûrement rapide et efficace pour votre tâche de recherche de fichiers.