GNU/Linux >> Tutoriels Linux >  >> Linux

Comment supprimer des fichiers plus anciens que les jours spécifiés sous Linux

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 !


Linux
  1. Comment trouver des fichiers en double sous Linux

  2. Comment supprimer tous les fichiers antérieurs à X nombre de jours sous Linux ?

  3. Comment créer une tâche Cron qui supprime automatiquement les fichiers datant de plus de 30 jours ?

  4. Comment trouver tous les fichiers de plus de 1 Go sous Linux ?

  5. Comment supprimer des fichiers de plus de N jours à l'aide de tmpreaper sous Linux

Comment trouver des fichiers sous Linux

Comment compter les fichiers dans le répertoire sous Linux

Comment rechercher et supprimer des fichiers en double sous Linux

Comment supprimer des fichiers plus anciens que les jours spécifiés sous Linux

rechercher et supprimer un fichier ou un dossier de plus de x jours

Comment supprimez-vous les fichiers antérieurs à une date spécifique sous Linux ?