How to learn linux programming

  

If you want to learn UNIX/LINUX programming, "APUE" is absolutely classic textbook, deepen your knowledge, and learn the second volume of "UNP". This way, basically the system can be mastered. If you continue to network programming, it is recommended to look at the third volume of "TCP/IP for Internetworking", which has a lot of programming about the application protocol telnet, ftp and other protocols.

Recommended learning path: First learn the editor, vim, emacs or whatever. Then learn the make file, just know a little, so you can prepare the program.

Then look at the "C programming language" K & R, so that you can basically do general programming, by the way to find the book of this data structure.

If you want to learn UNIX/LINUX programming, "APUE" is an absolutely classic textbook, deepen your knowledge and learn the second volume of "UNP". This way, basically the system can be mastered.

Then look at Douglus E. Comer's "Internetworking with TCP/IP" first volume, learn about the network, and then look at the first volume of "UNP", not only learn network programming, but also Some common techniques for system programming are familiar. If you continue network programming, it is recommended to look at the third volume of "TCP/IP for Internet Interconnection", which has a lot of programming about the application protocol telnet, ftp and other protocols. If you want to write device drivers, first of all, your system programming interface such as files, IPC, etc. must be familiar with, and then learn "LDD" 2.

Evaluation of several classic textbooks: "The C Programing Language" K&R classic C language programming textbook, the author is the inventor of the C language, the textbook content is profound. Although it is a bit old, but a must-have manual, sometimes I often turn over. The length is relatively small, but every time I look at it, there will be a harvest. In addition, Tan Haoqiang's "C Language Programming" can be used instead.

"Advanced Programing in Unix Envirement" W.Richard Stevens: It is also a very classic book (nonsense, Stevens's book is not classic!), although beginners can see it, but in fact it is " A supplementary material for Unix Network Programing. The level of "Advanced Programming for UNIX Environment" in domestic translation is not very good. Now there is a photocopying version. It is easier to read English directly than to read Chinese.

"Unix Network Programing" W. Richard Stevens: The first volume talks about the BSD Socket network programming interface and another network programming interface, but now generally uses BSD Socket, so this book only looks at about half More can be. The second volume does not have anything to design into the network, mainly about interprocess communication and Posix threads. So after reading "APUE", you can look at it. Basically, the system is summarized by "APUE" and "UNP" vol2. After reading "UNP", you will know most of the programming skills of system programming, even if the volume is about network programming. Domestic is Tsinghua's translation of "Unix Network Programming", the translator has a higher level of knowledge, and the translation is better. So it is recommended to read the Chinese version.

"TCP /IP Xiang Jie" a total of three volumes, volume one talk protocol, volume two talks about implementation, volume three talk programming applications. I have not seen it. But it is said to be very classic, because I don't have time to look at Volume II, so it is inconvenient to evaluate.

"Internetworking with TCP/IP" Douglus.E.Comer has three volumes, one is the principle of the volume, the second is the volume, and the third is the advanced protocol. It feels better than Stevens's set, and even Stevens has to admit that its first volume is very classic. In fact, the first volume, even if you don't have a little knowledge of the network, will be familiar with the ins and outs of the network after reading it. There are many exercises in the first volume that are also designed to be classic and practical, because the author is a teacher himself, and the volume is a textbook for foreign graduate students. There is no answer to the problem, leaving the reader to think, because the answer to the question can make you an intermediate Hacker. The answers to these questions can be obtained from Douglus, but only he only gives the teacher volume II. I don’t think so. Volume 3 can be used as a reference. The manual, the example of which is also very classic. If you look at the source code of Qterm, you will know that most of the telnet implementation of Qterm comes from the source code of this book. I recommend it for books on network principles, not Stevens' TCP/IP Solutions.

"Operating System - Design and Implementation" This is a book about OS
, using Minix as an example. The author's native language is not English, so English looks awkward. The domestic translation is "Operating System Design and Implementation". I have not read the Chinese version because the translator is Yu Jinyuan. His translation of "APUE" has disappointed me. After reading this book, I will have a clear understanding of how the underlying operating system works.

"Linux Device Driver" 2e, one of the few good books on Linux device drivers. However, the content is a bit messy. If you don't have some experience in writing drivers, you won't be able to touch the North and South for the first time. The domestic translation is the second edition of "Linux Device Driver". The first edition, the second edition of the translator I have deep contact, but in general, although the second edition of the translation is somewhat unsatisfactory, but the phase It is a lot more than the first version. To read this book, you should at least look for some books on "Computer Principles" and "Computer Architecture" to read and read at least, and at least have some understanding of the hardware and computer work process.

Copyright © Windows knowledge All Rights Reserved