Though the Windows thing was really funny 😂.
I’m so annoyed when I tell
rm
to delete a terabyte of data and it’s nowhere near instant. I’d have probably gone insane if I was using Windows.1TB for Windows… depends on file size, but let’s presume you have 1TB of Word documents… just hit Enter and go watch the Matrix trilogy.
the linux-file-deletion is used as a example for good software design. It has a very simple interface with little room for error while doing exactly what the caller intended.
In John Ousterhout’s “software design philosophy” a chapter is called “define errors out of existence”. In windows “delete” is defined as “the file is gone from the HDD”. So it must wait for all processes to release that file. In Linux “unlink” is defined as “the file can’t be accessed anymore”. So the file is gone from the filesystem immediately and existing file-handles from other processes will life on.
The trade-off here is: “more errors for the caller of delete” vs “more errors due to filehandles to dead files”. And as it turns out, the former creates issues for both developers and for users, while the later creates virtually no errors in practice.
The trade-off here is: “more errors for the caller of delete” vs “more errors due to filehandles to dead files”. And as it turns out, the former creates issues for both developers and for users, while the later creates virtually no errors in practice.
Tell that to my dded porn collection.
Yes, the file itself (so the data and inode) is not gone as long as the handles live on. Only the reference is gone. You canstill recover the file. https://superuser.com/questions/283102/how-to-recover-deleted-file-if-it-is-still-opened-by-some-process#600743
doing exactly what the caller intended.
No, no. Exactly what the user told it to do. Not what they intended. There’s a difference.
Exactly type
rm -rf /
instead ofrm -rf ./
and you ducked up. Well you messed up a long time ago by having privileges to delete everything, but then again, you are human, some mistakes will be made.Deleting the current directory via
./
seems contrived since you would just use.
or more likely the directory name from outside the directory. What does happen isrm -rf ${FOO}/
while${FOO}
is an empty string.
Machines will always do what you tell them to do, as long as you do what they say.
do what they say
I like the windows delete philosophy of asking me before I delete something.
I fucking hate the windows delete philosophy of telling me I don’t have access after I said yes.
I’m this close to daily driving as Sadmin
Better would be to delete without confirmation but being able to quickly reverse it with Ctrl+Z
I never deleted my root system with rm but I did dd go sda instead of sdb and ended up losing my data.
GUI file managers generally have “Trash” feature as well.
One drive has a trash for the trash. I’m still not convinced those files are gone after the 2nd empty, I think they just don’t show the other trash cans
It’s trash cans all the way down.