Trouver la commande dans Linux avec des exemples pratiques

Trouver la commande dans Linux avec des exemples pratiques

La commande Find est un utilitaire polyvalent et puissant de Linux, permettant aux utilisateurs de rechercher des fichiers et des répertoires en fonction de divers critères tels que le nom, le type, la taille, le temps de modification, et plus. La maîtrise de la commande Find peut améliorer considérablement votre efficacité et votre efficacité lorsque vous travaillez avec des systèmes Linux. Cet article fournira un guide complet de la commande Find, accompagné d'exemples pratiques.

Trouver la syntaxe et les options de commande

La syntaxe de base de la commande Find est la suivante:

trouver [Path] [Expression]
1trouver [Path] [Expression]
  • CHEMIN: Le répertoire dans lequel démarrer la recherche.
  • EXPRESSION: Les critères de recherche, y compris les options et les tests.

Certaines options communes incluent:

  • -nom: Recherchez des fichiers en fonction de leur nom ou de leur modèle.
  • -taper: Recherchez des fichiers en fonction de leur type (E.g., Fichiers réguliers, répertoires, liens symboliques).
  • -taille: Recherchez des fichiers en fonction de leur taille.
  • -m du temps: Recherchez des fichiers en fonction de leur temps de modification.
  • -utilisateur: Recherchez des fichiers en fonction de leur propriétaire.
  • -groupe: Recherchez des fichiers basés sur leur groupe.

Trouver des fichiers par nom

Pour rechercher des fichiers par leur nom ou leur modèle, utilisez le -nom Option suivie du nom de fichier ou du modèle entouré de devis uniques.

  • Recherche sensible à la casse:
    Find / Path / To / Directory -Name 'Nom de fichier.SMS'  
  • Recherche insensible à la cas:
    Find / Path / To / Directory -iname 'Name.SMS'  
  • Utilisation des caractères génériques:
    find / path / to / répertoire -name '*.SMS'  

Trouver des fichiers par type:

Pour rechercher des fichiers en fonction de leur type, utilisez le -taper Option suivie du spécificateur de type de fichier.

  • Fichiers réguliers:
    Find / Path / To / Directory -Type F  
  • Répertoires:
    Find / Path / To / Directory -Type D  
  • Liens symboliques:
    Find / Path / To / Directory -Type L  

Trouver des fichiers par taille:

Pour rechercher des fichiers en fonction de leur taille, utilisez le -taille option suivie d'un opérateur de comparaison (+, -, ou =) et la taille du fichier.

  • Fichiers supérieurs à 1 Mo:
    Find / Path / To / Directory-Size + 1M  
  • Fichiers inférieurs à 10 Ko:
    Find / Path / To / Directory-Size -10K  
  • Fichiers exactement 512 octets:
    Find / Path / To / Directory-Size 512C  

Trouver des fichiers par durée de modification:

Pour rechercher des fichiers en fonction de leur temps de modification, utilisez le -m du temps option suivie d'un opérateur de comparaison (+, -, ou =) et le nombre de jours.

  • Fichiers modifiés dans les 7 derniers jours:
    find / path / to / répertoire -mtime -7  
  • Fichiers non modifiés dans les 30 derniers jours:
    trouver / path / vers / répertoire -mtime +30  
  • Fichiers modifiés il y a exactement 14 jours:
    find / path / to / répertoire -mtime 14  

Trouver des fichiers par propriétaire et groupe:

Pour rechercher des fichiers en fonction de leur propriétaire ou de son groupe, utilisez le -utilisateur ou -groupe option suivie du nom d'utilisateur ou du nom de groupe.

  • Fichiers appartenant à l'utilisateur «John»:
    finir / path / vers / répertoire -Usser John  
  • Fichiers appartenant aux «développeurs» du groupe:
    Développeurs de groupes de recherche / Path / To / Directory  

Exécution des commandes sur les fichiers trouvés:

Pour effectuer des actions sur les fichiers trouvés, utilisez le -exécutif Option suivie de la commande et d'une paire de sourcils bouclés () En tant qu'espace réservé pour le chemin du fichier. La commande doit être terminée avec un point-virgule (;), qui doit être échappé ou enfermé en citations uniques.

  • Suppression de fichiers trouvés:
    find / path / to / répertoire -name '*.bak '-exec rm  \;  
  • Déplacer des fichiers trouvés vers un répertoire spécifique:
    find / path / to / répertoire -name '*.log '-exec mv  / path / to / destination \;  
  • Modification des autorisations de fichier:
    find / path / to / répertoire -type f -exec chmod 644  \;  

Combiner plusieurs critères de recherche:

Pour combiner plusieurs critères de recherche, utilisez des opérateurs logiques tels que -et, -ou, et -pas.

  • Trouvez des fichiers supérieurs à 1 Mo et modifiés au cours des 7 derniers jours:
    find / path / vers / répertoire -size + 1m-et -mtime -7  
  • Trouver des fichiers détenus par 'John' ou appartenant au 'développeurs' groupe:
    Find / Path / To / Directory -User John -Or-ou Groupe Developpers  
  • Trouvez tous les fichiers à l'exclusion de ceux avec un '.TMP ' extension:
    find / path / to / répertoire -not -name '*.TMP '  

Techniques de commande avancées:

  • Utilisation de motifs regex avec la commande find:
    find / path / to / répertoire -type f -regex '.* \.\ (txt \ | log \) '  
  • Trouver et gérer les liens symboliques cassés:
    find / path / to / répertoire -type l -xtype l -exec rm  \;  
  • Rechercher dans des répertoires spécifiques ou exclure certains répertoires:
    find / path / to / répertoire -path '/ path / to / exclure / *' -prune -or -name '*.txt '-print  

Meilleures pratiques pour utiliser la commande Find:

  • Démarrez votre recherche à partir du répertoire le plus spécifique pour optimiser le processus de recherche.
  • Utilisez sagement les modèles des caractères génériques et regex pour affiner vos résultats de recherche.
  • Vérifiez vos critères de recherche avant d'exécuter des commandes sur les fichiers trouvés pour éviter les actions involontaires.
  • Échappez ou citez toujours des caractères spéciaux tels que des espaces, des supports et des demi-colons pour assurer une interprétation précise par la coquille.

Conclusion

La maîtrise de la commande Find dans Linux est cruciale pour rechercher et gérer efficacement des fichiers sur votre système. En comprenant sa syntaxe, ses options et ses exemples pratiques, vous pouvez améliorer votre maîtrise de l'utilisation de cet utilitaire puissant. N'oubliez pas de suivre les meilleures pratiques lorsque vous utilisez la commande find pour vous assurer que vos recherches sont précises et efficaces.