Maintenant, cet article va être aussi simple que possible et direct que possible. L'idée est de vous aider à comprendre les bases pures de la recherche Linux. De plus, nous allons utiliser plusieurs outils de recherche pour nous aider dans cette quête.
- Comment effectuer une recherche avec la commande find ?
-> Rechercher des extensions spécifiques
-> Rechercher dans les sous-dossiers
-> Recherche par propriétaire
-> Rechercher par autorisations de fichiers - Comment effectuer une recherche à l'aide de la commande de localisation
-> Comment installer localiser
-> Rechercher un fichier
-> Recherche par critères exacts - Comment effectuer une recherche à l'aide de l'outil ack ?
-> Utilisation de base
-> Trouver combien de fichiers contiennent une chaîne
-> Rechercher un motif
-> Obtenir des informations détaillées pour une chaîne
-> Recherche par extension - Outils de recherche bonus
- Vidéo avec exemples
La première méthode de recherche est avec la commande Find :
Avec la commande find, vous pouvez rechercher dans un dossier des fichiers avec une extension spécifique. Par exemple nous allons retrouver tous nos fichiers qui contiennent .html dans notre répertoire home :
# How to find files with specific extensions using the find command
cd /home/userprofile/
find -name "*.html"
Code language: PHP (php)
Supposons maintenant que nous ayons plusieurs documents .html dans ce répertoire, la sortie ressemblera à ceci :
Mais si nous sommes dans le dossier /home nous pouvons également demander à find de rechercher un nom ou une extension dans les sous-dossiers, comme dans cet exemple :
# Search with find in subfolders
find /home -name index.html
Code language: PHP (php)
La commande find va rechercher tous les sous-dossiers du répertoire /home et trouver tous les fichiers nommés index.html :
Une autre façon intéressante de rechercher avec find est de propriétaire et cela peut être très utile lorsque vous avez besoin de trouver tous les fichiers pour un utilisateur spécifique comme dans l'exemple suivant :
# Find files who belong to
find / -user sonik 2> /dev/null
Code language: PHP (php)
Maintenant, celui-ci est très bon dans ce prochain exemple, nous allons rechercher des fichiers avec des autorisations spécifiques comme 777
# Search for files with permissions
find /home/sonik -perm 777
Code language: PHP (php)
La deuxième méthode de recherche va utiliser la commande Locate
Installer la localisation
Par défaut, locate peut ne pas être installé sur votre distribution, donc selon votre distribution, il doit être installé. Dans cet exemple, nous allons l'installer dans Ubuntu Linux comme suit :
# Install locate in Ubuntu 21.04 Linux
sudo apt-install locate
#update locate db
sudo updatedb
Code language: CSS (css)
Locate a plusieurs alternatives comme mlocate et localiser , mais nous allons utiliser locate parce que c'est le plus populaire.
Rechercher un fichier avec locate
Localiser va maintenant rechercher dans l'ensemble du système Linux et la recherche la plus courante et la plus basique avec localiser est simplement localiser + nom de recherche de fichiers comme dans cet exemple
# Search for a file with locate
locate filename
Code language: PHP (php)
Rechercher exactement uniquement spécifié critères
Si vous voulez trouver tous les fichiers ou répertoires qui contiennent exactement et uniquement vos critères de recherche, utilisez le -b
option avec la commande locate, comme dans cet exemple :
# Search for exactly only specified criteria
locate -b '\mydata'
Code language: PHP (php)
La troisième méthode est avec l'outil Ack
Comment installer ?
Maintenant, ack doit être installé sur votre distribution, voici donc un guide sur la façon de le faire.
Comment utiliser la confirmation ?
Si vous utilisez ack en tapant simplement ack "texte", la commande fonctionnera parfaitement, mais elle peut vous donner beaucoup plus de puissance. Voici quelques exemples :
01 – Utilisation de base
# Basic usage
ack string-to-search
# Example:
cd /var/lib
ack name
Code language: PHP (php)
02 – Pour trouver combien de fichiers contiennent la chaîne que vous recherchent utiliser
# Find how many files contain string
ack -f | wc -l
# Output
2331
Code language: PHP (php)
03 – Pour rechercher des instances de notre modèle entourées de limites de mots, utilisez -w
# Surrounded by
ack -w string-to-search
Code language: PHP (php)
04 – Utilisez -c pour obtenir des informations détaillées sur la chaîne que vous recherchez
# Detailed information about string
ack -c string-tosearch
# Output
Doxyfile:8
Makefile:2
uncrustify.cfg:1
.travis.yml:2
neovim.rb:0
vim-license.txt:52
Code language: CSS (css)
05 - Recherche de type de fichier comme css ou python ou txt
# Search for file type like css or python or txt
ack string-to-search --css
Code language: PHP (php)
Outils de recherche bonus
Outils de recherche | |
---|---|
ripgrep | Rechercher récursivement des répertoires pour un modèle regex |
fzf | Fuzzy Finder en ligne de commande pour votre shell |
peco | Outil de filtrage interactif |
McFly | Naviguez dans l'historique de votre shell |
poisson-chat | Interface graphique de recherche polyvalente alimentée par localiser et trouver |
FRechercher | Utilitaire de recherche rapide de fichiers basé sur GTK+3 |
ANGRYsearch | Comme FSearch, un outil de recherche inspiré de Everything Search Engine |