Sous Linux et tous les systèmes d'exploitation de type Unix, ' find ' est un utilitaire de ligne de commande qui localise les fichiers dans une ou plusieurs arborescences de répertoires. De plus, à l'aide de la commande, les utilisateurs peuvent définir des critères de recherche et des actions spécifiques sur les fichiers correspondant à la recherche. Il s'agit donc d'un utilitaire pour la hiérarchie des fichiers, où non seulement l'utilisateur peut l'exploiter pour trouver des données, mais également effectuer des opérations successives dessus.
Les utilisateurs peuvent choisir parmi plusieurs normes telles que la recherche d'un nom de fichier correspondant ou d'une plage de temps correspondant au moment où le fichier a été consulté ou modifié. Les utilisateurs peuvent rechercher des fichiers en utilisant les critères suivants qui trouvent les supports de commande - modèle de fichier, modèle de nom, date de création, propriétaire et autorisations, dossier et date de modification. Alors que l'utilitaire de commande peut rechercher des fichiers dans plusieurs répertoires, par défaut, la « commande de recherche » affiche les résultats des fichiers dans le répertoire de travail actuel.
- 1 Exemples de la commande file sous Linux
-
2 Rechercher des fichiers par nom à l'aide de la commande find
- 2.1 1. Rechercher à partir du répertoire actuel
- 2.2 2. Rechercher des fichiers dans le répertoire personnel
- 2.3 3. Rechercher des fichiers dans le répertoire /Home indépendamment de la casse
- 2.4 4. Rechercher tous les répertoires pour un fichier particulier
- 2.5 5. Trouver des fichiers PHP en utilisant le nom
- 2.6 6. Vérifier les fichiers dans un répertoire temporaire
- 3 Rechercher des fichiers/dossiers par autorisations
- 4 commandes utilisateur et groupe
-
5 Recherche par le paramètre de temps
- 5.1 13. Rechercher les fichiers modifiés au-delà de 90 jours
- 5.2 14. Rechercher un fichier modifié précisément à 90 jours
- 5.3 15. Rechercher des fichiers modifiés avant 90 jours
- 5.4 16. Fichiers modifiés dans une plage horaire
- 5.5 17. Fichiers à temps fixe
- 5.6 18. Fichiers modifiés exactement en dessous du temps imparti
- 5.7 19. Fichiers modifiés avant 30 minutes
- 5.8 20. Fichier dans une plage de temps donnée (heures/minutes)
- 5.9 21. Vérifier les fichiers créés
- 6 Recherche par taille de fichier à l'aide de commandes
- 7 Exécutez la commande d'exécution sur les fichiers renvoyés avec la commande "Rechercher"
Exemples de la commande file sous Linux
Il existe plusieurs façons d'utiliser la commande file pour faciliter les tâches. Voici 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 le nom de fichier 'putty.txt' dans le répertoire de travail actuel. Cependant, si un utilisateur souhaite que la ' commande find ' renvoie uniquement les fichiers et non les répertoires, il doit ajouter -type f à la fin de la commande.
find . -name putty.txt
2. Rechercher 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 indépendamment de la casse
La commande cherche à rechercher tous les fichiers quelle que soit leur casse, c'est-à-dire majuscules ou minuscules dans le répertoire /home. Par conséquent, le résultat affichera tous les résultats qui correspondent au nom du fichier.
find /home -iname putty.txt
4. Rechercher tous les répertoires pour un fichier particulier
La commande recherche les répertoires avec un nom spécifique tel que ' puttygen ' dans le dossier racine. Par exemple, le titre à rechercher est "puttygen", puis l'utilisateur doit taper la commande ci-dessous.
find / -type d -name puttygen
5. Trouver des fichiers PHP en utilisant le nom
La commande permettra aux utilisateurs de trouver tous les fichiers PHP avec un nom spécifique tel que "ask" dans un répertoire de travail.
find . -type f -name ask.php
6. Vérifier les fichiers dans un répertoire temporaire
Il vérifie les fichiers 'tmp' qui portent 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 qui ont 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. Trouver le fichier SUID avec les autorisations 755
Le SUID (Définir l'ID utilisateur du propriétaire lors de l'exécution) est un ensemble d'autorisations temporaires 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 qui ont l'autorisation SUID 755
find / -perm 4755​
9. Recherchez le fichier SGID avec l'autorisation 644
Semblable à SUID, SGID (Set Group ID upon execution) 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 des fichiers SGID sur Linux en utilisant la commande ci-dessous
find / -perm 2644​
10. Fichiers Sticky Bit avec autorisations 755
Le sticky bit est un autre type de bit d'autorisation qui, lorsqu'il est affecté à un fichier, permet 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.
Ainsi, les utilisateurs activent le bit collant pour s'assurer que personne ne peut supprimer le dossier ou le contenu. Outre la suppression, les utilisateurs disposent d'autres privilèges complets. Ci-dessous est celui qui peut utiliser la commande find sous Linux pour rechercher des fichiers avec la permission 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 'college' 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 qui ont été modifiés au-delà des 90 jours.
find / -ctime +90 molly.txt​
14. Rechercher un fichier modifié précisément à 90 jours
Si un utilisateur souhaite rechercher des fichiers qui ont été modifiés exactement avant 90jours, il doit saisir la commande de fichier suivante:
find / -mtime ​90
15. Rechercher des fichiers modifiés avant 90 jours
De plus, si un utilisateur veut trouver des fichiers qui ont été ouverts dans les 90 jours, tapez la commande suivante :
find / -atime -90​
16. Fichiers modifiés dans un intervalle de temps
Si un utilisateur souhaite rechercher un fichier qui a été modifié dans un intervalle de temps donné, par exemple, plus de 30jours et moins de 90jours, utilisez la commande suivante:
find / -mtime +30 -mtime -90
17. Fichiers à temps fixe
Rechercher les fichiers modifiés moins d'une heure spécifique
find / -cmin -30
18. Fichiers modifiés exactement en dessous du temps imparti
Disons donc si un utilisateur veut voir tous les fichiers dont le journal est modifié exactement en dessous de 30 minutes, par exemple, puis tapez la commande suivante
find ​/ -mmin 30
19. Fichiers modifiés avant 30 minutes
Avec la commande suivante, on peut regarder les fichiers modifiés plus de 30 minutes en arrière
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 on a besoin de voir un fichier qui a été modifié après 5 minutes et avant 25 minutes alors 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 de 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 tirer parti de la "commande de recherche" pour rechercher des fichiers dont la taille est inférieure à 20Mo 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 facile, et on peut le faire en exécutant la commande de recherche ci-dessous sur
find / -size 0c
27. Recherche de fichiers par plage de taille
Avec la commande, on peut rechercher des fichiers entre une plage de taille donnée. Par exemple, si un utilisateur souhaite rechercher des fichiers de plus de 100Mo et de moins de 300Mo, la commande doit:
find /fast -size +100M -size -300M -user molly -iname trial.txt
Dans l'exemple ci-dessus, Molly est le propriétaire du fichier et le «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 d'une commande (-exec) permet aux utilisateurs d'agir sur les fichiers trouvés à l'aide de la «commande de recherche».
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 exécuter la commande de recherche suivante:
find /tmp -iname *trial.* -exec ls -ld {} ;
29. Changement 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
Comme 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 sur 755.
find /var/named -user Molly -name trial.txt.db -exec chmod 755 {} ;​
Les commandes ci-dessus sont quelques-unes des commandes "trouver" les plus courantes sous Linux. Il existe de nombreuses autres possibilités que les utilisateurs peuvent choisir et rendre la recherche de fichiers moins longue et plus facile.