To stay productive in the command line, I maintain a personal
There are many commands, or particular options of certain commands, that I don't
use often enough for them to become muscle memory, but often enough for
manning them or internet searching for "how do I resize an image with
imagemagick" to become tedious.
I can recommend following a similar practice to anyone, though I don't recommend
using my cheatsheets. They are usually quick notes that follow my own mental
shortcuts, and in general are optimized to be quickly understood by me,
based solely on my past experiences with these tools. I won't include options
that are already obvious to me (if you haven't used
git add -p or
git rebase -i, you should go learn about them!), and might instead
include tools that are already a second language to you (any
ninjas out there?).
There are existing tools that aim to improve command line productivity in
similar ways, like
cheat. For my
personal workflow, I figured that there's no reason to overcomplicate things
when tools I already have (
git) do the job fine.
Now, for any new UNIX system I intend on spending a lot of time on, I'll
git pull gitlab.com/m-chrzan/cheatsheets in my home directory. When
I want to remind myself of a command's use case, or have just figured out a new
cool trick that I know I'm going to forget if I don't write it down, my notes
are just a
vim ~/ch<TAB> tool.md away. If I do write any new
tips down, a quick
git push allows me to keep the cheatsheets
synced across all other systems.