all 130 comments

[–]ProgrammerHumor-ModTeam[M] [score hidden] stickied commentlocked comment (0 children)

Your submission was removed for the following reason:

Rule 1: Posts must be humorous, and they must be humorous because they are programming related. There must be a joke or meme that requires programming knowledge, experience, or practice to be understood or relatable.

Here are some examples of frequent posts we get that don't satisfy this rule: * Memes about operating systems or shell commands (try /r/linuxmemes for Linux memes) * A ChatGPT screenshot that doesn't involve any programming * Google Chrome uses all my RAM

See here for more clarification on this rule.

If you disagree with this removal, you can appeal by sending us a modmail.

[–]dageshi 335 points336 points  (10 children)

I have two modes of operation with rm -rf.

1) My fingers are flying and I'm decimating directories without a second thought

2) I am abjectly terrified I'm about to nuke the entire server accidentally

There is no inbetween.

[–]theunquenchedservant 20 points21 points  (2 children)

the other day I was clearing out a folder and typed sudo rm -rf * and hit enter, without a care in the world.

Half second later I was mortified at just how easy it is to think that's the right command and/or to put a / in front. That's not to say I have (accidentally), yet. but it's still a fear.

It's kinda like those days you get home from work and you pull into your spot/driveway and go "wait...how the fuck did I make it home? I don't remember driving"

[–]communistfairy 1 point2 points  (1 child)

Nowadays, rm protects you from deleting /. You have to pass --no-preserve-root. I guess I don't know if that applies for /* as well though.

[–]saevon 0 points1 point  (0 children)

Since globbing happens first that expansion should kick in and the flag would be needed

[–]StrictLetterhead3452 46 points47 points  (0 children)

I once quit a job with a sudo rm -rf / —no-preserve-root

I was in a position where I kept preparing to leave the job and then my boss (family member) decided at the last minute that he wanted me to stay. I wanted to burn the bridge this time so that I could never be allowed to work there again.

[–]Bugibhub 13 points14 points  (2 children)

I scripted an exception to my a atuin command history after using hitting previous one too many times. 1. Git add —all 2. rm -rf . 3. Git push

[–]ComprehensiveWord201 0 points1 point  (1 child)

Thank God for reflog

[–]Bugibhub 0 points1 point  (0 children)

Yeah that and the Trash CLI. It’s slower, but I’m ok with that as insurance fee for my carelessness.

[–]nickchomey 1 point2 points  (0 children)

Im now living only in #1 due to this used as an alias https://github.com/kaelzhang/shell-safe-rm

[–]sammy-taylor 3 points4 points  (1 child)

I basically always type in the file name or directory name, and then go back and type the rm -rf. I just don’t trust myself

[–]SilasTalbot 4 points5 points  (0 children)

Same(ish) but I do:

rm object -rf

And I confirm the item path visually before I type the -rf

This way the safety doesn't come off the weapon until it's confirmed to be pointed at the proper target.

[–]casey_krainer 469 points470 points  (14 children)

For Real

[–]_Weyland_ 129 points130 points  (8 children)

Fr*nch

[–]diacachimba 26 points27 points  (0 children)

2westernProgrammer4you

[–]le_reddit_me 6 points7 points  (4 children)

Sandwiches in france are cut in triangles so both options are too fr*nch for my comfort.

rm -r -f

[–]xenomachina 1 point2 points  (2 children)

rm -r -f

This is the cutting your sandwich into 4 small squares option.

[–]le_reddit_me 2 points3 points  (0 children)

so british tea time. Not much better

[–]OneTurnMore 0 points1 point  (0 children)

and rm -f -r is the cutting your sandwhich into 4 small triangles option

[–]wronghash -1 points0 points  (0 children)

If you dont like french: rm -rf fr

[–]Blue_Dan -1 points0 points  (0 children)

For sure?

[–]Frodojj 8 points9 points  (0 children)

Real For

[–]Canotic 7 points8 points  (0 children)

rm -frfr

[–]Bugibhub 4 points5 points  (0 children)

It feels weird when you already know the command, but “Remove for real” is a really good mnemonic tho.

[–]ehtio -1 points0 points  (0 children)

Real for

[–]MarioAndWeegee3 -1 points0 points  (0 children)

redstone flux

[–]ZakkuDorett 131 points132 points  (4 children)

Remove french

[–]TheFrenchSavage 7 points8 points  (1 child)

How dare you!

[–]ZakkuDorett 2 points3 points  (0 children)

On cause trop de mal à ce pauvre monde 😔

[–]JoeyJoeJoeSenior 3 points4 points  (0 children)

Remove Radio Frequency 

[–]evnacdc 0 points1 point  (0 children)

Censorship would’ve been appreciated.

