3 manières de trouver un fichier sous Linux

Table des matières:

3 manières de trouver un fichier sous Linux
3 manières de trouver un fichier sous Linux

Vidéo: 3 manières de trouver un fichier sous Linux

Vidéo: 3 manières de trouver un fichier sous Linux
Vidéo: Comment gerer les permissions et les autorisations des applications Android 2024, Peut
Anonim

Trouver un fichier dans un système Linux peut être difficile si vous ne savez pas comment. La meilleure façon de trouver des fichiers est d'utiliser plusieurs commandes de terminal différentes. La maîtrise de ces commandes peut vous donner un contrôle total sur vos fichiers, et elles sont beaucoup plus puissantes que les simples fonctions de recherche sur d'autres systèmes d'exploitation.

Pas

Méthode 1 sur 3: Utilisation de "localiser"

690519 10 1
690519 10 1

Étape 1. Installez le

Localiser Fonctionnalité.

La commande locate fonctionne généralement beaucoup plus rapidement que find, car elle fonctionne à partir d'une base de données de votre structure de fichiers. Toutes les distributions Linux ne sont pas livrées avec la fonctionnalité de localisation installée, alors entrez les commandes suivantes pour tenter de l'installer:

  • Tapez sudo apt-get update et appuyez sur ↵ Entrée.
  • Vous pouvez l'installer dans Debian et Ubuntu comme ceci: Tapez sudo apt-get install mlocate et appuyez sur ↵ Entrée. Si locate est déjà installé, vous verrez le message mlocate est déjà la version la plus récente.
  • Dans Arch Linux, utilisez le gestionnaire de packages pacman: pacman -S mlocate
  • Pour Gentoo, utilisez emerge: emerge mlocate
690519 11 1
690519 11 1

Étape 2. Mettez à jour votre fichier

Localiser base de données.

La commande locate ne pourra rien trouver tant que sa base de données n'aura pas été construite et mise à jour. Cela se produit automatiquement tous les jours, mais vous pouvez également le mettre à jour manuellement. Vous devrez le faire si vous souhaitez commencer à utiliser locate immédiatement.

Tapez sudo updatedb et appuyez sur ↵ Entrée

690519 12 1
690519 12 1

Étape 3. Utilisez

Localiser pour effectuer des recherches simples.

La commande locate est rapide, mais elle n'a pas autant d'options que la commande find. Vous pouvez effectuer une recherche de fichier de base de la même manière que la commande find.

localiser -i "*.jpg"

  • Cette commande recherchera sur tout le système des fichiers avec l'extension.jpg. Le caractère générique * fonctionne de la même manière qu'avec la commande find.
  • Comme la commande find, le -i ignore la casse de votre requête.
690519 13 1
690519 13 1

Étape 4. Limitez vos résultats de recherche

Si vos recherches renvoient trop de résultats à traiter, vous pouvez les réduire à l'aide de l'option -n, suivie du nombre de résultats que vous souhaitez afficher.

localiser -n 20 -i "*.jpg"

  • Seuls les 20 premiers résultats correspondant à la requête seront affichés.
  • Vous pouvez également utiliser le | pipe pour envoyer les résultats à moins pour un défilement facile.

Méthode 2 sur 3: Utilisation de "trouver"

690519 1 1
690519 1 1

Étape 1. Recherchez un fichier par son nom de fichier

Il s'agit de la recherche la plus basique que vous puissiez effectuer à l'aide de la commande find. La commande ci-dessous recherchera la requête dans le répertoire actuel et dans tous les sous-répertoires.

find -iname "nom de fichier"

L'utilisation de -iname au lieu de -name ignore la casse de votre requête. La commande -name est sensible à la casse

690519 2 1
690519 2 1

Étape 2. Définissez la recherche pour qu'elle démarre dans le répertoire racine

Si vous souhaitez rechercher l'ensemble de votre système, vous pouvez ajouter le modificateur / à la requête. Cela indiquera à find de rechercher tous les répertoires à partir du répertoire racine.

find / -iname "nom de fichier"

  • Vous pouvez lancer la recherche dans un répertoire spécifique en remplaçant le / par un chemin de répertoire, tel que /home/pat.
  • Vous pouvez utiliser un. au lieu de / pour forcer la recherche à n'être effectuée que sur le répertoire et les sous-répertoires en cours.
690519 3 1
690519 3 1

Étape 3. Utilisez le caractère générique

* pour rechercher tout ce qui correspond à la partie de la requête.

Le caractère générique * peut être utile pour trouver quelque chose si vous ne connaissez pas le nom complet, ou si vous voulez tout trouver avec une extension spécifique.

trouver /home/pat -iname "*.conf"

  • Cela renverra tous les fichiers.conf dans le dossier utilisateur de Pat (et ses sous-répertoires).
  • Vous pouvez également l'utiliser pour trouver tout ce qui correspond à une partie du nom de fichier. Par exemple, si vous avez beaucoup de documents liés à wikiHow, vous pouvez tous les trouver en tapant "*wiki*".
690519 4 1
690519 4 1

