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

      • clb92@feddit.dk
        link
        fedilink
        English
        arrow-up
        4
        ·
        edit-2
        4 days ago

        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)?

        • UnRelatedBurner@sh.itjust.works
          link
          fedilink
          arrow-up
          4
          ·
          4 days 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.

  • TGhost [She/Her]@lemm.ee
    link
    fedilink
    English
    arrow-up
    32
    ·
    5 days ago

    I’m a complete moron,

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

    You have to do, to really learn,

  • ExtremeDullard@lemmy.sdf.org
    link
    fedilink
    arrow-up
    23
    ·
    4 days ago

    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.
    • xor@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      12
      ·
      4 days ago

      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

        • Lucy :3@feddit.org
          link
          fedilink
          arrow-up
          2
          ·
          4 days ago

          In the few years of me exclusively using the command line to manage files, even having rm aliased to rm -rf, and at some point to sudo rm -rf, out of convenience, I think it has happened thrice that I deleted the wrong file, and twice I was able to restore it with (hourly) backups. The third time, it was a minecraft world which I had created to test some mods and the server start script, and I had excluded it from backups because my ~/games dir is usually only used by steam.

  • OneCardboardBox@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    13
    ·
    4 days 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 /

      • wh0_cares@lemmy.blahaj.zone
        link
        fedilink
        arrow-up
        14
        ·
        4 days ago

        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.

        • Edo78@feddit.it
          link
          fedilink
          arrow-up
          1
          ·
          3 days ago

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

        • Peer@discuss.tchncs.de
          link
          fedilink
          arrow-up
          3
          ·
          3 days ago

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

    • ExtremeDullard@lemmy.sdf.org
      link
      fedilink
      arrow-up
      1
      ·
      3 days 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.

  • BaumGeist@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    3 days ago

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

  • eldavi@lemmy.ml
    link
    fedilink
    English
    arrow-up
    17
    ·
    5 days ago

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

  • xlash123@sh.itjust.works
    link
    fedilink
    arrow-up
    5
    ·
    4 days ago

    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.

    • Edo78@feddit.it
      link
      fedilink
      arrow-up
      1
      ·
      3 days 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

  • sadTruth@lemmy.hogru.ch
    link
    fedilink
    arrow-up
    7
    ·
    4 days 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.

  • RenardDesMers@lemmy.ml
    link
    fedilink
    arrow-up
    6
    ·
    4 days ago

    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.

    • ma1w4re@lemm.ee
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      3 days ago

      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.

    • wuphysics87@lemmy.ml
      link
      fedilink
      arrow-up
      5
      ·
      4 days ago

      That’s very helpful now. You have added nothing other than to pull the declarative distro equivalent of “I use Arch, BTW” And then link your literal code. For shame. For shame.

      • sudoer777@lemmy.ml
        link
        fedilink
        arrow-up
        2
        ·
        edit-2
        4 days ago

        nix/guix can be used on any distro and it provides a way to organize .config files so that if the .config directory gets deleted or accidentally modified for some reason, restoring it would be very easy. By putting the configuration in a git repo, it also makes it easy to restore previous configurations. I accidentally deleted a bunch of stuff in my .config directory once and that’s one of the reason I use this tooling now, so I thought OP would find it helpful also