Commande Find Linux

Modérateur : estocade

Répondre
estocade
Messages : 22
Enregistré le : 22 mai 2024, 12:27

Commande Find Linux

Message par estocade »

Les utilisateurs peuvent choisir parmi plusieurs normes, telles que rechercher un nom de fichier correspondant ou une plage horaire correspondant au moment où le fichier a été consulté ou modifié.

Les utilisateurs peuvent rechercher des fichiers en utilisant les critères suivants qui recherchent des supports de commandes : modèle de fichier, modèle de nom, date de création, propriétaire et autorisations, dossier et date de modification.

Bien que l'utilitaire de commande puisse rechercher des fichiers dans plusieurs répertoires, par défaut, la « commande find » affiche les résultats des fichiers dans le répertoire de travail actuel.


Exemples de commande file sous Linux
Il existe plusieurs façons d'utiliser la commande file pour faciliter les tâches. Vous trouverez ci-dessous des exemples de la commande 'find' sous Linux :

Rechercher des fichiers par nom à l'aide de la commande find

1. Rechercher dans le répertoire actuel
La commande recherche dans le répertoire de travail actuel le nom de fichier « putty.txt ». Cependant, si un utilisateur souhaite que la « commande find » renvoie uniquement les fichiers et non les répertoires, il doit alors ajouter -type f à la fin de la commande.

find . -name putty.txt

2. Recherchez des fichiers dans le répertoire personnel
La commande vérifie le répertoire /home. Par exemple, la commande ci-dessous consiste à rechercher le nom « putty.txt ».

find /home -name tecmint.txt

3. Rechercher des fichiers dans le répertoire /Home, quelle que soit la casse
La commande cherche à rechercher tous les fichiers quelle que soit la casse, c'est-à-dire en majuscules ou en minuscules dans le répertoire /home. Par conséquent, le résultat affichera tous les résultats correspondant au nom du fichier.

find /home -iname putty.txt

4. Rechercher dans tous les répertoires un fichier particulier
La commande recherche les répertoires portant un nom spécifique tel que « puttygen » dans le dossier racine. Par exemple, le titre à rechercher est « puttygen », l'utilisateur doit alors taper la commande ci-dessous.

find / -type d -name puttygen

5. Rechercher des fichiers PHP en utilisant le nom
La commande permettra aux utilisateurs de trouver tous les fichiers PHP portant un nom spécifique tel que « demander » dans un répertoire de travail.

find . -type f -name ask.php

6. Vérifiez les fichiers dans un répertoire temporaire
Il vérifie les fichiers « tmp » portant le nom de fichier « file.php ».

find / -type f -name tmp.php

Rechercher des fichiers/dossiers par autorisations

7. Rechercher des fichiers/dossiers par autorisations 777
La commande renverra tous les fichiers disposant des autorisations 777. Dans ce cas, il vérifiera toutes les données portant le nom « trial.php » et dispose de 777 autorisations.

​find / -perm 777 -name test.php

8. Rechercher le fichier SUID avec les autorisations 755
Le SUID (Définir l'ID utilisateur du propriétaire lors de l'exécution) est une autorisation temporaire définie pour un fichier qui permet à un utilisateur d'exécuter un exécutable en héritant de l'autorisation d'accès du propriétaire de l'exécutable. La commande ci-dessous recherchera les fichiers disposant de l'autorisation SUID 755.

find / -perm 4755​

9. Recherchez le fichier SGID avec l'autorisation 644
Semblable au SUID, le SGID (Définir l'ID de groupe lors de l'exécution) est également une autorisation temporaire accordée à un utilisateur pour exécuter un fichier ou un exécutable. La principale différence est qu'il hérite de l'autorisation du groupe lors de l'exécution d'un fichier plutôt que de la personne connectée au système. On peut rechercher les fichiers SGID sous Linux en utilisant la commande ci-dessous

find / -perm 2644​

10. Fichiers Sticky Bit avec autorisations 755
Le bit collant est un autre type de bit d'autorisation qui, lorsqu'il est attribué à un fichier, permettra uniquement à l'utilisateur root de supprimer le fichier. Par conséquent, aucun autre utilisateur n'aura la liberté de supprimer les données créées par l'utilisateur root.

Les utilisateurs activent donc le sticky bit pour garantir que personne ne peut supprimer le dossier ou son contenu. Outre la suppression, les utilisateurs disposent d’autres privilèges complets. Ci-dessous, vous pouvez utiliser la commande find sous Linux pour rechercher des fichiers avec l'autorisation 755 :

​find / -perm 1755

Commandes utilisateur et groupe

11. Commande spécifique à l'utilisateur
La commande ci-dessus recherchera les fichiers avec « putty.txt » appartenant à un utilisateur ou un groupe spécifique. Par exemple, dans ce cas, le nom d'utilisateur est « essai ». Molly est la propriétaire du fichier ou du dossier.

find / -user trial-name molly.txt

12. Commande spécifique au groupe
Dans le cas du groupe, si le nom du groupe est « collège » alors la commande sera la suivante :

find / -group college-name molly.txt

