this post was submitted on 16 Mar 2026
170 points (96.2% liked)

Programmer Humor

30403 readers
2797 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS
 

Sudo rm -rf .

you are viewing a single comment's thread
view the rest of the comments
[–] db0@lemmy.dbzer0.com 18 points 5 hours ago (3 children)

DOS user detected! In linux you don't need *.*, you can just use *

[–] lena@gregtech.eu 12 points 4 hours ago (1 children)

Maybe he wanted to remove only files with a dot in the name

[–] jaybone@lemmy.zip 2 points 1 hour ago (1 children)

And if he’s on / (root) on most common distros, there won’t be any dirs with . (dot) in their name. Unless this matches the dot from the cwd, in which case this is the same as “rm -rf /“? Now I’m curious, I don’t often perform operations on the cwd using dot.

[–] lena@gregtech.eu 3 points 1 hour ago (1 children)

At least bash doesn't seem to match it...

gregor@raspberrypi:~ $ ls
bridge  navidrome  seed  traefik
gregor@raspberrypi:~ $ ls *.*
ls: cannot access '*.*': No such file or directory
gregor@raspberrypi:~ $ cat *.*
cat: '*.*': No such file or directory
[–] jaybone@lemmy.zip 1 points 1 hour ago* (last edited 1 hour ago)

Right, so then if asterisk wildcards don’t match on . and .. then, in most common distros where there is no dot in any of the top level dirs in /, “rm -rf *.*” in the top level / dir is basically harmless and likely a noop.

So OP is wrong.

[–] calango@programming.dev 5 points 4 hours ago (1 children)

God programmed the universe into DOS

[–] jaybone@lemmy.zip 2 points 1 hour ago

This explains a lot.

[–] prettybunnys@piefed.social 1 points 4 hours ago (1 children)

well, depending on your shell

[–] db0@lemmy.dbzer0.com 2 points 2 hours ago (1 children)

Which shell interprets * as everything before extension?

[–] prettybunnys@piefed.social 3 points 1 hour ago

Well I’m not necessarily commenting on the *.* but * will skip .files in bash.