this post was submitted on 21 Nov 2024
64 points (97.1% liked)

Linux

48689 readers
499 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

I'm a complete moron, I should've had that backed up and used trash...
I had to learn the hard way lol

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 40 points 1 month ago (2 children)

I should’ve […] used trash

For those who don’t know: trash-cli

[–] [email protected] 7 points 1 month ago

It upsets me to no end that this isn't a standard package 😭

[–] [email protected] 5 points 1 month ago (1 children)

What an awesome tool that I wish I knew sooner. Also the && operator in sh. I think you can figure out what happened.

[–] [email protected] 4 points 1 month ago* (last edited 1 month ago) (1 children)

Also the && operator in sh. I think you can figure out what happened.

I'm guessing something like... Copy file/dir from location A to location B and then delete from A, but the copy had failed (and the delete unfortunately worked fine)?

[–] [email protected] 5 points 1 month ago

I left the last sentence open ended, for comedic effect, but if you really wanna know:

I transcoded videos with ffmpeg, and tried to exit out of the bash script with ctrl C. the script was something like:

for
    ffmpeg file finishedFile;
    rm file;

my ^C broke out only from ffmpeg and before I realized what happened the file got removed and the next ffmpeg call filled my terminal. I tought the key didn't register, or something was stuck, so I pressed it again.. and again.. it cost like 45minutes of footage, wasn't that important tho.

[–] [email protected] 30 points 1 month ago (1 children)

I’m a complete moron,

You are not,
Every person learning with the hardway isnt a moron,

You have to do, to really learn,

[–] [email protected] 2 points 1 month ago (1 children)

If you do it again though...

[–] [email protected] 3 points 1 month ago

🫢 🤷‍♀️ I would say, that depend the personnal situation,

But i think, OP learned :)

[–] [email protected] 21 points 1 month ago (4 children)

Here's a rule I learned the hard way a few decades ago:

  • If you type "rm", take you hands off the keyboard and take one deliberate breath before continuing your command.
  • If you then type "-r", do it again.
  • If you then type "-f" do it again.
  • In all cases, re-read what you wrote before hitting ENTER.
[–] [email protected] 10 points 1 month ago (3 children)

I'm a big fan of starting the command with a #, then removing it once I'm happy with the command to defend against accidentally hitting enter

Putting ~ next to the enter key on keyboards (at least UK ones) was an evil villain level decision

[–] [email protected] 13 points 1 month ago (1 children)

When I'm unsure, I ls <the-glob>, chek, then replace ls with rm.

[–] [email protected] 5 points 1 month ago (1 children)

This. When the ls command works, hit ctrl-a, meta-d, type rm, enter.

[–] [email protected] 3 points 1 month ago

Oh, didn't knew about Alt d. Thx

[–] [email protected] 3 points 1 month ago

I really like this # idea. I've also taken to holding off on adding sudo when deleting privileged files

load more comments (1 replies)
[–] [email protected] 6 points 1 month ago (1 children)
[–] [email protected] 23 points 1 month ago (1 children)
load more comments (1 replies)
[–] [email protected] 1 points 1 month ago

-i doesn't exist?

load more comments (1 replies)
[–] [email protected] 16 points 1 month ago

if your session is still running you can use env to help reconstruct it

[–] [email protected] 13 points 1 month ago

I once had a directory in /tmp called etc which contained subdirectories for something I was migrating.

I thought that I was in /tmp when I ran rm -rf etc... I was actually in /

[–] [email protected] 9 points 1 month ago* (last edited 1 month ago) (2 children)

That's why I always:

  • cd .cache
  • ls
  • rm -r *
[–] [email protected] 13 points 1 month ago (2 children)

Type a space before rm to prevent it from being added to your history to be a extra careful.

[–] [email protected] 13 points 1 month ago (1 children)

Holy shit, I never knew you could do that! I've always really wanted a feature to stop random commands from being added to my history.

[–] [email protected] 1 points 1 month ago

Some shells provide ways to prevent some commands to be added to the history

[–] [email protected] 2 points 1 month ago (1 children)

For which shell? I just tried that on a bash system and the command was still stored in .bash_history 😔

