138
top 32 comments
sorted by: hot top controversial new old
[-] andrew@lemmy.stuart.fun 16 points 9 months ago* (last edited 9 months ago)

I legitimately back up my history file. Mostly because it likes to truncate itself randomly (though this may have been fixed in zsh, or my config, because it's been a while). Just a systemd timer that triggers a shell script to copy it by date and rotate anything older than 100 copies.

Edit: WHY DID I SAY ANYTHING? After like 3 months of no problems, my history truncated itself to 3 entries a few minutes ago. I've only ever seen a few days of loss before that lol.

[-] jelloeater85@lemmy.world 7 points 9 months ago

Have you tried Atuin? It's amazing.

[-] andrew@lemmy.stuart.fun 3 points 9 months ago

I did try it for a bit. IIRC it slowed me down more than I cared for. Maybe worth trying again, though.

[-] caseyweederman@lemmy.ca 3 points 9 months ago

I'm annoyed when my thirteen bash instances don't share history, but I'd probably be a lot more annoyed if they did.

[-] andrew@lemmy.stuart.fun 2 points 9 months ago

That's one thing I like about zsh, or my config at least, because I use i3 and therefore tend to open lots of shells. History is mostly local until I hit return twice (two empty prompts) at which point I can get history from other sessions. It's stuck more global at that point though aside from future history.

[-] caseyweederman@lemmy.ca 1 points 9 months ago

Ooh. I like that. I'm gonna try that, thanks.

[-] sabreW4K3@lemmy.tf 2 points 9 months ago
[-] andrew@lemmy.stuart.fun 2 points 9 months ago

Fortunately I have my hourly backups! 😅

[-] allywilson@sopuli.xyz 15 points 9 months ago

I just start every command with a space, don't see the issue.

[-] mumblerfish@lemmy.world 13 points 9 months ago* (last edited 9 months ago)

Was working on a server where I did not want to put some dumb command into the history, so I add a space like you do. Press up. The command is there. The fucking insult I felt.

[-] PoolloverNathan@programming.dev 2 points 9 months ago* (last edited 9 months ago)

It's disabled by default, but you can enable it in .bashrc and then delete that edit session using a spaced command.

Edit: brain fart

[-] superbirra@lemmy.world 1 points 9 months ago

it also depends on the shell, in zsh it persists on local history but does not get written to history file

[-] zemja@programming.dev 12 points 9 months ago

Can somebody please tell me what history -c is?

[-] survivalmachine@beehaw.org 9 points 9 months ago

history displays a list of all commands you have run on the terminal since the history list was last cleared. It is invaluable for referring back to a big complex command or set of commands you ran at some point in the past. The -c flag clears that history.

[-] zemja@programming.dev 11 points 9 months ago

Fuck, I just cleared my history.

[-] caseyweederman@lemmy.ca 5 points 9 months ago
[-] umbrella@lemmy.ml 4 points 9 months ago

dont you also need history -w to save it?

on ubuntu -c doesnt actually clear it unless you also use -w

[-] survivalmachine@beehaw.org 1 points 9 months ago* (last edited 9 months ago)

Yes, my comment only applies to the shell history in memory. -c clears history immediately, but you can still reload it from disk if you haven't overwritten that with -w. If you tend to close your terminal windows frequently and rely on the history feature between sessions, it would benefit you to learn about the intricacies of the on-disk copy of history and how its affected by writes, appends, clears, crashes, etc. I tend to leave my terminal windows open a long time and copy any complex commands out to my PKM if I need to save them for future sessions, so I generally try not to rely on .bash_history, but it has saved my bacon on more than one occasion.

[-] akdas@lemmy.world 6 points 9 months ago* (last edited 9 months ago)

It lets you clear the bash command history, either completely or selectively. Here's the GNU docs for the history builtin: https://www.gnu.org/software/bash/manual/html_node/Bash-History-Builtins.html#index-history

(I'm not too familiar, someone else can clarify: is this available outside bash?)

What's interesting to me is the -a option, which lets you "flush" the history for the current session without ending the session. I can see that being useful!

[-] aCodeCrafter@lemmy.world 6 points 9 months ago

Welp, just did this to see what -c does...

Excuse me whilst I cry myself to sleep

[-] sabreW4K3@lemmy.tf 0 points 9 months ago
[-] emly_sh_@sh.itjust.works 6 points 9 months ago

Can someone explain, I don't get it.

[-] ripcord@lemmy.world 5 points 9 months ago

If you clear your history, you feel like a SpongeBob popsicle for some reason? That's what I'm reading. Gotta be it.

[-] emly_sh_@sh.itjust.works 1 points 9 months ago

Weird, I clear my history very frequently and never once felt like a SpongeBob popsicle.

[-] ripcord@lemmy.world 2 points 9 months ago

Same, but I just assumed I was the weird one. Maybe we are mainstream!

[-] emly_sh_@sh.itjust.works 1 points 9 months ago

Cool! Do you also have a function that wipes the history file when exiting the terminal?

[-] sabreW4K3@lemmy.tf 1 points 9 months ago

Clean and shiny! Brand spanking new!

[-] textik@sh.itjust.works 6 points 9 months ago

Don't fucking do this in zsh, it does NOT do the same thing that it does in bash.

[-] sabreW4K3@lemmy.tf 2 points 9 months ago
this post was submitted on 18 Jan 2024
138 points (94.2% liked)

Programmer Humor

19544 readers
496 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 1 year ago
MODERATORS