this post was submitted on 18 Jan 2024
138 points (94.2% liked)

Programmer Humor

19817 readers
71 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 2 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] zemja 12 points 11 months ago (2 children)

Can somebody please tell me what history -c is?

[–] [email protected] 9 points 11 months ago (3 children)

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 11 points 11 months ago

Fuck, I just cleared my history.

[–] [email protected] 5 points 11 months ago (1 children)
[–] [email protected] 3 points 11 months ago
[–] [email protected] 4 points 11 months ago (1 children)

dont you also need history -w to save it?

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

[–] [email protected] 1 points 11 months ago* (last edited 11 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.

[–] [email protected] 6 points 11 months ago* (last edited 11 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!