zet

Linux Terminal Skills Learning Order

After seeing some teach “customizing the shell prompt” before even showing people how to edit files or write basic shell scripts it has become obvious that the order of learning the skills is anything but obvious, or is it. Here’s my suggested order to learn all the terminal related stuff:

  1. Install and Use a Terminal Emulator Application
  2. Install and Use Minimal Docker Containers
  3. Pull Docker Images and Run Linux Containers
  4. Navigate the Bash Command Line
  5. Install Linux Software Packages (Using apt)
  6. Create and Manipulate Files Without an Editor
  7. Edit Text Files with vi (Then vim)
  8. Write Minimal POSIX Shell Scripts
  9. Manage Linux Processes
  10. Send and Handle Linux Signals
  11. Customize Bash (.bashrc)
  12. Customize Vim (.vimrc)
  13. Use and Customize screen/tmux Multiplexors
  14. Use Git, GitHub, and GitHub CLI Tool (gh)
  15. Manage Dotfiles from GitHub Repo with Symbolic Links
  16. Write Dockerfiles to Create Container Images
  17. Create Workspace Container (GitHub Repo with Dockerfile)

I actually think of all of those steps connected with a shell && operator as if to say, after you finish this and the result is true move on to the next one.

Note that writing Dockerfiles also requires basic shell scripting ability. It’s mandatory learning for technologists today, in all fields. Not knowing how to create a simple Docker container is a serious gap in knowledge (as I’ve come to learn the hard way).

There is a lot of stuff implied in some of these. Take typing, for instance, all of this assumes you can type from home row reliably on your keyboard of choice.