Learning Checklist

Basics

  1. Working directory
  2. Paths
  3. echo / printf
  4. Hotkeys: jump between words, delete words, line
  5. Tab completion.

File System

  1. ls
  2. mkdir, cd, pushd/popd
  3. touch, mv, rm
  4. cp
  5. du / df
  6. find / fd

Command Manipulation

  1. Pipe between commands
  2. stdin, stdout, stderr
  3. Redirection
  4. tee
  5. xargs
  6. sudo
  7. heredocs
  8. shuf

Environment

  1. env
  2. export
  3. unset
  4. sleep
  5. ps: process list
  6. uname
  7. id
  8. group
  9. sar (sysstat)

Text / Binary content

  1. cat / head / tail
  2. grep / rg
  3. tr
  4. less
  5. top / btm
  6. md5sum
  7. hexdump
  8. base64

Network

  1. curl
  2. nc
  3. telnet
  4. traceroute
  5. nslookup
  6. ifconfig

Shell Scripting

  1. chmod
  2. set -e
  3. set -u
  4. set -x
  5. set -o pipefail
  6. set -o nullglob
  7. variables
  8. subshells: (cd /tmp && echo hi > a_file)
  9. substring prefix / suffix
  10. conditionals
  11. loops
  12. switch
  13. functions

Day to day

  1. vim
  2. git
  3. xclip / pbcopy