Come può il Finder svuotare il Cestino più rapidamente di "rm -rf /Volumes/Foo/.Trashes/501/*"?

0

Il "Cestino" di un'unità flash USB2 da 16 GB aveva 3,4 GB di dati. L'ho svuotato come tale:

$ cd /Volumes/FooDrive/.Trashes/501
$ rm -rf *

Questo ha richiesto oltre 5 secondi. Sembrava abbastanza lungo. Quindi, come test ho deciso di svuotare il cestino di tutti i miei dischi tramite Finder. Altre unità:
2-TB usb3

usb da 500 GB 16 GB usb2 250-GB ssd

Ho misurato la dimensione del Cestino come tale:

$ du -ch /Volumes/WhateverDrive/.Trashes

C'erano 15 GB nel Cestino dell'unità da 500 GB e 5 GB nel Cestino della mia altra unità flash da 16 GB. Non ho misurato le altre unità.

Il Finder è sembrato richiedere meno di 5 secondi per svuotare il cestino per tutte quelle unità.

  • Il Finder svuota davvero il cestino molto più rapidamente di / bin / rm ? Come?
  • Il Finder esegue semplicemente il "clic" (segnalando che il cestino è vuoto) prima che il cestino su tutte le unità sia veramente vuoto?
posta david 12.07.2015 - 01:58
fonte

1 risposta

4

Il tempo necessario per cancellare un file non dipende (molto) dalla dimensione del file. Pertanto, il numero di file eliminati conta molto più della dimensione dei file. La mia ipotesi è che il cestino su FooDrive contenesse molti piccoli file, ed è quello che ci è voluto così tanto tempo.

Ho appena eseguito un test rapido sul mio HD, con 500.000 file a lunghezza zero sparsi in 1.110 directory (10 directory di primo livello, ciascuna contenente 10 sottodirectory, ciascuna contenente 10 sottodirectory, ciascuna contenente 50 file vuoti). du -ch ha dato la dimensione totale come 0B, ma find /path/to/trash -mindepth 1 | wc -l ha contato 501110 elementi. La loro eliminazione con rm -R è durata 75 secondi, mentre il Finder ha impiegato 91 secondi. La differenza consisteva principalmente nel fatto che il Finder impiegava 18 secondi per "prepararsi" (vale a dire contare i file) prima di eliminarli effettivamente.

Verdetto: rm -R è leggermente più veloce, ma non abbastanza per importare. Oh, e il Finder ha aspettato fino a che tutti gli oggetti non fossero effettivamente spariti prima di suonare il suo suono crinkle.

BTW, per alcuni tipi di file (ad esempio applicazioni), il Finder li mostrerà come singoli file, ma in realtà sono una struttura di cartelle nascoste che può contenere un numero elevato di file. Utilizza find /path/to/folder -mindepth 1 | wc -l per ottenere un conteggio accurato degli elementi.

    
risposta data 12.07.2015 - 07:15
fonte

Leggi altre domande sui tag