-12

@nostupidquestions what happens when you give the command in the command line rm -rf ?

top 28 comments
sorted by: hot top new old
[-] CallMeAl@piefed.zip 17 points 3 days ago

Surely you can tell us, Codewizard!

[-] AstroLightz@lemmy.world 7 points 2 days ago* (last edited 2 days ago)

You have it backwards.

rm -fr /* removes the French language pack that comes preinstalled on your system.

/j

[-] remon@ani.social 8 points 3 days ago

It will delete everything in the directory after that, without asking for further confirmation.

[-] 0xKesh@lemmy.dbzer0.com 9 points 3 days ago

Unless it's on /, where preserve-root should be kicking in, unless the bypass flag is used (can't remember this one)

[-] Havatra@lemmy.zip 6 points 3 days ago* (last edited 3 days ago)

Not all systems have the preserve-root flag enforced, actually... I accidentally did the rm -rf / in a bash script (the variable for the path returned empty), and it irreversibly deleted a bunch of my system, including sudo and a big part of /etc, before I realized and did Ctrl+C. However the damage was done, rendering the system both unusable and unbootable. Fortunately I managed to recover some data, as the drive was not encrypted.

Edit: Yes, like a fool I ran the script as sudo... I am now older and wiser.

[-] toynbee@piefed.social 1 points 2 days ago

I didn't personally do this one, but I once worked at a job where I was tasked with updating a kickstart file from RHEL6 to 7. I don't remember the details, but in the postscript, there was a variable that was set in 6 but not 7. That variable was then used in a command like rm -rf /${variable}.

It took me a little while to figure out why every system imaged with that kickstart was emptying its own filesystem.

[-] 0xKesh@lemmy.dbzer0.com 1 points 2 days ago

What distro was this out of curiosity? As far as I'm aware preserve-root enforcement comes from upstream coreutils

[-] Havatra@lemmy.zip 1 points 2 days ago

Iirc, it was Debian 10 (Buster). I thought they enforced it (rm did support it at the time), but perhaps it was tricked by using an empty variable or something?

[-] 0xKesh@lemmy.dbzer0.com 2 points 2 days ago

Ahhh, I just re-read your comment, and yeah that would have been the case.

I think another quick bypass without using the proper flag could be to use a wildcard (for example, rm -rf /*), I think that might work too maybe

[-] Successful_Try543@feddit.org 3 points 3 days ago* (last edited 3 days ago)

No, it does nothing.

$ mkdir test
$ cd test
~/test$ touch 1 2 3 4 5
~/test$ rm -rf
~/test$ ls
1  2  3  4  5

If you dont specify the -f option, which among other things tells rm to be quiet, it throws an error:

$ rm -r
rm: missing operand
Try 'rm --help' for more information.
[-] remon@ani.social 1 points 3 days ago* (last edited 3 days ago)

Because you're using it on nothing.

$ mkdir test
$ cd test
~/test$ touch 1 2 3 4 5
~/test$ cd ..
$ rm -rf test
$ ls

No more test folder.

[-] Successful_Try543@feddit.org 5 points 3 days ago* (last edited 3 days ago)

Exactly, but that wasn't the question.

[-] remon@ani.social 2 points 3 days ago* (last edited 3 days ago)

What are you talking about? The does exactly what I said it does.

It only does nothing for you because you used it incorrectly (in the wrong folder without the required argument).

[-] Successful_Try543@feddit.org 3 points 3 days ago

The question is:

what happens when you give the command in the command line rm -rf ?

rm -rf * or here rm -rf test are different commands.

[-] remon@ani.social 2 points 3 days ago* (last edited 3 days ago)

rm is the command, -rf are the flags and "test" is an required argument. So no, they are not different commands.

[-] Successful_Try543@feddit.org 4 points 3 days ago

No, the argument is not required, the command is valid. It's intentional and a neat feature that rm -rf alone without a specified file does nothing.

See e.g.: https://unix.stackexchange.com/a/553741

[-] remon@ani.social 1 points 3 days ago* (last edited 3 days ago)

It does nothing because you used the wrong syntax but also set the flag that suppresses the output of syntax errors ...

Imagine someone would asked "What does a toaster do?"

I say "It toasts bread".

You come in with a picture of bread in a toaster and say "It does nothing".

I tell you "You have to press the button".

"You say "oh well, that wasn't the question, a toaster with the button pressed is basically a different device!"

Insert <Futurama not sure if trolling ...> meme.

[-] Successful_Try543@feddit.org 1 points 3 days ago* (last edited 3 days ago)

You should obviously improve your reading skills.

The File argument is optional.

rm [OPTION]... [FILE]...

https://www.man7.org/linux/man-pages/man1/rm.1.html

[-] remon@ani.social -1 points 3 days ago

Sure. And you should start learning basic bash skills.

[-] bizarroland@lemmy.world 7 points 3 days ago

Alright, I've read both of you guys' arguments. You're both right, but you're both talking about different things.

Successful try is responding with a literal direct computer-like response for OP's question. They are adding no additional qualifiers to the specific exact question that was asked, which is to say that the answer to OP's question is, it does nothing.

Reman, you were saying that anybody who was trying to use this command would obviously add a subject, would put the test or something else to it, would make an adjustment to the command in order to make it work and actually function.

And that is correct in practice, but that doesn't answer the question that was being asked literally. It answers the question the way a senior programmer would answer the question of a junior programmer.

Successful try's answer is the answer a computer would give.

So can you both please stop fucking arguing, hug it out, and move on?

[-] remon@ani.social 2 points 3 days ago

Successful try’s answer is the answer a computer would give.

I enjoy giving overly pedantic and technically correct answers as much as the next guy, but doing it on !nostupidquestions@lemmy.world seems like a dick move.

[-] andrewta@lemmy.world 5 points 2 days ago

Watching this back and forth while I’m eating my chips 😅

[-] codewizard@hear-me.social 3 points 2 days ago

@remon @bizarroland thanks a lot for enlightening me, and also showing me how exactly to use that particular command without breaking anything.

[-] remon@ani.social 1 points 2 days ago

Generally a good idea to leave out the "-f" (so it would just be rm -r something). That way you'll get feedback when you're about to do something wrong or stupid!

[-] neidu3@sh.itjust.works 3 points 2 days ago* (last edited 2 days ago)

Short answer: Nothing

Long answer: It is part of a command that deletes everything. The only thing missing is the argument specifying what to delete. Examples:

rm -rf *
rm -rf /some/directory

It's somewhat (in)famous because it'll do so without asking for confirmation. The only exception is rm -rf / on a modern distro which will complain that you're attempting to delete EVERYTHING on the system. In the olden days it'd just do it, but these days it tells you to add --no-preserve-root as well if you really wish to do so.

[-] Zwuzelmaus@feddit.org 5 points 3 days ago

rm -rf

For even more fun, add a single / at the end.

/s

[-] waldfee@feddit.org 2 points 2 days ago

You can have even more fun with ~

[-] Strider@lemmy.world 2 points 2 days ago

Creating a quick test vm isn't that hard, go nuts.

this post was submitted on 17 Jun 2026
-12 points (30.0% liked)

No Stupid Questions

48558 readers
602 users here now

No such thing. Ask away!

!nostupidquestions is a community dedicated to being helpful and answering each others' questions on various topics.

The rules for posting and commenting, besides the rules defined here for lemmy.world, are as follows:

Rules (interactive)


Rule 1- All posts must be legitimate questions. All post titles must include a question.

All posts must be legitimate questions, and all post titles must include a question. Questions that are joke or trolling questions, memes, song lyrics as title, etc. are not allowed here. See Rule 6 for all exceptions.



Rule 2- Your question subject cannot be illegal or NSFW material.

Your question subject cannot be illegal or NSFW material. You will be warned first, banned second.



Rule 3- Do not seek mental, medical and professional help here.

Do not seek mental, medical and professional help here. Breaking this rule will not get you or your post removed, but it will put you at risk, and possibly in danger.



Rule 4- No self promotion or upvote-farming of any kind.

That's it.



Rule 5- No baiting or sealioning or promoting an agenda.

Questions which, instead of being of an innocuous nature, are specifically intended (based on reports and in the opinion of our crack moderation team) to bait users into ideological wars on charged political topics will be removed and the authors warned - or banned - depending on severity.



Rule 6- Regarding META posts and joke questions.

Provided it is about the community itself, you may post non-question posts using the [META] tag on your post title.

On fridays, you are allowed to post meme and troll questions, on the condition that it's in text format only, and conforms with our other rules. These posts MUST include the [NSQ Friday] tag in their title.

If you post a serious question on friday and are looking only for legitimate answers, then please include the [Serious] tag on your post. Irrelevant replies will then be removed by moderators.



Rule 7- You can't intentionally annoy, mock, or harass other members.

If you intentionally annoy, mock, harass, or discriminate against any individual member, you will be removed.

Likewise, if you are a member, sympathiser or a resemblant of a movement that is known to largely hate, mock, discriminate against, and/or want to take lives of a group of people, and you were provably vocal about your hate, then you will be banned on sight.



Rule 8- All comments should try to stay relevant to their parent content.



Rule 9- Reposts from other platforms are not allowed.

Let everyone have their own content.



Rule 10- Majority of bots aren't allowed to participate here. This includes using AI responses and summaries.



Credits

Our breathtaking icon was bestowed upon us by @Cevilia!

The greatest banner of all time: by @TheOneWithTheHair!

founded 3 years ago
MODERATORS