Absolutely essential: learn these first: ``` cd ls cp rm mv cat less ``` Help on stuff: ``` man ``` Making better use of the terminal: ``` tmux ``` Editors I use daily: ``` vi vim nvim ``` Scripting stuff: ``` python (for when bash gets awkward) ``` Text manipulation (inside pipelines -- learn about |) ``` cut sed awk ``` Clipboard access: ``` in X11: xsel in Wayland: wlcopy/wlpaste ``` I have two custom commands `pp` (for paste) and `pc` (for copy) which on Windows/cygwin Windows/wsl Linux/x11 Linux/wayland Macos, run the appropriate copy/paste command, and given files as arguments, copy from/paste to those files. The beauty of scripts and functions. Then in bash learn functions: ``` hello() { echo "Hello World"; } ``` functions let you write your own shorthands, which makes you more efficient. Then for and if: ``` for s in *.txt; do echo "$s is a text file" done ``` ``` if [ -e "mrflibble" ]; then echo "mrflibble exists"; fi ``` or ``` [ -e "mrflibble" ] && echo "mrflibble exists" ``` the `-e mrflibble` evaluates whether or not `mrflibble` exists. See `man test` or more.