Dans le cadre de cette question, "grand répertoire" désigne, par exemple, un référentiel git du noyau Linux ou la source Chromium.
Si je rm -rf
un répertoire volumineux comme celui-ci du shell, il est supprimé en quelques secondes au plus.
Si je le déplace d'abord dans la corbeille, puis que je vide la corbeille, la première opération prend moins d'une seconde, puis la suppression prend plusieurs minutes (nous parlons à deux chiffres).
Pourquoi vider la corbeille si lentement? Que fait-il quand il est dit "se préparer"? Combien de temps de préparation faut-il pour exécuter rm -rf ~/.local/share/Trash/
?
Lors de la première opération, les fichiers sont simplement déplacés vers la corbeille.
Lorsque vous "supprimez" ces fichiers, il charge l'intégralité du fichier d'arborescence en mémoire, puis supprime chaque fichier un par un. Cela permet aux calculs de minutage de savoir combien de temps il faut pour supprimer le fichier, combien de fichiers doivent être supprimés, quelle est la taille de ces fichiers, bien que la plupart des paramètres ne soient pas utilisés ici, et vous permet d'appuyer sur cette petite croix rouge. arrêtez le processus.
C’est pourquoi je supprime toujours du shell