Comme vous le savez peut-être déjà, nous utilisons la commande rm sous Linux pour supprimer des fichiers et des dossiers. Les noms de fichiers à supprimer doivent être passés en arguments à rm . Cependant, rm n'offre pas d'autres options en soi, comme la suppression de fichiers en fonction de l'horodatage.
C'est la raison pour laquelle nous utilisons la commande find sous Linux, qui est utilisée pour rechercher des fichiers et des dossiers en fonction de différents paramètres. Il s'agit d'une commande complexe qui peut être utilisée pour effectuer une recherche avec des paramètres tels que le nom de fichier, la taille, le type de fichier, etc.
Il existe une option dans la commande de recherche pour rechercher des fichiers en fonction de leur ancienneté et aujourd'hui nous verrons comment utiliser rechercher et rm ensemble pour supprimer les fichiers plus anciens que le nombre de jours spécifié.
Rechercher des fichiers de plus de N jours
Nous utilisons l'argument '-atime'
de la commande find pour rechercher des fichiers antérieurs à N jours, c'est-à-dire dernier accès avant au moins N jours.
$ find <directory_path> -atime +<N> $ find . -atime +3
Il y a deux fichiers dans le courant qui ont été consultés pour la dernière fois il y a au moins 4 jours. Utilisons la 'stat ‘ commande pour vérifier ceci :
$ stat tmp2 tmp3
Comme vous pouvez le voir, les fichiers sont 4 et 5 jours respectivement. Notez que le programme ignore toute fraction de l'horodatage lors du calcul de l'ancienneté d'un fichier ; ainsi, par exemple, lorsque des fichiers de plus de 4 jours ou plus doivent être spécifiés, nous spécifions +3
.
Supprimer les fichiers de plus de N jours
Enfin, appelons la commande rm avec l'argument '-exec'
pour supprimer ces fichiers.
$ find . -atime +3 -exec rm {} \;
Ainsi les deux fichiers ‘tmp2 ' et 'tmp3 ' ont été supprimés.
Conclusion
Dans cet article, nous avons vu comment supprimer des fichiers antérieurs à un nombre de jours spécifié sous Linux. Comme vous le savez peut-être, dans les systèmes de fichiers Linux (et Unix), l'heure de création d'un fichier n'est pas conservée. Les trois horodatages conservés pour un fichier sont ; son heure de dernier accès, l'heure de sa dernière modification et l'heure de son dernier changement d'état.
Ici, nous avons considéré l'heure du dernier accès pour rechercher les fichiers. Les utilisateurs peuvent également choisir d'opter pour l'heure de modification ou de changement de statut :utilisez simplement les options '-mtime'
ou '-ctime'
respectivement, au lieu de '-atime'
, et le reste de la syntaxe reste le même.
Merci pour la lecture! Faites-nous part de vos réflexions dans les commentaires ci-dessous !