LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - General (https://www.linuxquestions.org/questions/linux-general-1/)
-   -   The road to mastering Linux/Unix (https://www.linuxquestions.org/questions/linux-general-1/the-road-to-mastering-linux-unix-582518/)

yougene 09-05-2007 08:26 PM

The road to mastering Linux/Unix
 
Linux is so vast and interrelated that a lack of understanding in one area really affects my ability to work in another. I was just wondering if there are top-down as well as bottom-up paths of learning that can be recommended.

I'm currently learning C, so I'm thinking maybe I should start familiarizing myself with the structure of the kernel. But what are some other foundational components I should be aware of?

PatrickNew 09-05-2007 08:36 PM

That really depends what you mean by "to learn linux". If you are referring to linux as in the kernel, then learning C is a very good start, after which I would recommend the kernel janitor project. If you just mean how to use linux, you can find any overview of the file system hierarchy and of file permissions, then start up Gnome or KDE and use it just like you did windows. If you mean you want to sysadmin, frankly I wouldn't even know where to begin - just figure things out as they arise.

pixellany 09-05-2007 08:36 PM

Are you trying to be a user? Administrator? Kernel hacker? Most users of Linux have NO need to learn the kernel.

I would ALWAYS start by just getting familiar with one or more distros at the GUI level.

The second step would be a basic knowledge of the shell (go to tldp.org and get "Bash Guide for Beginners")

Beyond that, it really depends on what your personal goals are.

MS3FGX 09-05-2007 08:38 PM

What exactly is your end goal here? Linux development?

If you are just trying to get a good handle on Linux to be a better user then you certainly don't need to know how to program in C/C++, let alone kernel structure.

Not that I would persuade anyone from going out and learning more, but you could spend your time on some more relevant information; like how to configure and compile the kernel, rather than studying how it is designed.

yougene 09-05-2007 08:58 PM

To clarify I'm not completely new to Linux(although I'm not even sure if I could call my self a solid intermediate). I've been playing with Linux on and off since I was 12. My problem is I feel like my knowledge and experience are a mile wide and an inch deep. I think it's about time I truly took a dive in.

I'm going more towards the side of administration and development(not neccasarily kernel development).

MS3FGX 09-05-2007 11:08 PM

Well in that case, the C is a good step. A general knowledge of the various Linux libraries is also important, as is a good handle on writing portable code.

For administration, you want to read up on the various daemon configurations. Sendmail, Samba, etc. Going a little farther, a good knowledge of the runlevels and boot processes of the various distributions (at least the ones you are planning on using) is very helpful.

thloh85 09-05-2007 11:10 PM

Well, then try to learn LFS (yay my favorite quote)...
You might wanne get some C/C++ for development under linux...
Oracle is also a good (proprietary) software for database and MySQL/PostgreSQL/Firebird is a good choice for open source database...
Hope this helps :)


All times are GMT -5. The time now is 08:45 AM.