The command line by itself is an old-school text editor, where the default behavior is to write programs that are executed then immediately thrown away [1]. We develop a habit of using the command line in a casual way, without realizing that it's a powerful programming environment.
Once we realize that we're _programming_ with the command line, we can take deliberate steps to write better command line programs. We can:
* learn how to capture our programs and execute them again later. * learn how to improve our programs using the edit -> execute workflow. * learn more about the commands and their options so that we can write more powerful programs * learn how to make our programs play well with other commands
Note that I'm deliberately avoiding recommending a specific editor or programming language for your workflow. You can choose whatever works best for you. Instead I'd like to leave you with this thought:
A - Always
B - Be
P - Programming
Always. Be. Programing.Always be programming! [2]
Treat every command like a program you intend to keep, and you'll start writing better and better commands; commands that you'll reuse, that will automate your workflow, that will help you spend your precious mental energy on thinking about how to solve important problems because you've delegated as much of the tedious grunt work to the computer as you possibly can.
Best of luck, and enjoy the journey!
[1] This is not strictly true but is useful as a starting point for this thought exercise. See the history command, for example.
[2] (Since it's Christmas) https://www.youtube.com/watch?v=J_vSirIJEsY