What You Should Know Now — and What's Next
What You Should Know Now
- Navigating the file system and managing files from the command line
- Pipes, redirection, and combining small tools to do big jobs
- Variables, quoting, expansions, and arithmetic
- Conditionals, loops,
case, and functions - Arrays and associative arrays
- Exit codes, error handling, and argument parsing
- Text processing with
grep,sed,awk,cut,sort, and friends - Finding files, processes, jobs, and signals
- Environment variables, configuration, JSON with
jq, and HTTP withcurl - Strict mode, traps, safe temporary files, and ShellCheck
- Portability with POSIX
sh, performance, and security - Scheduling, SSH automation, containers, and CI pipelines
What Should You Learn Next?
- Linux administration — users and permissions, systemd services, networking, package management, and logs. Bash is the everyday tool for all of it.
- Git in depth — branching, rebasing, and hooks, which you'll script constantly.
- Containers and infrastructure — Docker, Kubernetes, and infrastructure-as-code tools such as Terraform and Ansible.
- A general-purpose language — Python for scripts that outgrow Bash (complex data, error handling, libraries). A rough rule: when a script passes about 100 lines or needs real data structures, consider rewriting it in Python.
- Windows automation — PowerShell, which uses similar ideas but passes objects instead of text between commands.
Build Something
Look at something you do by hand every week — renaming files, checking servers, preparing a report, setting up a new machine — and automate it with a script. Keep it in version control, run ShellCheck on it, and improve it each time you use it.