Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| recherche_ligne_commande [Le 16/11/2012, 09:11] – NTFS etc. > NTFS, etc. Canigou 66 | recherche_ligne_commande [Le 11/09/2022, 10:32] (Version actuelle) – Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) moths-art | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | {{tag>Dapper Edgy Feisty Gutsy Hardy}} | + | {{tag>Xenial système}} |
| ---- | ---- | ||
| + | |||
| + | {{ logo_loupe.jpg? | ||
| ====== Rechercher des fichiers en ligne de commande====== | ====== Rechercher des fichiers en ligne de commande====== | ||
| - | {{logo_loupe.jpg? | + | |
| ===== De quoi s' | ===== De quoi s' | ||
| - | Que vous n' | + | Que vous n' |
| Il existe des commandes utilisables dans une console ou un script de recherche facilitant ces accès, sans avoir besoin de parcourir inlassablement vos dossiers. | Il existe des commandes utilisables dans une console ou un script de recherche facilitant ces accès, sans avoir besoin de parcourir inlassablement vos dossiers. | ||
| Ligne 15: | Ligne 17: | ||
| ===== find ===== | ===== find ===== | ||
| Son point fort : la recherche systématique.\\ | Son point fort : la recherche systématique.\\ | ||
| - | **find** est un besogneux qui arpente vos dossiers infatigablement. Il a accès à la totalité de l' | + | **find** est un besogneux qui arpente vos dossiers infatigablement. Il a accès à la totalité de l' |
| Voir [[: | Voir [[: | ||
| + | ===== fd ===== | ||
| + | |||
| + | Une alternative à find : [[https:// | ||
| + | |||
| + | Installable via un [[https:// | ||
| ===== grep ===== | ===== grep ===== | ||
| Son point fort : la recherche plein texte.\\ | Son point fort : la recherche plein texte.\\ | ||
| - | L' | + | L' |
| - | Enfin, on peut considérer que l' | + | Enfin, on peut considérer que l' |
| - | Voir [[: | + | Voir [[: |
| + | <note tip>Par contre cet outil ne permet pas de chercher dans les fichiers type **.odt** dont le contenu est compressé. pour ce faire on utilisera la ligne de commande en combinant find grep et unzip, pour cela adaptez cette commande à votre cas : | ||
| + | find chemin/ | ||
| + | (Référence trouvée dans cet [[http:// | ||
| + | |||
| + | Pour ce qui est des fichiers **.pdf**, la recherche se fera aussi en ligne de commande de la même façon qu' | ||
| + | Nota : lorsque la recherche plein texte porte sur la totalité du système de fichiers, il peut arriver que l' | ||
| + | |||
| + | ===== Ripgrep ===== | ||
| - | Nota : lorsque la recherche plein texte porte sur la totalité du système | + | [[https:// |
| + | - gestion complète | ||
| + | - beaucoup plus rapide | ||
| + | Installable via un [[https:// | ||
| ===== locate et mlocate ===== | ===== locate et mlocate ===== | ||
| - | Les fonctions de **locate** peuvent être fournies par les paquets **locate** et **mlocate**. Ils se différencient par les points suivants: | + | Les fonctions de **locate** peuvent être fournies par les paquets **locate** et **mlocate**. Ils se différencient par les points suivants: |
| - | * mlocate ajoute un horodatage qui accélére | + | * mlocate ajoute un horodatage qui accélère |
| * mlocate respecte les droits utilisateurs pour des raisons de sécurité (pas d'info sur /root par exemple pour user). | * mlocate respecte les droits utilisateurs pour des raisons de sécurité (pas d'info sur /root par exemple pour user). | ||
| - | Que vous ayez l'un ou l' | + | Que vous ayez l'un ou l' |
| - | ==== Fonctionnement ==== | ||
| - | **locate** utilise une base de données indexées listant tous les répertoires et fichiers du champ concerné | ||
| - | ==== Contrainte temps ==== | ||
| - | Quand ré-indexer ? | ||
| - | Si vous utilisez l' | ||
| - | < | ||
| - | # sudo updatedb | ||
| - | </ | ||
| - | et attendez le retour du prompt. | ||
| ==== Contrainte espace ==== | ==== Contrainte espace ==== | ||
| Ligne 48: | Ligne 57: | ||
| Nota : l' | Nota : l' | ||
| - | Dans ce fichier, c'est le champ " | + | Dans ce fichier, c'est le champ " |
| ==== Utilisation ==== | ==== Utilisation ==== | ||
| **locate** trouvera instantanément le chemin de l' | **locate** trouvera instantanément le chemin de l' | ||
| *temps : le répertoire ou le fichier a été ajouté ou déplacé avant la dernière indexation. | *temps : le répertoire ou le fichier a été ajouté ou déplacé avant la dernière indexation. | ||
| - | *espace : le répertoire ou le fichier est situé dans l' | + | *espace : le répertoire ou le fichier est situé dans l' |
| - Ouvrez la console. Tapez en cas de contrainte éventuelle : | - Ouvrez la console. Tapez en cas de contrainte éventuelle : | ||
| < | < | ||
| - | $ sudo updatedb | + | sudo updatedb |
| </ | </ | ||
| puis pour lancer la recherche, tout simplement : | puis pour lancer la recherche, tout simplement : | ||
| < | < | ||
| - | $ locate | + | locate |
| </ | </ | ||
| la console affichera alors tous les chemins incluant le mot bidule. | la console affichera alors tous les chemins incluant le mot bidule. | ||
| ==== Et si... ==== | ==== Et si... ==== | ||
| - | *je monte une nouvelle partition ? | + | *je monte une nouvelle partition ? |
| La base de données de locate représente environ un demi-millième de vos données, soit 2 mégas pour 4 gigas de données. Si vous montez par exemple une partition Suse de 4 Gigas sur /mnt/suse et vous ré-indexez (1 à 2 min.) la nouvelle base va doubler de taille (4 mégas) et permettra à **locate** d'y chercher sans problème. Si vous démontez cette partition Suse, **locate** ne vous donnera plus de résultat sur la partition démontée. | La base de données de locate représente environ un demi-millième de vos données, soit 2 mégas pour 4 gigas de données. Si vous montez par exemple une partition Suse de 4 Gigas sur /mnt/suse et vous ré-indexez (1 à 2 min.) la nouvelle base va doubler de taille (4 mégas) et permettra à **locate** d'y chercher sans problème. Si vous démontez cette partition Suse, **locate** ne vous donnera plus de résultat sur la partition démontée. | ||
| - | Par contre, toute partition montée de façon permanente sur l' | + | Par contre, toute partition montée de façon permanente sur l' |
| *j' | *j' | ||
| - | Vous cherchez par exemple avec locate le suffixe .mp3 ou .rtf. | + | Vous cherchez par exemple avec locate le suffixe .mp3 ou .rtf. |
| Il peut arriver que **locate** recense plus de 500 réponses positives soit plus que la valeur par défaut des lignes d' | Il peut arriver que **locate** recense plus de 500 réponses positives soit plus que la valeur par défaut des lignes d' | ||
| < | < | ||
| - | $ locate .mp3 | less | + | locate .mp3 | less |
| </ | </ | ||
| Si la liste est encore trop importante, vous pouvez rajouter un deuxième critère de recherche avec la commande grep de la façon suivante : | Si la liste est encore trop importante, vous pouvez rajouter un deuxième critère de recherche avec la commande grep de la façon suivante : | ||
| < | < | ||
| - | $ locate icon | grep firefox | less | + | locate icon | grep firefox | less |
| </ | </ | ||
| Vous pouvez aussi sauvegarder le résultat de votre recherche dans un fichier créé à cet effet (nom choisi : liste.txt) : | Vous pouvez aussi sauvegarder le résultat de votre recherche dans un fichier créé à cet effet (nom choisi : liste.txt) : | ||
| < | < | ||
| - | $ locate .mp3 | tee liste.txt | + | locate .mp3 | tee liste.txt |
| # ou bien : | # ou bien : | ||
| - | $ locate .mp3> | + | locate .mp3> |
| </ | </ | ||
| Ligne 96: | Ligne 105: | ||
| Si cela constitue un souci pour vous, il ne vous faudra installer que le paquet **mlocate**. | Si cela constitue un souci pour vous, il ne vous faudra installer que le paquet **mlocate**. | ||
| - | > Conclusion : **locate** est un outil aussi simple que pratique ne présentant que de faibles contraintes. | + | > Conclusion : **locate** est un outil aussi simple que pratique ne présentant que de faibles contraintes. |
| ===== Recherches spécialisées ===== | ===== Recherches spécialisées ===== | ||
| Ligne 104: | Ligne 113: | ||
| *Utiliser la console pour lancer **dpkg** | *Utiliser la console pour lancer **dpkg** | ||
| < | < | ||
| - | $ dpkg -L bidule | + | dpkg -L fichier |
| </ | </ | ||
| - | *Utiliser le menu système > | + | * Utiliser le [[synaptic|Gestionnaire de paquets synaptic]] |
| La procédure est plus longue : Synaptic est lancé après le mot de passe. Recherchez votre fichier. Une fois que le paquet recherché apparait dans le listing de droite, sélectionnez-le, | La procédure est plus longue : Synaptic est lancé après le mot de passe. Recherchez votre fichier. Une fois que le paquet recherché apparait dans le listing de droite, sélectionnez-le, | ||
| *Les autres | *Les autres | ||
| - | Citons notamment le logiciel " | + | Citons notamment le logiciel " |
| - | [[http:// | + | |
| ===== Rechercher avec une interface graphique ===== | ===== Rechercher avec une interface graphique ===== | ||
| - | Comme vous l'avez compris, point d' | + | Comme vous l'avez compris, point d' |
| ===== Pages en relation avec le sujet ===== | ===== Pages en relation avec le sujet ===== | ||
| Ligne 121: | Ligne 128: | ||
| ---- | ---- | ||
| - | // | + | // |
