Esiste un ordine delle operazioni rm
? Mi sono esibito rm
su una directory di grandi dimensioni e sono curioso di sapere dove avrei dovuto vedere cosa avrebbe potuto essere eliminato. Funziona rm
prima sui file, quindi sulle directory? Oppure si basa su alcune informazioni nella tabella degli inode?
Specifiche: rm dal sistema GNU coreutils 8.22: Arch Linux in esecuzione su un filesystem beagleboneblack su cui operava era un HDD Seagate esterno (ext4) che utilizzava USB 2.0.
backstory:
Stavo eseguendo un po 'di pulizia della directory ed eseguito
cp -r A/ B/ C/ Dest/
Senza volerlo, l'ho seguito con
rm -r A/ B/ C/ Dest/
quando intendevo semplicemente esibirmi
rm -r A/ B/ C/
L'ho preso e ho premuto Ctrl+ Cprima che fosse passato troppo tempo. In particolare, sono stati <3 secondi mentre stavo usando il time
comando insieme a rm
& cp
. Entrai ed esaminai Dest/
aspettandomi che fosse inesistente, ma ecco, era tutto intero e sembrava non esserne influenzato. Questo è un po 'sorprendente perché A/
B/
C/
era piuttosto piccolo. Forse 100-200 MB in totale. Dest/
tuttavia, è solo timido di 1 TB. L'esecuzione di un ls
Dest / ha mostrato che c'erano entrambi i file e le directory ad entrambe le estremità dell'alfabeto (ad esempio AFile.txt
.... .... Zoo.txt
).
Sono stato fortunato e ho cancellato rm
prima che causasse il caos nella mia directory Dest /? È rm
davvero così lento (per fortuna!)?
In caso contrario, come si fa rm
a rimuovere in modo ricorsivo cose tali da indovinare cosa si sarebbe potuto perdere?
Non mi aspetto davvero di recuperare ciò che avrei potuto perdere, solo curioso di sapere cosa potenzialmente è stato spazzato via.