I watched Armin Briegel’s excellent MacSysAdmin Gothenburg 2019 talk “Moving to zsh” this week.
Before getting into the details of zsh, he provides an approachable overview of how terminals and shells work along with a bit of history.
From there, he goes into zsh configuration, prompt customization, zsh features like multi I/O, differences in scripting zsh versus bash, and more. (I mentioned a few of these in the context of learning the difference between zsh and Oh My Zsh the other day.)
I recommend giving Briegel’s talk a watch if you’re looking for a way in to learning about zsh, the new default shell in macOS.