[–] [email protected] 2 points 1 month ago

Set the HISTCONTROLvariable. If it is set to ignorespace then commands entered with a leading-space will not be stored in the history.

[–] [email protected] 1 points 1 month ago

rm -r *

Also, if you have to type that, don't use the numpad: / is only one key away from *. If you finger snags the / key on its way to * and you happen to be root, your root partition will go bye-bye.

[–] [email protected] 7 points 1 month ago

Tipps to prevent future accidents:

  • Set up BTRFS snapshots with Timeshift or Snapper. Switching to BTRFS is worth it for snapshots alone.
  • Do regular backups on a device that can not be reached by rm: vorta local on external hdd that you connect once a week OR vorta/borg2 to a NAS/Server that does BTRFS snapshots itself OR Nextcloud to sync to a server that has a trashbin OR git to a server. Just remember that Nextcloud and git are unencrypted, so the server has to be secure and trustworthy. Vorta and borg2 can be set up with encryption.

Mistakes are unpreventable due to our error-prone brains, but it is a choice to repeat them.

[–] [email protected] 7 points 1 month ago

ZFS and dotfiles are your friend. Sorry for your loss.

[–] [email protected] 6 points 1 month ago (1 children)

Sorry for your loss. I did something similar recently. A script was creating a "~" folder in my notes folder. I wanted to delete it... Thankfully it stopped at some file it couldn't remove and my dotfiles are in git.

[–] [email protected] 2 points 1 month ago* (last edited 1 month ago) (1 children)

A tip, to delete files that have names similar to variables or other expandables, put the filename in between single ticks like this 'filename'. Single ticks prevent expansion.

[–] [email protected] 1 points 1 month ago

Thanks for the tip!

[–] [email protected] 6 points 1 month ago

You're just the latest member of a long and storied fraternity of the best worst operating system architecture.

https://web.mit.edu/~simsong/www/ugh.pdf

One of us...

[–] [email protected] 5 points 1 month ago (1 children)

I've started adopting the habit of putting "-rf" as the last argument to avoid accidentally deleting something before I've double-checked my input. Good luck, and may this never happen again.

[–] [email protected] 1 points 1 month ago

I do exactly the same. It's not foolproof but it's better than nothing. I remember, almost a decade ago, when I discovered that rm on mac didn't accept flags as last arguments... I hope they changed that behavior

[–] [email protected] 5 points 1 month ago

I should’ve had that backed up

Absolutely! IT's time to check out Stow now. With this you can easily manage your configuration and dotfiles (and all other data) in a single location.

https://venthur.de/2021-12-19-managing-dotfiles-with-stow.html

[–] [email protected] 4 points 1 month ago* (last edited 1 month ago) (2 children)

Reason's I never use auto-complete in the terminal. Sadly, that's sometimes not enough.

[–] [email protected] 7 points 1 month ago

just be careful and review what tab-suggest shows.

[–] [email protected] 4 points 1 month ago* (last edited 1 month ago) (4 children)

Reasons to have backups more like. No need to make life hard

load more comments (4 replies)
[–] [email protected] 4 points 1 month ago

I should have had backups of important files in my home directory

Lessons learned the hard way

[–] [email protected] 3 points 1 month ago (2 children)
load more comments (2 replies)
[–] [email protected] 3 points 1 month ago (2 children)

Can you say why were you trying to rm -r your .cache anyway? Also RIP.

[–] [email protected] 7 points 1 month ago (1 children)
[–] [email protected] 2 points 1 month ago

Yeah my system was running out of space and I wanted to free a bit quickly. Turns out the issue was Rust building 20GB of binaries and I should have deleted those instead.

[–] [email protected] 5 points 1 month ago* (last edited 1 month ago)

Probably the number one cause of borked Linux systems - trying to "de-bloat".

[–] [email protected] 2 points 1 month ago
[–] [email protected] 2 points 1 month ago

i have rm aliased to rm -i, it's basically the closest to PowerShell's -WhatIfthat a posix shell gets

[–] [email protected] 2 points 4 weeks ago
load more comments
view more: next ›