Quelque chose que je me demandais en supprimant une douzaine d'images de mon ordinateur: avec une rm -rf
commande rapide sur le contenu du répertoire, toutes les images avaient disparu en un clin d'œil. Lorsque je fais glisser la même douzaine d'images vers une poubelle / interdiction de recycler, cela prend parfois 10 secondes ou plus.
Maintenant, je suis sûr que certains d'entre eux proviennent de la surcharge de l'interface graphique et autres, et certains peuvent être le fait que le fichier "existe" toujours sous une forme quelconque s'il est mis dans la corbeille, mais y a-t-il autre chose qui explique une si grande disparité de temps? Est-ce que "rm" et "delete" sont des commandes fondamentalement différentes, donc j'essaie de comparer des pommes et des oranges?
la source
Réponses:
Comme vous l'avez remarqué à juste titre, l'interface graphique fait plus que simplement "supprimer" les fichiers.
revient simplement dans les dossiers en supprimant les fichiers et les dossiers qu'il y trouve.
L'interface graphique analyse d'abord l'arborescence entière pour déterminer ce qu'il y a là (afin qu'elle sache combien il doit faire pour dessiner la jolie barre), puis elle revient à travers l'arborescence en déplaçant à nouveau les fichiers de l'emplacement actuel vers l'emplacement de la poubelle peut fichiers pour votre interface graphique spécifique. Ce déplacement prend plus de temps, car il doit d'abord générer un nouveau nom de fichier unique, lier le fichier dans le dossier de la corbeille, puis le dissocier du dossier actuel et mettre à jour un index d'où les fichiers proviennent afin qu'ils puissent être "annulés" - de nombreuses opérations au lieu d'une seule.
Par exemple, sur Gnome 3, les fichiers sont déplacés vers l'emplacement:
Où
filename
est le nom du fichier d'origine etversion
est un numéro de version incrémenté pour garantir que le fichier est unique (la première instance de fichier n'a pas de numéro de version). Associé à cela est un.trashinfo
fichier stocké dans le dossier:Ce fichier contient le chemin d'origine du fichier avant sa suppression, ainsi que la date et l'heure auxquelles ce fichier a été supprimé.
Toutes ces opérations supplémentaires, qui doivent être effectuées sur chaque fichier individuel de l'arborescence que vous supprimez, garantissent que vous pouvez restaurer n'importe quel fichier de la corbeille et que vous êtes en mesure de supprimer des fichiers portant le même nom de la même emplacement et toujours restaurer les versions antérieures.
Rien de tout cela n'est fait avec une commande simple
rm
oumv
.la source
trash-cli
ne semble pas le faire récursivement. Lors de la suppression d'un dossier, Gnome 3 place-t-il vraiment un.trashinfo
fichier récursivement pour chaque sous-dossier et tous les fichiers contenant?