Comment supprimer des fichiers plus anciens que les 10 premiers jours dans Linux

Comment supprimer des fichiers plus anciens que les 10 premiers jours dans Linux
«Ce tutoriel Linux explique comment supprimer des fichiers de plus de 30 jours. Après avoir lu cet article, vous pourrez supprimer des fichiers en fonction du moment où ils ont été créés. Étant donné que tous les utilisateurs de Linux doivent savoir comment trouver et supprimer des fichiers en fonction d'un mtime spécifique (modification / temps de création), ce contenu est optimisé à la fois pour les utilisateurs nouveaux et expérimentés. Tous les exemples indiqués ci-dessous sont valables pour chaque distribution Linux.

Toutes les instructions incluses dans ce document contiennent des captures d'écran, ce qui permet à chaque utilisateur de Linux de les comprendre et de les appliquer facilement."

Note: Cet article utilise comme exemple de fichiers de plus de 30 jours, mais vous pouvez modifier le nombre de jours en remplaçant 30 par n'importe quel nombre que vous souhaitez.

Suppression des fichiers âgés de 30 jours dans Linux

Pour commencer, voyons comment lister les fichiers affichant leur date à l'aide du LS (Liste) Commande suivie du -l drapeau pour une longue liste et par le chemin. Dans mon cas, le chemin est le Linuxhintdirectory Répertoire situé dans le répertoire actuel.

ls -l LinuxHintDirectory /

Comme vous pouvez le voir dans la figure ci-dessus, il y a deux fichiers et 2 répertoires de plus de 30 jours. Nous pouvons voir des fichiers WPA.hacher et WP-Config.php, et wpascan et zmap répertoires.

La commande ci-dessous supprimera les fichiers (pas de répertoires) dans le chemin spécifié (comme dit, mon chemin est Linuxhintdirectory Situé sous le chemin actuel).

Note: Dans mon cas, je suis affaire à des fichiers créés par l'utilisateur racine. La suppression massivement des fichiers car la racine n'est pas recommandée.

sudo trouve LinuxHintDirectory -Type F -mtime +30 -Delete

Note: Vous pouvez remplacer +30 par + x (le nombre est arbitraire en fonction de vos besoins) pour trouver des fichiers plus anciens que x. Ou -x pour trouver des fichiers plus récents que x. Les différences sont les symboles plus et moins.

Comme vous pouvez le voir dans l'image précédente, les fichiers WPA.hacher et WP-Config.php ont été supprimés avec succès à l'aide de la commande décrite où:

Sudo: Cette commande donne des privilèges dans le cas où vous souhaitez supprimer. L'utilisation de Sudo lors de la suppression des fichiers n'est pas la meilleure option; Je l'ai utilisé juste pour les exemples.

trouver:

LinuxHintDirectory: Dans des exemples précédents, Linuxhintdirectory Le répertoire est-il où les fichiers que je veux supprimer sont stockés. Ce champ doit être remplacé par le chemin d'accès réel vers les fichiers que vous souhaitez supprimer.

-taper: Cet drapeau de commande est utilisé pour définir le type de fichier que vous souhaitez supprimer (utiliser un F pour les fichiers et un d pour les répertoires).

F: Après avoir utilisé le drapeau de type, le F, dans ce cas, a été utilisé pour spécifier que nous voulons supprimer des fichiers à l'exception des répertoires.

-mtime: Le -m du temps Le drapeau est utilisé pour spécifier que nous voulons trouver des fichiers en fonction de leur création ou de leur temps de modification. Ce drapeau doit être suivi d'un moins (-) et du nombre de jours pour les fichiers créés / modifiés après la date spécifiée. Ou un symbole plus (+) suivi du nombre de jours de fichiers créés ou modifiés il y a plus de x jours.

+30: Comme indiqué précédemment, l'indicateur -mtime doit être suivi du nombre de jours selon lequel nous voulons trouver des fichiers. Dans ce cas, +30 spécifie des fichiers créés il y a plus de 30 jours; Vous devez remplacer le numéro par les jours où vous souhaitez définir comme paramètres.