Recherche par le paramètre de temps
13. Recherchez les fichiers modifiés au-delà de 90 jours
La commande renverra tous les fichiers modifiés au-delà des 90 jours.

find / -ctime +90 molly.txt​

14. Rechercher un fichier modifié avec précision à 90 jours
Si un utilisateur souhaite rechercher des fichiers qui ont été modifiés exactement avant 90 jours, il doit alors saisir la commande de fichier suivante :

find / -mtime ​90

15. Rechercher des fichiers modifiés avant 90 jours
De plus, si un utilisateur souhaite rechercher des fichiers ouverts dans les 90 jours, tapez la commande suivante :

find / -atime -90​

16. Fichiers modifiés dans une plage de temps
Si un utilisateur souhaite rechercher un fichier qui a été modifié dans une période donnée, par exemple plus de 30 jours et moins de 90 jours, utilisez la commande suivante :

find / -mtime +30 -mtime -90

17. Fichiers à heure fixe
Rechercher des fichiers modifiés moins d'une heure précise

find / -cmin -30

18. Fichiers modifiés exactement en dessous du délai imparti
Supposons que si un utilisateur souhaite voir tous les fichiers dont le journal est modifié exactement en moins de 30 minutes, par exemple, tapez la commande suivante

find ​/ -mmin 30

19. Fichiers modifiés avant 30 minutes
Avec la commande suivante, on peut consulter les fichiers modifiés il y a plus de 30 minutes

find / -amin +30

20. Fichier dans une plage de temps donnée (heures/minutes)
La commande permettra aux utilisateurs de rechercher des fichiers modifiés dans une plage donnée. Par exemple, si l'on a besoin de voir un fichier qui a été modifié après 5 minutes et avant 25 minutes, entrez la commande suivante :

find / -mmin +5 -mmin -25​

21. Vérifier les fichiers créés
Pour vérifier les fichiers nouvellement créés, un utilisateur doit entrer une simple commande de recherche sous Linux.

​find / -newer test.txt

Rechercher par taille de fichier à l'aide des commandes

22. Recherchez un fichier de plus de 15 octets

À l’aide de la commande suivante, un utilisateur peut rechercher des fichiers ou des dossiers dont la taille dépasse 15 octets.

find / -size +15c​

23. Fichier ou dossier de plus de 40 Ko
L'utilisateur peut utiliser la commande ci-dessous pour rechercher des fichiers de plus de 40 Ko dans l'un des dossiers :

find /tmp -size 40k​

24. Recherche d'un fichier de moins de 20 Mo

Les utilisateurs peuvent utiliser la « commande find » pour rechercher des fichiers dont la taille est inférieure à 20 Mo dans un dossier.

find /tmp -size -20M​

25. Recherche de fichiers de plus de 1 Go
La commande ci-dessous renverra tous les fichiers ou dossiers dont la taille dépasse 1 Go

find /​ -size +1G

26. Fichiers vides sur un serveur
La recherche d'un fichier vide est très simple, et on peut le faire en exécutant la commande find ci-dessous sur

find / -size 0c

27. Recherche de fichiers selon une plage de taille
Avec la commande, on peut rechercher des fichiers dans une plage de taille donnée. Par exemple, si un utilisateur souhaite rechercher des fichiers de plus de 100 Mo et de moins de 300 Mo, la commande souhaiterait ceci :

find /fast -size +100M -size -300M -user molly -iname trial.txt

Dans l'exemple ci-dessus, Molly est la propriétaire du fichier et « essai » est le nom du fichier.

Exécutez la commande d'exécution sur les fichiers renvoyés avec la commande « Rechercher »
Avant d'utiliser la commande exécutable, les utilisateurs doivent être prudents car elle peut tout modifier. La commande d'exécution (-exec) permet aux utilisateurs d'agir sur les fichiers trouvés à l'aide de la « commande find ».

28. Recherche du dossier /Tmp
Ainsi, si un utilisateur souhaite rechercher dans le dossier /tmp le nom de fichier « essai » et afficher les résultats à l'écran, il doit alors exécuter la commande de recherche suivante :

find /tmp -iname *trial.* -exec ls -ld {} ;

29. Changer de propriétaire
C'est un exemple intéressant de la mesure dans laquelle un utilisateur peut utiliser la commande d'exécution. La commande suivante renverra le fichier trial.txt dont le propriétaire est Molly dans le dossier /home. Ensuite, la commande -exec modifiera la propriété de Sam en exécutant la commande chown.

find /home -user Molly -name trial.txt -exec chown Sam.Sam {} ;​

30. Modifier l'autorisation à l'aide de -Exec
Car c'est un fait que les possibilités avec -exec sont infinies. Un utilisateur peut exécuter la commande chmod sur les fichiers renvoyés avec la commande find pour modifier les autorisations de fichier à 755.

find /var/named -user Molly -name trial.txt.db -exec chmod 755 {} ;​

Les commandes ci-dessus sont quelques-unes des commandes « rechercher » les plus courantes sous Linux. Il existe de nombreuses autres possibilités que les utilisateurs peuvent choisir et qui rendent la recherche de fichiers moins longue et plus facile.
Répondre