I. The path to Linux is a long journey, so I will go up and down! First, go to the classic books!
1. Entry
《Linux authoritative guideThe book is good, and it is comprehensive and widely written. It is not deeply involved. It is good to be an entry-level book and can be fully understood.Linux. You can also take a look at the popular 《Laruence's private dishBooks, management books. If you want to do the server direction, you can look for it.
2. DriverArticle
《Linux Device DriverProgram"LDD" on the Internet, a classic, essential book. Domestic classic 《Linux Driver DetailsIs also a very good book, very practical, Book SourceCodeThere are many analyses. Based on the 2440, the Linux peripheral driver is fully explained.
3. Kernel
Zhejiang University 《Linux KernelSource codeScenario Analysis, Foreign 《UNIX source code analysisAnd 《Deep understanding of Linux kernelIs a famous classic masterpiece.
4. Shell
《Linux and Unix shell programming guide"
5. ApplicationProgramming
Needless to say, it must be 《Advanced Programming in UNIX environmentIt is called the Bible for Unix programming.
6. TCP/IP
《TCP/IP detailsAuthor W. Richard Steven S is also 《Advanced Programming in UNIX environmentNone of the books written by the cool are not classic. But the young man died early, with a moment of silence.
7.C Language
《The C Programming Language"Is exactly the C language developed by the author. It is strange that books can be spam.
《C and pointerAnd 《C defects and traps. It contains good materials to deepen the skill of C language, which is the most prone to errors in C language.
C expert programming, C language Technical Manual, practice C Programming, etc.
8.Algorithm
《Introduction to Algorithms", Bed essential drink
Note: These classic books are able to withstand repeated questions.It is not a one-time task. It must be practiced and understood repeatedly! Never try to eat a fat man!
Ii. How to learn about Linux
The Linux operating system mainly involves some configuration files (/etc) and command line tools (/bin/sbin/usr/bin/usr/sbin ), master the main directory structure and configuration file of the operating system, and use the command line tool (shell script) of the system to complete routine operating system maintenance and monitoring work. In this way, you can install and deploy some enterprise applications for monitoring and management.
1. Important commands: Find, sed, awk, regular ......
2. tools: the famous software GCC, GDB, Vi, make... under GNU ......
3. Unix programming and compilation. Xwin development method, GTK, QT ......
4. file System, devices in/dev (used), important items in/var, and configurations in/etc (Apache, FTPD, sshd, Xinetd, squid, natd, named), system startup sequence, configuration of corresponding services ......
5. c, Python, PHP, and other advanced languages ......
Iii. Personal horizontal positioning
1. Beginner: familiar with commands, shell programming, simple service configuration, and the location of configuration files related to various services,Understand and modify the configuration script provided by the system (/etc /*.*).Recommended books:
《Laruence's basic and advanced private kitchen"
《Advanced BASH Shell"
2. Intermediate: familiar with TCP/IP principle, OS principle, skillful use of C language, Linux system programming, and network programming.Recommended books:
《The C Programming Language"
《Advanced Programming in UNIX environment"
《Linux Program Design"
《Chapter 1 TCP/IP protocol details"
《Advanced Programming for Unix Networks"
3. Advanced: kernel and driver level. Recommended books:
《Linux Device Driver"
《Deep understanding of Linux kernel"
《In-depth understanding of computer systems"
《Gain an in-depth understanding of the Linux Network"
Iv. learning approaches
1. Help system help document (man)
2. Online books online documentation (Wiki, blogs)
3. Training Guide
4. Topic collections topics
5. Forms Forum
6. Famous Books
7. IRC, mail list, etc.
8. The difference between theory and practice is not as big as the difference between theory and practice!
5. Other Books
Basic JavaScript tutorial ,~ Advanced Programming ,~ Authoritative guide ,~ Dom programming art ,~ Design Mode ,~ Getting started
UNIX in a nutshell, the Unix programming environment, Unix Technical Manual
Managing projects with make
Applying RCs and SCCs
6. Your Own Path
Linux/Unix (C, bash (Shell), tool (Vi, GCC, make), kernel mechanism, Python (advanced language), Open Source)
Design Concept, system management, Unix environment, server, embedded, desktop, mobile device