Étape 4. Facilitez la gestion de vos résultats de recherche

Si vous obtenez beaucoup de résultats de recherche, il peut être difficile de les parcourir. Utilisez le | caractère et envoyer les résultats de la recherche au programme de filtrage "moins". Cela peut vous permettre de faire défiler et de filtrer les résultats beaucoup plus facilement.

find /home/pat -iname "*.conf" | moins

690519 5 1
690519 5 1

Étape 5. Trouvez des types de résultats spécifiques

Vous pouvez utiliser des modificateurs pour ne renvoyer que des types de résultats spécifiques. Vous pouvez rechercher des fichiers normaux (f), des répertoires (d), des liens symboliques (l), des périphériques de caractères (c) et des périphériques de bloc (b) en utilisant le bon modificateur.

find / -type f -iname "nom de fichier"

690519 6 1
690519 6 1

Étape 6. Filtrez vos résultats de recherche par taille

Si vous avez beaucoup de fichiers avec des noms similaires, mais que vous connaissez la taille que vous recherchez, vous pouvez filtrer nos résultats par taille.

find / -size +50M -iname "nom de fichier"

  • Cela renverra des résultats de 50 mégaoctets ou plus. Vous pouvez utiliser + ou - pour rechercher des tailles supérieures ou inférieures. L'omission du + ou du - recherchera les fichiers exactement de la taille spécifiée.
  • Vous pouvez filtrer par octets (c), kilooctets (k), mégaoctets (M), gigaoctets (G) ou blocs de 512 octets (b). Notez que l'indicateur de taille est sensible à la casse.
690519 7 1
690519 7 1

Étape 7. Utilisez des opérateurs booléens pour combiner les filtres de recherche

Vous pouvez utiliser les opérateurs -and, -or et -not pour combiner différents types de recherches en une seule.

find / travelphotos -type f -size +200k -not -iname "*2015*"

La commande trouvera dans le répertoire " travelphotos " les fichiers dont la taille est supérieure à 200 kilo-octets mais qui n'ont " 2015 " nulle part dans le nom du fichier

690519 8 1
690519 8 1

Étape 8. Recherchez des fichiers par propriétaire ou par autorisations

Si vous essayez de trouver un fichier spécifique appartenant à un utilisateur ou des fichiers avec certaines autorisations, vous pouvez affiner la recherche.

find / -user pat -iname "nom de fichier" find / -group utilisateurs -iname "nom de fichier" find / -perm 777 -iname "nom de fichier"

Les exemples ci-dessus rechercheront les utilisateurs, groupes ou autorisations spécifiés pour la requête. Vous pouvez également omettre la requête de nom de fichier pour renvoyer tous les fichiers qui correspondent à ce type. Par exemple, find / -perm 777 renverra tous les fichiers avec les autorisations 777 (aucune restriction)

690519 9 1
690519 9 1

Étape 9. Combinez les commandes pour effectuer des actions lorsque des fichiers sont trouvés

Vous pouvez combiner la commande find avec d'autres commandes afin de pouvoir les exécuter sur les fichiers renvoyés par la requête. Séparez la commande find et la deuxième commande avec l'indicateur -exec, puis terminez la ligne avec {};

trouve. -type f -perm 777 -exec chmod 755 {};

Cela recherchera dans le répertoire actuel (et tous les sous-répertoires) les fichiers qui ont des autorisations 777. Il utilisera ensuite la commande chmod pour modifier les autorisations en 755

Méthode 3 sur 3: Recherche de texte dans les fichiers

690519 14 1
690519 14 1

Étape 1. Utilisez le

grep commande pour rechercher des chaînes de texte dans les fichiers.

Si vous recherchez un fichier contenant une certaine phrase ou chaîne de caractères, vous pouvez utiliser la commande grep. Une commande grep de base est formatée comme suit:

grep -r -i "requête de recherche" /chemin/vers/répertoire/

  • Le -r définit la recherche sur "récursive", il recherchera donc dans le répertoire actuel et tous les sous-répertoires tout fichier contenant la chaîne de requête.
  • Le -i indique que la requête n'est pas sensible à la casse. Si vous voulez forcer la recherche à faire attention à la casse, omettez l'opérateur -i.
690519 15 1
690519 15 1

Étape 2. Découpez le texte supplémentaire

Lorsque vous effectuez une recherche grep comme ci-dessus, vous verrez le nom du fichier ainsi que le texte avec la requête correspondante en surbrillance. Vous pouvez masquer le texte correspondant et afficher simplement les noms et chemins de fichiers en incluant les éléments suivants:

grep -r -i "requête de recherche" /chemin/vers/répertoire/ | couper -d: -f1

690519 16 1
690519 16 1

Étape 3. Masquez les messages d'erreur

La commande grep renvoie une erreur lorsqu'elle essaie d'accéder à des dossiers sans les autorisations appropriées ou s'exécute dans des dossiers vides. Vous pouvez envoyer les messages d'erreur à /dev/null, qui les masquera de la sortie.

grep -r -i "requête de recherche" /chemin/vers/répertoire/2>/dev/null

Conseillé: