Spyke
bort
sopuli.xyz

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.

95
lemmyvorereply
feddit.nl

doing exactly what the caller intended.

No, no. Exactly what the user told it to do. Not what they intended. There's a difference.

116
hstdereply
feddit.de

Exactly type rm -rf / instead of rm -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.

36
taladarreply
sh.itjust.works

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 is rm -rf ${FOO}/ while ${FOO} is an empty string.

35
NeatNitreply
discuss.tchncs.de

Even so, . and / are right next to each other so it's a likely typo. You might press enter before you catch it.

18

${Insert meme of qwertz ganz not having that problem here}

1
Technofroodreply
feddit.uk

Don't modern versions of rm block calling on / unless you pass a separate flag?

17

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.

3
lemmy.world

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

57

Better would be to delete without confirmation but being able to quickly reverse it with Ctrl+Z

9
lemmy.world

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

54
Swarfegareply

Outlook on Exchange is like this. You can delete stuff to the Deleted Items directory. If you delete it from there it goes into another area called 'Recover deleted items'.

9

They usually support one but it is generally not provided by the file manager it's self. This means that assuming that the file managers use the same trash system you can trash a file on one recover it another.

5

The windows shell has really gone downhill in recent years, with spontaneous file locks and random hangs

It's always the AV...

44
lemmy.ca

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.

29
0x4E4Freply
sh.itjust.works

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.

16
lemmy.world

"what are you trying to tell me? I'll be able to select 'yes' when it asks me if I'm sure I want to delete?"

"No, Neo. I'm saying when you switch to Linux you won't have to."

6

Akchooly, what you're referring to as terabyte (TB) is called tebibyte (TiB), because window$ suck and JADEC made everyone believe that binary units are metric units, which is stupid. But we have the savior IEC which KDE is using in all of their software and I respect that.

https://en.m.wikipedia.org/wiki/Binary_prefix

2
don
lemm.ee

Left side: I regularly go bowling with the demon core

Right side: I have read the demon core’s wiki 314 times

22

There is no such thing as coincidence.

Gets down and his knees and starts bowing to the chosen one

3
lemmy.world

I never deleted my root system with rm but I did dd go sda instead of sdb and ended up losing my data.

19
0x4E4Freply
sh.itjust.works

With great power comes great responsibility. Do check twice what you write.

Jokes aside, it has happened to almost everyone... and then you learn to QUADRUPLE CHECK dd commands.

6
Eccitazereply
yiffit.net

I haven't accidentally deleted a bunch of data yet (which, considering 99% of my interaction with Linux is when I'm SSH'd into a user's server, I am very paranoid about not doing), but I have run fsck on a volume without mounting the read/write flashcache with dirty blocks on it first.

Oops.

5

It will happen to you sooner or later πŸ˜‚... we're all dead on a long enough time scale 🀷 πŸ˜‚.

1
voxelreply
sopuli.xyz

or just don't attach any drives except the main one to your system. ever.

4
Pete90reply

I did, and it was fast. I was a complete noob, so I thought rm -rf /* would delete everything in the current folder. I hit Ctrl + C, but it was too late. Took a few seconds to wipe out the whole system.

4
palordrolapreply
kbin.social

This works for those of us in GNOME and GNOME-derived places.

Seems like KDE doesn't have anything quite so simple. A quick web search suggests the correct command is kioclientN move filename trash:/ where N is the version number of kioclient. Very verbose. Worthy of a shell alias.

0
lemmy.zip

Now wonder, which one is will be preferred by people who aren't tech savvy.

15
porlreply

They are not likely to be using the terminal. Pretty much every graphical file browser will ask for confirmation upon delete, and many will use a rubbish bin by default.

13

To be fair, assuming you are not using a wastebasket which comes pre installed in a lot of distros, you still need the right permissions to delete files that belong to the system and if you're using rm you have to use the -rf option to remove a folder and it's contents.

6
0x4E4Freply
sh.itjust.works

Yeah, but get this! It's not enough to just envoke cmd in Windows with just Win+R (sorry, sorry... Super+R 😁), even though you're invoking it from an admin account, no sir, it's still just a plain user as long as cmd is concerned πŸ˜‚.

And this is what you get when you wanna do backwards compatibility all the way down to DOS πŸ˜‚.

1
lemmy.world

We have pretty good backwards compatibility too, to my knowledge it's actually better.

1

My point was, MS has backwards compatibility all the way down to an OS that has no sense of users and permissions and that is why Windows, even nowadays, has these problems. If you get rid of the DOS legacy stuff, you can have decent user permission and security in place, but too much shit relies on legacy code, so they keep it.

1
maiskanzlerreply
feddit.de

Btrfs snapshots/subvolumes can now also be deleted with rm. It's no longer necessary to use 'btrfs subvolume delete'

8
0x4E4Freply
sh.itjust.works

Really?

As I always say, you get the best linux info from linux memes 😁.

6

One of my first experiences with Linux at university was watching a classmate install Slackware, and then (for a laugh) dragging everything into the recycle bin.

They got a passing grade, because the lecturer saw their working installation, but they learned a valuable lesson in Linux that if you delete something, it'll fucking delete it.

7
lemmy.world

Is that actually true? Does Windows check every file with Defender before deleting it?

7
0x4E4Freply
sh.itjust.works

Not just every file deleted, every file written to disk as well (downloaded, extracted from an archive, whatever).

It's also how most AV software works, except Defender is slow AF.

17
voxelreply
sopuli.xyz

also, defender is synchronous by default (e.g. nothing gets written until it gets scanned, and scanning parallelization is limited), and can only act asynchronously (aka write first, then queue check) on "trusted dev drives" (aka ReFS-based virtual vhdx partitions aimed at developers as a solution to horrible ntfs throughput, especially if defender is enabled)

8

Not true, it does get written before it gets scanned. In fact, it doesn't even always scan before the file is read by explorer (yes, it's the worst AV ever). It's easy to prove this, just extract FFF's WinRAR keygen and you'll see what I mean.

1
HStone32reply
lemmy.world

Huh. All that security, and yet there are still so many viruses capable of infecting windows.

7

Humans are easy targets 😁... we've lived semi-isolated from nature at least the last few hundred years.

1
uisreply
lemm.ee

I thought it checks every file closed

1
0x4E4Freply
sh.itjust.works

No, it scans file headers when you do read/write operations on disk. Every AV works this way, except, as I said, Defender is slow AF.

1
uisreply
lemm.ee

I can't find talk I watched, but I found github issue it was based on.

Short version: Defender is triggered not on open, not on read or write, but on CloseHandle.

1

Here is an alternative Piped link(s):

Found

Piped is a privacy-respecting open-source alternative frontend to YouTube.

I'm open-source; check me out at GitHub.

1

I don't think LLMs usually make this kind of mistake. Maybe it's not written by a native speaker. Also it's a doge meme, it could be just slightly bad grammar on purpose.

6