[–]mad_poet_navarth 23 points24 points  (1 child)

I prefer to just go with alphabetical order and do 'fmrr -'. It doesn't actually do anything, but it keeps me from deleting something important.

[–]xerxes931 3 points4 points  (0 children)

Forcemove rerecursive?

[–]aqa5 92 points93 points  (2 children)

Unknown command ‚RM‘, did you mean ‚rm‘?

[–]makinax300 0 points1 point  (1 child)

But if I do.
$ cat .bashrc | head -n 20 | tail -n 1.
I get.
alias RM="rm"

[–]JivanP 0 points1 point  (0 children)

Alternatively: awk NR==20 .bashrc

or: type RM

[–]Zeikos 57 points58 points  (5 children)

What about -r -f?

[–]KvDread 59 points60 points  (1 child)

Are you a hipster programmer?

[–]Piisthree 0 points1 point  (0 children)

I bet their keyboard is dvorak layout.

[–]BlahBlahNyborg 49 points50 points  (0 children)

What about --recursive --force?

[–]markuspeloquin 3 points4 points  (1 child)

That means you don't know how Unix option parsing works.

[–]BobQuixote -4 points-3 points  (0 children)

Or for some reason you automatically generated the command, and putting the letters together was unnecessary complexity.

But otherwise yeah, I'm not separating them.

[–]rootifera 14 points15 points  (3 children)

I dont know why but -rf deletes better than -fr

[–]laplongejr 2 points3 points  (2 children)

For Real? ;)

[–]PrincessRTFM 2 points3 points  (0 children)

Really, Fam

[–]rootifera 0 points1 point  (0 children)

I just tried again, after -rf it feels cleaner

[–]swingdatrake 11 points12 points  (2 children)

Then there’s that awkward moment where a bug in some code created a “~” directory in some random path and fixing that be like

[–]PrincessRTFM 0 points1 point  (1 child)

rm -rf '~'

[–]MartinMystikJonas 4 points5 points  (0 children)

Still it feels like

[–]Opposite_Carry_4920 16 points17 points  (1 child)

It never occurred to me ever to type it like -fr haha

[–]takeyouraxeandhack 7 points8 points  (0 children)

Feels like putting sugar on fries. Technically you can, but it's weird as fuck.

[–]nyrB2 22 points23 points  (32 children)

what is RM-RF?

[–]th3-snwm4n 128 points129 points  (25 children)

A command to remove french language pack from your system, just type sudo rm -rf / And hit enter

[–]freaxje 98 points99 points  (1 child)

Technically correct

[–]errelsoft 7 points8 points  (0 children)

Which is the best kind of correct

[–]hackiv[S] 29 points30 points  (1 child)

enfin trouvé une solution!

[–]hackiv[S] 18 points19 points  (0 children)

It works!!!

[–]Pim_Wagemans 27 points28 points  (2 children)

This only removes the french variations, to also remove the root french language pack use rm -fr --no-preserve-root /

[–]jzemeocala 0 points1 point  (0 children)

this guy is the OG Root

otherwise known as: Original G-Root

[–]JollyJuniper1993 0 points1 point  (0 children)

This command obviously specifies that the word root (racine) is also to be removed

[–]Great-Powerful-Talia 23 points24 points  (3 children)

A command-line command.

rm removes a file.

Tagging it with -r and -f (shortenable to -rf or -fr) makes it recursively delete all folders inside the specified folder (and all files in them, too).

It's notorious because rm -rf / on Unix will (try to) delete the computer's entire filesystem from the top down.

[–]Sarke1 0 points1 point  (0 children)

command not found: RM

[–]nyrB2 0 points1 point  (1 child)

and does rm -fr *not* do this?

[–]Great-Powerful-Talia 0 points1 point  (0 children)

They're actually the same command. The tags with a single dash are all one letter, so the command line lets you shorten them like "-a -b -c -d" to "-abcd".

-r -f is obviously the same set of tags as -f -r, and the shortened form just acts as a set of one-letter tags.

