I learned the terminal out of necessity when I was leaning to operate servers.
If you have a spare machine, try setting it up as a sandbox to learn in. It’s almost impossible to hurt the physical machine, so, if you’re using an environment that’s set up specifically to be played with, you won’t have to worry about breaking it, as you can just reinstall.
Using a VM also works for this.
As for how to learn it; it helps to have a reason to learn it. Try setting up some servers, or using one of the more difficult distros, like Arch, Gentoo, or (if you’re feeling brave) Linux from Scratch. This will help give you a reason to get hands-on with the terminal, and get used to using it. This combined with a sandbox machine (either physical or a VM), gives you plenty of room to make mistakes, and learn from them, without catastrophic results.
There’s also plenty of good tutorials, about learning the terminal, but I actually never bothered with these. I found it far more helpful to simple jump in, head first, and learn as I went. This tends to work better with a subject as big as the Linux terminal.
Use it when you can. Find new ways to use it. Next time you have a problem, try and solve it with the terminal.
If you’re not sure how to use a command, use the ‘man’ command to look it up. If you’re still not sure, look up some specific examples online.
One thing that keeps me learning is to challenge myself to do things that would otherwise be insane (like reformatting every drive in my machine to change the drive layout without reinstalling because I didn’t want to have to set up all my customizations again).
Owning some references can be helpful, but this isn’t the same as a tutorial. I recommend having references to bash, and the common standard utilities/commands. The manpages should have you covered for most of the utilities though.
The terminal is a very specific way of telling your machine what you want to do. A lot of times, it ends up being more effective than navigating through an unending maze of GUIs. You can rename a set of files with one line in a terminal, as opposed to clicking each one, going to “Rename” and typing in the new name.
It’s simply a differing way of interacting. There’s rarely anything to be afraid of, unless you’re running something using su/sudo, and even then, most of those commands, won’t hurt anything (be careful with ‘dd’, and ‘rm’ though).