-supprimer: Cet drapeau ordonne à la commande finir de supprimer des fichiers correspondant aux indicateurs décrits précédemment.

Juste au cas, je veux montrer un autre exemple montrant un chemin avec des sous-répertoires, comme vous pouvez le voir ci-dessous, où le local Linuxhintdirectory est défini à partir du répertoire personnel de l'utilisateur.

Sudo Find ~ / LinuxHintDirectory -Type F -mtime +30 -Delete

Maintenant, nous pouvons voir dans la capture d'écran sous l'emplacement LinuxHintDirectory contient des sous-répertoires videdir1, videdir2, linuxhintdir3, Modèles, test, et touche.

Selon les dates ci-dessous, les seuls répertoires éligibles à supprimer sont linuxhintdir3, Modèles, test, et touche.

ls -l LinuxHintDirectory /

Voyons maintenant ce qui se passe lorsque vous remplacez -Type F avec -type D Pour spécifier les répertoires.

Sudo Find ~ / LinuxHintDirectory -Type D -mtime +30 -Delete

Comme vous pouvez le voir ci-dessous, de tous les répertoires correspondant à l'état de plus de 30 jours, seuls deux ont été supprimés: linuxhintdir3 et Modèles. En effet, la commande précédente supprime uniquement les répertoires vides. Vous pouvez `` supprimer les répertoires récursivement en utilisant la commande décrite ci-dessus. C'est pourquoi vous voyez des erreurs dans la dernière capture d'écran, avertissant qu'il ne pouvait pas supprimer les répertoires non listés non vides.

Pour supprimer les répertoires avec du contenu à l'intérieur, nous combinerons la commande find avec le RM commande. Avant, vérifions le linuxhintdir Répertoire des fichiers et sous-répertoires internes en ajoutant -R (Récursif) drapeau comme indiqué ci-dessous.

ls -rl linuxhintdir /

Comme vous pouvez le voir ci-dessus, tous les fichiers et répertoires sont âgés de plus de 30 jours. Par conséquent, pour les supprimer tous, j'exécute la commande suivante comme indiqué ci-dessous.

Sudo Find ./ linux / linuxhintdir -type d -mtime +30 -exec rm -rf \;

Comme vous pouvez le voir, le répertoire linxhintdir n'a pas été supprimé, mais tout son contenu a été supprimé. Comme vous pouvez le voir dans la capture d'écran ci-dessous, la raison derrière linuxhintdir La persistance est que le répertoire a été créé aujourd'hui mais contenait d'anciens fichiers.

Maintenant, vérifions le répertoire / opt récursivement.

Note: J'ai supprimé le répertoire Google avant cette étape.

Ci-dessous, vous pouvez voir une séquence complète. Comme vous pouvez le voir, il y a deux répertoires de plus de 30 jours (GVM et ventre de l'équipe). Tous deux ont des fichiers et des sous-répertoires. Supprimons GVM et tout son contenu en exécutant la même commande utilisée précédemment, où nous ne changeons que le chemin vers le fichier (maintenant GVM).

sudo trouver gvm -type d -mtime +30 -exec rm -rf \;

Comme vous pouvez le voir, après avoir exécuté la commande, seulement le ventre de l'équipe Le répertoire reste; GVM a été supprimé avec succès.

Conclusion

Comme vous pouvez le voir, la suppression des fichiers avant ou après une date spécifique est assez simple. Tout utilisateur de Linux, indépendamment du niveau de connaissances, doit savoir comment trouver et gérer les fichiers par date. Les commandes expliquées dans ce tutoriel sont valables pour toutes les distributions Linux. Il vous est recommandé d'appliquer les commandes ci-dessus pour acquérir de la pratique (utiliser un environnement expérimental ou de test). N'oubliez pas que le symbole + signifie «plus que» tandis que le symbole moins (-) signifie «plus récent que».

J'espère que cet article expliquant comment supprimer des fichiers de plus de 30 jours à Linux a été utile. Continuez à nous suivre pour des tutoriels plus professionnels.