Oh I already know how to use (most of) those things. What I meant was more that if something on my machine is not working, like a driver or something, I usually have to resort to just copy pasting whatever people tell me to do.
I guess what I meant was more that I don't understand how Linux the OS works, not how to work in Linux?
I've been dealing with the same issue. I haven't figured out any real trick to it; the best I can tell, a working Linux system is composed of so many different utilities worked on by so many different people, there's a lot less standardization than what you might expect.
For example, if I do something and it doesn't work, I want to see something that went wrong. This could show up:
1. In stdout/stderr
2. In a logfile specific to that software, somewhere on my computer
3. In an aggregated logfile somewhere on my computer
4. Nowhere, but will do 1, 2, or 3 after you enable something in a config file or cli parameter
This all assumes that if there's something you have to look up (like where it logs files to), you can figure it out based on the man page or website or inspecting your filesystem, and then it actually logs some actionable information on the problem.
I've just come to terms with the fact that everything, no matter how simple it should be, is an ordeal the first time I do it. I just set aside time to research and make notes.
I guess what I meant was more that I don't understand how Linux the OS works, not how to work in Linux?