web-dev-qa-db-fra.com

Comment supprimer uniquement les fichiers créés avant une date et une heure spécifiques

je voudrais supprimer de mon répertoire les fichiers qui ont été créés avant le 29/04/2018 à 16h00.

Je vous remercie

1
vincet

Linux n'enregistre pas l'heure de création, il n'y a que 3 enregistrements de temps pour les fichiers: dernier accès, dernière modification du contenu et dernière modification de l'inode. Donc, il ne vous reste que 3 options:

Pour supprimer tous les fichiers modifiés avant le 29/04/2018 à 16h00:

find . -type f ! -newermt '04/29/2018 16:00:00' -exec rm -f {} \;

Pour supprimer tous les fichiers accessibles avant le 29/04/2018 à 16h00:

find . -type f ! -newerat '04/29/2018 16:00:00' -exec rm -f {} \;

Pour supprimer tous les fichiers dont l'autorisation avait été modifiée avant le 29/04/2018 à 16h00:

find . -type f ! -newerct '04/29/2018 16:00:00' -exec rm -f {} \;

Vous ne voudrez probablement pas exécuter les commandes ci-dessus en tant que root, et n'oubliez pas de sauvegarder tous les fichiers importants.

Note importante!

Vous devez traiter les valeurs de date avec prudence. Même si le format complet de mon disque dur a été formaté le mois dernier, certains fichiers de mon répertoire personnel remontent à 2014!

Sources: [1][2][3]

4
Eskander Bejaoui