Page d'accueil » comment » Comment rechercher des fichiers et des dossiers sous Linux à l'aide de la ligne de commande

    Comment rechercher des fichiers et des dossiers sous Linux à l'aide de la ligne de commande

    La plupart des gens utilisent un gestionnaire de fichiers graphique pour rechercher des fichiers sous Linux, tels que Nautilus sous Gnome, Dolphin sous KDE et Thunar sous Xfce. Cependant, il existe plusieurs façons d’utiliser la ligne de commande pour rechercher des fichiers sous Linux, quel que soit le gestionnaire de bureau utilisé..

    Utilisation de la commande de recherche

    La commande "trouver" vous permet de rechercher des fichiers pour lesquels vous connaissez les noms de fichiers approximatifs. La forme la plus simple de la commande recherche les fichiers du répertoire en cours et de manière récursive dans ses sous-répertoires correspondant aux critères de recherche fournis. Vous pouvez rechercher des fichiers par nom, propriétaire, groupe, type, autorisations, date et autres critères..

    La commande suivante à l’invite répertorie tous les fichiers présents dans le répertoire en cours..

    trouver .

    Le point après "trouver" indique le répertoire en cours.

    Pour rechercher des fichiers correspondant à un modèle spécifique, utilisez la commande -prénom argument. Vous pouvez utiliser des métacaractères de nom de fichier (tels que * ), mais vous devez soit mettre un caractère d'échappement ( \ ) devant chacune d'elles ou entre guillemets.

    Par exemple, si nous voulons trouver tous les fichiers qui commencent par “pro” dans le répertoire Documents, nous utiliserons le cd Documents / commande pour accéder au répertoire Documents, puis tapez la commande suivante:

    trouver . -nom pro \ *

    Tous les fichiers du répertoire actuel commençant par “pro” sont listés.

    REMARQUE: Par défaut, la commande find est sensible à la casse. Si vous souhaitez que la recherche d'un mot ou d'une phrase soit insensible à la casse, utilisez la commande -mon nom option avec la commande de recherche. C’est la version insensible à la casse du -prénom commander.

    Si trouver ne localise aucun fichier correspondant à vos critères, il ne produit aucun résultat.

    La commande de recherche a beaucoup d'options disponibles pour affiner la recherche. Pour plus d'informations sur la commande find, exécutez l'homme trouve  dans une fenêtre de terminal et appuyez sur Entrée.

    Utilisation de la commande Locate

    La commande de localisation est plus rapide que la commande de recherche, car elle utilise une base de données précédemment construite, alors que la commande de recherche effectue une recherche dans le système réel, dans tous les répertoires et fichiers réels. La commande de localisation retourne une liste de tous les noms de chemins contenant le groupe de caractères spécifié..

    La base de données est régulièrement mise à jour à partir de cron, mais vous pouvez également la mettre à jour vous-même à tout moment pour obtenir des résultats à la minute près. Pour ce faire, tapez la commande suivante à l'invite:

    sudo updatedb

    Entrez votre mot de passe lorsque vous y êtes invité.

    La forme de base de la commande de localisation recherche tous les fichiers du système de fichiers, commençant à la racine, contenant tout ou partie des critères de recherche..

    localiser mydata

    Par exemple, la commande ci-dessus a trouvé deux fichiers contenant «mydata» et un fichier contenant «data».

    Si vous souhaitez rechercher tous les fichiers ou répertoires contenant exactement et uniquement vos critères de recherche, utilisez la commande -b option avec la commande de localisation, comme suit.

    localiser -b '\ mydata'

    La barre oblique inverse dans la commande ci-dessus est un caractère globulant, qui permet de développer les caractères génériques dans un nom de fichier non spécifique en un ensemble de noms de fichiers spécifiques. Un caractère générique est un symbole qui peut être remplacé par un ou plusieurs caractères lors de l'évaluation de l'expression. Les symboles génériques les plus courants sont le point d'interrogation ( ? ), qui représente un seul caractère et l’astérisque ( * ), qui représente une chaîne de caractères contigus. Dans l'exemple ci-dessus, la barre oblique inverse désactive le remplacement implicite de «mydata» par «* mydata *», de sorte que vous obtenez uniquement des résultats contenant «mydata».

    La commande mlocate est une nouvelle implémentation de localiser. Il indexe l'ensemble du système de fichiers, mais les résultats de la recherche n'incluent que les fichiers auxquels l'utilisateur actuel a accès. Lorsque vous mettez à jour la base de données mlocate, il conserve les informations d'horodatage dans la base de données. Ceci permet à mlocate de savoir si le contenu d'un répertoire a changé sans en relire le contenu et rend les mises à jour de la base de données plus rapides et moins lourdes sur votre disque dur..

    Lorsque vous installez mlocate, le fichier binaire / usr / bin / local est remplacé par mlocate. Pour installer mlocate, s'il n'est pas déjà inclus dans votre distribution Linux, tapez la commande suivante à l'invite.

    sudo apt-get install mlocate

    Remarque: nous allons vous montrer une commande plus tard dans cet article qui vous permet de déterminer où se trouve l'exécutable pour une commande, s'il existe.

    La commande mlocate n'utilise pas le même fichier de base de données que la commande de localisation standard. Par conséquent, vous souhaiterez peut-être créer manuellement la base de données en tapant la commande suivante à l'invite:

    sudo /etc/cron.daily/mlocate

    La commande mlocate ne fonctionnera pas tant que la base de données n'aura pas été créée manuellement ou lorsque le script sera exécuté à partir de cron..

    Pour plus d'informations sur la commande local ou mlocate, tapez l'homme localiser ou homme mlocate  dans une fenêtre de terminal et appuyez sur Entrée. Le même écran d'aide s'affiche pour les deux commandes.

    Utiliser la commande Which

    La commande "quel" renvoie le chemin absolu de l'exécutable appelé lorsqu'une commande est émise. Cela est utile pour trouver l'emplacement d'un exécutable afin de créer un raccourci vers le programme sur le bureau, sur un panneau ou à un autre emplacement du gestionnaire de bureau. Par exemple, en tapant la commande quel firefox affiche les résultats affichés dans l'image ci-dessous.

    Par défaut, la commande qui affiche uniquement le premier exécutable correspondant. Pour afficher tous les exécutables correspondants, utilisez la commande -une option avec la commande:

    qui -a un firefox

    Vous pouvez rechercher plusieurs exécutables simultanément, comme indiqué dans l’image suivante. Seuls les chemins d'accès aux exécutables trouvés sont affichés. Dans l'exemple ci-dessous, seul l'exécutable «ps» a été trouvé..

    Remarque: la commande qui recherche uniquement la variable PATH de l'utilisateur actuel. Si vous recherchez un exécutable uniquement disponible pour l'utilisateur root en tant qu'utilisateur normal, aucun résultat ne s'affichera..

    Pour plus d'informations sur la commande which, tapez «man which» (sans les guillemets) à l'invite de commande dans une fenêtre de terminal et appuyez sur Entrée..

    Utilisation de la commande Whereis

    La commande whereis est utilisée pour savoir où se trouvent les fichiers binaires, source et man de cette commande. Par exemple, en tapant où est firefox à l'invite affiche les résultats comme indiqué dans l'image suivante.

    Si vous souhaitez uniquement afficher le chemin d'accès à l'exécutable, et non les chemins d'accès aux pages source et man (ual), utilisez la commande -b option. Par exemple, la commande où est -b firefox affichera seulement / usr / bin / firefox comme résultat. C'est pratique car vous rechercherez probablement le fichier exécutable d'un programme plus souvent que vous ne le feriez pour les pages source et man de ce programme. Vous pouvez également rechercher uniquement les fichiers source ( -s ) ou uniquement pour les pages de manuel ( -m ).

    Pour plus d'informations sur la commande whereis, tapez homme où est dans une fenêtre de terminal et appuyez sur Entrée.

    Comprendre la différence entre la commande Whereis et la commande Which

    La commande whereis indique l'emplacement des pages binaire, source et man d'une commande, tandis que la commande qui indique uniquement l'emplacement du binaire de la commande..

    La commande whereis recherche dans une liste de répertoires spécifiques les fichiers binaire, source et man, tandis que la commande correspondante effectue une recherche dans les répertoires répertoriés dans la variable d'environnement PATH de l'utilisateur actuel. Pour la commande whereis, la liste des répertoires spécifiques est disponible dans la section FILES des pages de manuel de la commande.

    En ce qui concerne les résultats affichés par défaut, la commande whereis affiche tout ce qu'elle trouve, alors que la commande qui affiche uniquement le premier exécutable trouvée. Vous pouvez changer cela en utilisant le -une option, discutée plus tôt, pour la commande qui.

    Dans la mesure où la commande whereis utilise uniquement des chemins codés en dur dans la commande, il est possible que vous ne trouviez pas toujours ce que vous recherchez. Si vous recherchez un programme susceptible d’être installé dans un répertoire ne figurant pas dans les pages de manuel de la commande whereis, vous pouvez utiliser la commande which avec les commandes. -une possibilité de trouver toutes les occurrences de la commande dans le système.