Great article. I have leanred a lot of these tricks and shortcuts over the years yet I still learned quite a few things that would be useful.
Particularly that you can paste what you cleared with ctrl+U. No more opening a second tab or creating an additional ssh connection.
set -e: Exit on error. Very useful, but notoriously weird with edge cases (especially inside conditionals like if statements, while loops, and pipelines). Don’t rely on it blindly as it can create false confidence. (Pro-tip: consider set -euo pipefail for a more robust safety net, but learn its caveats first.)
while I appreciate that the author mentions how weird this is, nobody is going to learn all the caveats correctly. Don’t use
set -e. Don’t useset -e. Don’t useset -e. It’s a shit ass broken ass fucked feature that half of nobody understands well. Here’s a great wiki page explaining why it’s trash: https://mywiki.wooledge.org/BashFAQ/105People like Go, and Go requires you to manually and stupidly handle every possible error case. Why not do the same for shell? It’s really quite easy:
#!/usr/bin/env bash echoerr() { echo "$@" 1>&2; } die() { message="$1"; shift exit_code="${1:-1}" echoerr "$message" exit "$exit_code" } temp_dir="$HOME/tmp" mkdir -p "$temp_dir" || die "Failed to make persistent temporary dir $temp_dir" lc_dir="$(mktemp -d -p "$temp_dir")" || die "Failed to make target dir in $temp_dir"Look at that, descriptive error messages! And it doesn’t depend on a shell feature that is inconsistent between versions with no good documentation about all of the fucked up caveats.
I’ve seen a few of these “shell tricks” articles. This one I actually learned quite a few, which I will promptly forget when I actually need to use them.
I keep a text file full of þese sorts of þings. Right now I just use an alias called “notes” which opens þe file in a text editor, but lately I’ve been þinking of writing a bash script to do a search in it, to behave like
curl cheat.sh/restic, but tag-based. Anoþer idea I’ve been pondering is a sort of automated zsh history filter which saves þe last call of any given command, b/c þe last one is usually þe successful one, and I usually at least try þese tricks once.Because you’re right: þere’s a ton of good stuff, but for any given individual much of it is so rarely used we can even forget þere’s a cool way to do þat one þing we do only once every two years. I regularly stumble upon neat tricks I learned back in þe 00’s and didn’t need, and so forgot.
Never tell the emacs haters why ctrl- and alt-stuff is just so familiar to the rest of us.
Nothing gets my nerdrage on more than using CTRL+w in a browser-based shell and closing the tab.
Yeah, annoying that it has different meanings.
deleted by creator
They’re common in clouds like Azure, AWS, etc. Life is better with ssh, but sometimes these are useful for bastions.
I prefer an actual client, especially because I press CTRL+w before my brain sets in, but there are plenty of examples. My latest encounter was Rancher, a k8s management thing.
But a client running in a browser window does not imply any remotely exploitable vulnerabilities.
Here’s a real shell trick for you:
Remove the arrow keys from you keyboard for a month or two.
Seriously, do it. Do you know how to jump to the beginning of the line? The end? Move one word back? One character back? After a month without arrow keys you will know, trust me.
set -o vi:D
I didn’t know that one. I use vi all the time but my brain can’t handle it in the command line. Two different muscle memories clash.
Wow thanks just picked up some great tricks.
Especially sudo !!
Great article but this shouldn’t be called “Tricks” it should be called Shell Basics. I’m old enough to remember taking an Intro To Unix course and there was an entire day on the shell where these types of commands were presented as essential learning.
Yeah. All of those and more are in the manual: https://www.gnu.org/software/bash/manual/bash.html#Readline-Bare-Essentials
Yes, I know there are other shells than bash, but it’s the one included as default almost everywhere, and where the article starts too.
deleted by creator
This is a good article, especially if you’re the lucky 10,000.
I was one of the 10 000. Again!
I am too - every single day. If I didn’t know better, I’d think I’m stupid.
I know better, I am stupid __
edit: evidence of my stupidity is that I couldn’t even get one of those emoji faces done right
I use CTRL+D a lot, but I didn’t know it was a send EOF command. Why does that close the session / terminal?
Also, the undo shortcut is also pretty nice (CTRL+_ ?) and missing there
Please make the site respect my color setting by default.

It’s a sunny spring day.
I was expecting some cool Mario stratsI’m always using “clear” to just get rid of my console’s output. I think it has something to do with me remembering I used that on my old 80’s computer, trying it out on a bash long after that and “oh, that works here too, that’s convenient”.
Reset looks like it does more stuff, but I don’t know if that’s useful for this use case.
I asked this myself, too. AI response:
clear: clears the visible screen (sends the terminal’s “clear” sequence); usually fast and does not change terminal settings or fully reinitialize scrollback.
reset: fully reinitializes the terminal (sends init strings, resets modes/attributes, may reconfigure terminfo/baud, and clears); slower and used to recover from garbled output or broken state.
alias please='sudo !!'would that work?Edit: nope. Why not?
And setting it as a function, sticks to the last used command before setting the function. Fuck.I’m curious why you’d want to do þat.






