I guess you are coming from Windows, which are quite (very?) different from UNIX-like systems like macOS. I think it will be useful to learn a few things about the UNIX philosophy before jumping into the actual programs/commands; that will give you the superstructure to put things in their places once you start learning the commands, and make things easier to remember given the historical context (e.g. why is a command called grep, why pipes not tubes, why awk etc.).
The Art of UNIX Programming is a good place to start.
Brian Kernighan interviewed Ken Thompson about UNIX, pipes, grep etc., and I have watched the video many times.
Brian Kernighan was in turn interviewed by Lex Fridman during which he talked about UNIX, C, AWK etc. There are also early papers about UNIX e.g. in the
Bell System Technical Journal.
When it comes to functional specifics, some older titles are surprisingly useful.
The UNIX Programming Environment provides an overview and written by the UNIX authors themselves.
SS64 has manual-style documentation of macOS commands. Apple has
quite extensive archival documentation about macOS commands. If you are willing to pay, some titles e.g.
Take Control of the Mac Command Line With Terminal are accessible and handy. That should give you a flavour of how UNIX works, the most commonly used commands, the file structure, alias/symlinks, shell profiles and PATH, command syntax (
command -options arguments), etc.
There are works covering individual programs (commands) in depth, such as
grep and
awk. (
Regular expression is useful to make these commands do what you want.) You will be mind blown at just how powerful these commands are, even today (perhaps more than ever). It is also useful to check out package managers that allow you to install and update programs easily, e.g.
Homebrew and
MacPorts.
You can string everything together and have a blast using
shell scripts. These are basically a series of commands that you program in advance and run in sequences to do things you want, and can leverage other tools and scripts in other languages e.g. Python - perfect for automation.
If you want to customise your terminal experience (hmm, that doesn't sound right), you can check out third-party terminal e.g.
iTerm2.
Those are the resources I referred to when I was learning about UNIX and macOS command line. I hope that helps!