I've been using ctrl + R more now :3.. though I definitely used to ↑↑↑↑↑↑↑
post
I knew there was an
ls
In there somewhere
ls .. enter ↑ enter ↑ enter
...until you press up one too many times and enter the same command but with a typo. Again.
There is an option you can set in .zshrc or .bashrc which only includes lines that exit 0 (success)
Infuriatingly that would omit things like unit test runners from the history in case they don't pass. As a developer I tend to re-run failed commands quite often, not sure how widely that applies, though.
The number of people who don’t reverse-I-search is too damn high
It was quite a while before I realised that was possible.
Then not long after starting to use it, that I got fed up and just started opening up the history file and searching in it.

or documentation.
To use ctrl-r I have to remember something about the command. To use up arrow I just have to know about how many commands ago I used it.
and whenever you forget to sudo:
sudo !!
You need this: https://github.com/nvbn/thefuck
Ctrl-r, l ctrl-r, ctrl-r, ctrl-r, ctrl-r, ctrl-r, ctrl-r, ctrl-r, ctrl-r. To get ls.
taptaptaptap.... taptaptaptap.... taptaptaptap taptaptaptap taptaptaptap
.... taptaptaptap
... tap ...
... shit I was on a different user when I typed it.
Relevant xkcd: https://xkcd.com/1168/
tar -xvf
but only because I had to look it up twice so now my brain has committed it to memory
I don't even know what it does
Unfortunately that's not valid.
$ tar -h
tar: You must specify one of the '-Acdtrux', '--delete' or '--test-label' options
Try 'tar --help' or 'tar --usage' for more information.
From man-page:
-h, --dereference follow symlinks; archive and dump the files they point to
tar -jcvf archive.tbz ~/stuff/*
Of course I don't know the bomb had bzip2 on it.. I wonder if we can start with ls to see if there's anything to tar or untar
Or, just type the command “history”, find the index number of the desired command, then type “! ”, then .
or Ctrl+R then search? I don't know why some people still bother with history tbh.
Holy cow!! I didn’t know that. I have been using history > history.txt to find “that one command for that one thing” I only need once every other month or so. Thanks, now I can just do that.
In fish, you can enter part of the command, and then press up to search for it. It's kinda awesome.
yeah I ONLY just recently switched to fish after using zsh and oh my zsh for so long - pretty much since first starting linux cause I once saw someone using it on unixporn and I thought "that's cool"
when I switched to NixOS zsh with all the plugins was a total slog. switched to fish and it just HAS everything that zsh/oh my zsh and the various plugins had but baked in.
so yeah in Fish it's just starting to type something and hoping it's still in the history.
That's what I do in bash except for pressing up it's ctrl+r. FZF does the fuzzy finding for me. It's so convenient.
Substring completion on ZSH. Type in a small part of the command you want to find and then press up.
https://github.com/atuinsh/atuin is a great tool to manage and search your shell history. I especially enjoy it being able to search commands based on the working directory I was in when I ran them.
It also has more features (which I don't use) to manage dotfiles and sync shell history across hosts/devices.
Wow this is really validating for me to read. I’ve been using Linux for a few years but I’m definitely not a computer expert and am intimidated by the command line.
I’ve always felt like googling every command and arrowing up to find an old entry rather than just googling it again marked me as a fake Linux user, not a real one.
You can use Ctrl-R and Ctrl-Shift-R to search through your history instead of having to push up a bajillion times.
Lol don't feel bad, I can do advanced crazy shit with Linux like pivoting the running OS into RAM so I can unmount the boot drive to do whatever without ever rebooting
But I still [Web Search] commands a shit ton of the time LMAO
fish has "directory-aware" autocomplete with inlay hints and a fantastic history command. I do not suffer from such weakness
I always go past it because I go way to fast.
I write part of the command then ctrl+r. Using FZF mind you. Such a great utility.
grep | history [search term]
I just use mcfly
Not sure I understand the point of mcfly. zsh and fish have this functionality built in, where pressing Up with a command partially typed will give auto-completions to that partial match.
I accidentally found out one day that I could use a wildcard operator in the terminal instead of a full file or folder name due to always doing this.
cd Pho* or cd /documents/Pho*
Will for example open my "Photo Examples" folder in the working directory or based on the path
With ZSH there's something called "path-completion" that makes that even easier.
Say you want to go to "/usr/local/share/fonts" but that's too much to type out, you can instead type "cd /u/l/s/f" and hit tab. If every path element is unambiguous it will just expand it to "/usr/local/share/fonts". In this case though, "/u/l/" can expand to "/usr/local" or "/usr/lib" so when you hit tab it moves the cursor to just after the "l" to indicate it needs you to distinguish between "/usr/local/" and "/usr/lib". If you just type "o" and hit tab again, it will know that there's only one match for "/usr/lo" and expand that to "/usr/local/" Then there's only one match for "s" which is "share", and only one match for "f" which is "fonts".
That avoids the danger of executing a command with an asterisk wildcard.
You can use || between two commands as well. If the first command returns exit code != 0, the second command will run.
I.e. which ansible || pip install ansible.
This only works until you grow an addiction to making pho at home and start documenting your progress.
cd "Pho Recipes and Pictures"
cd /
sudo rm -rf *
Basically the Linux version of deleting system32 but idk I'm not a super Linux nerd yet.
Fish once again undefeated. If I want to find that weird image magick command I used earlier with foo.png in it I just type foo.png, hit up and its usually the first one. It doesnt matter where foo.png occurs in the command, fish will find it.
top 94 comments