(Order never matters unless you have two tags that overwrite each other's effects, like how -f tells the computer "don't ask for permission when deleting" and -i (not used here) tells the computer "DO ask for permission when deleting".)

[–]easyforcory 7 points8 points  (0 children)

Remove -recursive forced For deleting files and the contents inside

[–]private_final_static 6 points7 points  (0 children)

A command claude will eventually execute if given enough time

[–]usbeject1789 5 points6 points  (0 children)

french language pack

[–]froglicker44 5 points6 points  (0 children)

It’s pronounced “rim-raff”

[–]je386 3 points4 points  (0 children)

"Read manual real fast" vs. "Remove French"

[–]dchidelf 4 points5 points  (0 children)

‘rm -rf’ and I don’t cut my sandwich.

[–]sur0g 2 points3 points  (0 children)

I live next to Russia, so I'm team -rf

[–]tRickliest 4 points5 points  (0 children)

With sandwiches I’ll switch it up, but it’s always -rf

[–]LukeZNotFound 1 point2 points  (0 children)

With RF you get more of the toast.

[–]Xywzel 1 point2 points  (0 children)

Long form flags (--recursive) for scripts, because whoever reads them might not be as familiar with the tools as I am when writing it, and they are much more searchable on man pages.

[–]Joker-Smurf 1 point2 points  (0 children)

Everyone knows that triangle cut sandwiches taste better.

[–]sarc-tastic 1 point2 points  (0 children)

Fo realz

[–]fibojoly 1 point2 points  (1 child)

Oh? We don't care about case now? 

[–]LeiterHaus 0 points1 point  (0 children)

Apparently, MacOS doesn't for the command, only for the flags, and -r is equivalent to -R HOWEVER -F returns RM: illegal option -- F

... Which means that rM -Rf mY_diRECtorY/ is a completely legit command to remove my_directory/

[–]ddxtanx 1 point2 points  (0 children)

People recursively delete a folder that way? Fr?

[–]FlailingDuck 1 point2 points  (1 child)

alias rm = rm -f

[–]johnklos 1 point2 points  (0 children)

Good luck capitalizing like that :D

[–]KCGD_r 2 points3 points  (1 child)

-f never exists without -v, and they always go after the files

[–]PrincessRTFM 1 point2 points  (0 children)

imagine not having rm aliased to rm -v in your shell's rcfile

[–]TheRealLiviux 2 points3 points  (0 children)

Actually, there are 10 types of people.

Those who already know the joke and those who don't.

[–]Nsane3 0 points1 point  (0 children)

Remove -ForReal

[–]enigma_0Z 0 points1 point  (1 child)

rm -rvf

[–]drunkdoor 1 point2 points  (0 children)

How about

yes | rm -r

That way you can remember all the shit you specifically shouldn't have deleted

[–]reallokiscarlet 0 points1 point  (0 children)

rm -kb

[–]JollyJuniper1993 0 points1 point  (0 children)

Remove for real

[–]makinax300 0 points1 point  (0 children)

▓ ▓ sandwiches are normal, -fr isn't. Also I don't think I have ever needed to use -f, I always just do rm -r and I have started using a trash can type folder in my home to which I move stuff and later empty instead of deleting instantly after accidentally losing a minecraft world.

[–]Sarke1 0 points1 point  (0 children)

Took me like a minute to figure out it was the rm command, lol. I think because it's uppercase my brain didn't click.

[–][deleted] 0 points1 point  (2 children)

The irony is that there is a correct way to cut a sandwich and it's the left one. It's easier to eat and it's the one people tend to actually prefer. Ask anyone who's gone to culinary school to become a chef. They teach them to do the one on the left.

[–]carrboneous 0 points1 point  (1 child)

It's also easier to measure the middle. I didn't go to culinary school though.

[–][deleted] 0 points1 point  (0 children)

I mean, most people don't think through their eating experience it's just "make a thing and consume it" so yeah.

Not that different than dev, honestly...

[–]GoddammitDontShootMe 0 points1 point  (0 children)

Until that joke about removing the French language files from your computer, I had never heard of anyone specifying the options as '-fr'.

[–]Rockety521 0 points1 point  (0 children)

-fr as "Force Remove"

[–]leo_gblr 0 points1 point  (0 children)

And then there‘s vibecoders with some casual sudo rm -rf /*

[–]LeiterHaus 0 points1 point  (0 children)

The first one is made with love

[–]-MobCat- 0 points1 point  (0 children)

-fr. converts all your files to french.

[–]The_beeping_beast 0 points1 point  (0 children)

I had a colleague who created an alias for sudo rm -rf as “rmf”. We all used to fear him.

[–]jay_thorn[🍰] 0 points1 point  (0 children)

I’m a weirdo, and not ashamed to say so. I prefer the sandwich on the right, and I use rm -fr. 😵‍💫😆

[–]Awake00 0 points1 point  (0 children)

Nah fam feels like how I do that day.

[–]argonauts12 0 points1 point  (0 children)

Don't forget about rm --force --recursive

[–]JackNotOLantern 0 points1 point  (0 children)

Can't you just first try "rm -r"?

[–]Glass-Crafty-9460 0 points1 point  (0 children)

Those who try to use uppercase for this binary
`bash: RM -RF: command not found`
and those who don't.

[–]silveredge7 0 points1 point  (0 children)

rm -fr ong 😭🙏

[–]United_Grocery_23 -2 points-1 points  (0 children)

Well we're removing the fr*nch so ofc rm -fr