Linux Books

«
»

We have compiled the list of Best Reference Books on Linux subject. These books are used by students of top universities, institutes and colleges. Here is the full list of best books on Linux along with reviews.

Kindly note that we have put a lot of effort into researching the best books on Linux subject and came out with a recommended list of best books. The table below contains the Name of these best books, their authors, publishers and an unbiased review of books on “Linux” as well as links to the Amazon website to directly purchase these books. As an Amazon Associate, we earn from qualifying purchases, but this does not impact our reviews, comparisons, and listing of these top books; the table serves as a ready reckoner list of these best books.

List of Linux Books with author’s names, publishers, and an unbiased review as well as links to the Amazon website to directly purchase these books.

advertisement

1. Linux System Programming

1. “Linux System Programming” by Love Robert

“Linux System Programming” Book Review: It contains basic concepts of C language such as C library, C compiler and I/O operations. It explains the interfacing of I/O, memory mapping and optimization techniques.

2. “The Linux Programming Interface – A Linux and UNIX System Programming Handbook” by Michael Kerrisk

advertisement
advertisement
“The Linux Programming Interface – A Linux and UNIX System Programming Handbook” Book Review: It explains the system calls and library functions of system programming. It contains linux specific features and UNIX standards. This book provides in depth information about different system calls and library functions which is very useful for Linux System Programming. The book contains information on efficient file reading and writing, process creation and program execution, Multithreaded programming, shared libraries and many network applications. This book helps the programmers to work on platforms other than Unix.

3. “Beginning Linux Programming” by Neil Matthew and Richard Stones

“Beginning Linux Programming” Book Review: It explains Unix programs in C, system calls, file I/O, interprocess communication and shell programming. It contains topics like processes, pipes, socket programming and using MySQL.

4. “Linux Command Line and Shell Scripting Bible” by Richard Blum and Christine Bresnahan

advertisement
“Linux Command Line and Shell Scripting Bible” Book Review: It explains the graphic interface and communication. It contains a number of examples.

5. “LINUX: 2nd Edition! Beginner’s Crash Course – Linux for Beginners Guide to: Linux Command Line, Linux System” by Quick Start Guides
6. “Easy Linux Device Driver, Second Edition: First Step Towards Device Driver Programming” by Mahesh S Jadhav

“Easy Linux Device Driver, Second Edition: First Step Towards Device Driver Programming” Book Review: It explains the history, architecture and advantages of Linux. It has programs with outputs.

7. “Assembly Language Step by Step: Programming with Linux” by Jeff Duntemann

“Assembly Language Step by Step: Programming with Linux” Book Review: It explains the programmable computing, binary and hexadecimal number systems, intel x86 computer architecture. It contains x86 instruction set, memory addressing, procedures, macros and interfacing of C language libraries.

advertisement
8. “Linux for Beginners and Command Line Kung Fu (Bundle): An Introduction to the Linux Operating System and Command Line” by Jason Cannon

“Linux for Beginners and Command Line Kung Fu (Bundle): An Introduction to the Linux Operating System and Command Line” Book Review: This book is useful for the undergraduate students interested in learning Linux Operating System. It focuses on basic concepts such as commands, working with files and directories, programs and documentations. It provides an explanation on SSH and the use of SSH keys. Linux permissions, editors, Linux server and distribution are also included. The book involves description on customizing the shell prompt, scheduling jobs using cron and configurations. It contains a lot of examples and implementation of programs for each topic.

9. “GNU/Linux Rapid Embedded Programming” by Rodolfo Giometti

“GNU/Linux Rapid Embedded Programming” Book Review: This book is designed for Embedded System developers and GNU/Linux programmers. The focus of the book is on fast and effective prototype making. The book assumes previous knowledge on hardware, Embedded Systems and scripting on GNU/Linux.


advertisement

2. Linux Commands & Shell Programming

1. “Linux: The Complete Reference” by Richard Petersen

“Linux: The Complete Reference” Book Review: This book is written for computer science students and people interested in learning about linux os and linux commands. This book elaborately explains all linux features, tools, and utilities. Chapters that explain the installation, configuration and administration are also explained in this book. Information about Ubuntu and Red Hat/Fedora software installation are also given. Other information about deploying FTP, Web, mail, proxy, print, news, and database servers and many more are also included.

2. “A Practical Guide to Linux Commands, Editors, and Shell Programming” by Mark G Sobell

“A Practical Guide to Linux Commands, Editors, and Shell Programming” Book Review: This book is written for computer science students and people interested in learning about linux os and linux commands. Information about filesystems, shells, editors, utilities along with programming tools and regular expressions are included. A chapter that explains about MySQL to get the reader started on the ubiquitous relational database management system (RDBMS) is included. This book contains many realistic examples for better understanding. This book also contains an expert introduction to Python.

3. “Classic Shell Scripting: Hidden Commands that Unlock the Power of Unix” by Arnold Robbins
4. “Linux in a nutshell” by Ellen Siever

“Linux in a nutshell” Book Review: This book is written for computer science students and people interested in learning about linux os. This book contains hundreds of important shell commands with explanations. Chapters explaining the bash shell command-line interpreter, regular expressions and subversion are included in this book. It also contains information about managing servers via virtualization with Xen and VMware.

5. “Introduction to Linux – A Hands on Guide” by Machtelt Garrels
6. “Shell Programming: Bash Scripting from First Steps to Confident User” by Sean Johnson

“Shell Programming: Bash Scripting from First Steps to Confident User” Book Review: This book is written for computer science students and people interested in learning about linux os and bash scripting. The basics of bash scripting are elaborately explained. Other topics like repetitive tasks, decision making and shell functions are also included in this book. Network communication, shell substitution and quoting mechanisms in shell are also clearly explained. Common mistakes made by programmers are also addressed in this book.

7. “Shell Programming and Bash Scripting: Ultimate Beginners Guide Book” by Robert Collins

“Shell Programming and Bash Scripting: Ultimate Beginners Guide Book” Book Review: This book is written for computer science students and people interested in learning about linux os, shell programming and bash scripting. This book contains information about automating various tasks in UNIX by using shell scripts. Chapters on creating shell scripts, managing file systems and software packages and keyboard inputs are also included. Other important topics like structured command, text manipulation and regular expressions are also addressed.

8. “The Linux Command Line: A Complete Introduction” by William E Shotts Jr
9. “Linux Command Line: FAST and EASY!: Linux Commands, Bash Scripting Tricks” by Matthew Gimson

“Linux Command Line: FAST and EASY!: Linux Commands, Bash Scripting Tricks” Book Review: This book is written for computer science students and people interested in learning about linux os and linux commands. This book clearly explains the linux line commands, bash scripting tricks and bash one-liners. Many basic and complex linux commands are explained in this book. Chapters that explain the grep command that is used for searching in linux are also included. Other commands like the tail command and topics like brace expansion, command substitution command history and loops are also addressed.


3. Linux Kernel, Device Drivers & Systems Programming

1. “Linux Kernel Development” by Robert Love

Book Review: This book deals with the major aspects of Linux Kernel which is the design and implementation. The book covers both theoretical and the practical aspects of Linux Kernel Development thereby satisfying the different needs of the user. The topics covered in the book include Process Synchronization and Management, Memory Addressing and Management, Interfaces, Scheduling, Linux Kernel Debugging Techniques, Interrupt Handling and different properties of Linux 2.6 Kernel. The book is useful for people dealing with Kernel code development and the programmers who wish to have a deep insight of the concepts of Operating System. It explains the design, implementation and interfacing of the linux kernel. It contains process management, scheduling, time management, system call interface, memory addressing and management.
2. “Understanding the Linux Kernel” by Daniel P. Bovet, Marco Cesati Ph.D.

Book Review: The Kernel is the central part of the Operating system. It provides communication between the CPU and the outside world, performs memory management so that the system operates efficiently. Kernel is the heart of Linux OS and the above mentioned functions of Kernel are nicely illustrated in the book. The book provides information about the algorithms and data structures used in Linux Kernel Development. The book covers concepts of Memory Management, Virtual Memory, Interrupt Handling, Kernel Synchronization, Inter Process Communication and different aspects of programs. Detailed internal working of the machine and line by line tracing of many program segments is also provided in the book.
3. “Professional Linux Kernel Architecture” by Wolfgang Mauerer

Book Review: This book covers the concepts, structure and implementation details of the Kernel. The concepts of file system and their types are discussed in detail. The book also provides information about various components and subsystems of the kernel with the help of source code. This book is very useful for people who are enthusiastic about Linux environment. Even programmers, developers and IT professionals benefit to a great extent from this book because it provides practical solutions and expert comments for various problems faced by them in their everyday life.
4. “Linux Device Drivers” by Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman

Book Review: Device Drivers drive different types of devices which includes CD-ROM, disks, monitors, printers, displays out of the computer memory. The book provides advancements to Linux Kernel version 2.6 and the new features in the advancements makes the driver more efficient and flexible. The book deals with providing support to different components of a computer, writing new codes for different hardwares and contains different programs which can be compiled and run without the use of any special hardware. The book also provides information about Linux kernel Internals and its implementation there by providing information about the device driver writing.

5. “Essential Linux Device Drivers” by Sreekrishnan Venkateswaran

Book Review: This book helps the developer to develop Linux Drivers for literally any device. The book contains information about Linux 2.6 kernel which is very useful for driver developers. The book contains drivers for audio and video, network devices, different types of buses and flash memory. The book also covers the concepts of driver development cycles, debugging, maintenance, different protocols and support for wireless technologies like Bluetooth, Wi-Fi.


4. Embedded C and Linux

1. “Linux: Linux Command Line, Cover all essential Linux commands. A complete introduction to Linux Operating System, Linux Kernel, For Beginners, Learn Linux in easy steps, Fast!: A Beginners Guide!” by Ray Yao and Ruby C Perl

“Linux: Linux Command Line, Cover all essential Linux commands. A complete introduction to Linux Operating System, Linux Kernel, For Beginners, Learn Linux in easy steps, Fast!: A Beginners Guide!” Book Review: This book is designed for B.Tech/ M.Tech students and also PhD students who are in hardware programming or using Linux. Also professionals can use this book for reference on commands. Teachers and guides can use this book to help students with Linux. This book is useful for the students interested in learning Linux Commands as well as for Linux administrators. It attempts on covering all the essential Linux commands and operations. Main commands like opening the folders, cut, copy to advanced commands of installing are given in this book. Various concepts such as SSH commands, server, managing permissions and controlling access are also discussed. The book gives detailed explanations on how to connect and communicate with the network. It contains examples for each and every topic covered in the book. This book also explains dual booting in Linux and also explains a detailed view to download and install other kernels. This book also easily explains a few networking commands to communicate between clients and servers in a LAN. It also contains references of linux creators for further usage.

2. “More to C – Advanced Programming with C in Linux and on Raspberry Pi” by Andrew Johnson

“More to C – Advanced Programming with C in Linux and on Raspberry Pi” Book Review: This book is designed for B.Tech/ M.Tech students and also PhD students who are in hardware programming or using Linux to develop architecture. Also professionals can use this book for reference on commands. Teachers and guides can use this book to help students with the embedded systems, micro controllers. This book explains basic low level programming in Linux and Raspberry pi. It also explains code IPC, device drivers in kernels. Networking commands and the program for TCP/UDP communication is also given in C. The main topics covered in this guide are structures and unions, binary file i/o. Dynamic memory allocation, linked lists, access to bits and bytes are also explained. Important aspects like logic operations, modules and makefiles, elementary aspects of system programming are explained at the end.

3. “Languages, Compilers, and Tools for Embedded Systems: ACM SIGPLAN Workshop LCTES ’98, Montreal, Canada, June 19-20, 1998, Proceedings (Lecture Notes in Computer Science)” by Frank Mueller and Azer Bestavros

“Languages, Compilers and Tools for Embedded Systems: ACM SIGPLAN Workshop LCTES ’98, Montreal, Canada, June 19-20, 1998, Proceedings (Lecture Notes in Computer Science)” Book Review: This book is useful for M.Tech or researchers or PhD students who want to further study on the reliable software technologies. Faculty can also use this book for research. This book is based on a journal on the software technologies which are reliable. The embedded systems in this book are constrained to the softwares in Canada. Lexical analysis, syntax analysis along with LR(1), LALR, SLR, LL(1) methods are explained in order to design the compiler. Context free grammar, DFA and other automata are explained. This book also covered concepts of church-turing thesis, rice’s theorem and cook’s theorem and computational complexity. The book consists of different solved examples, MCQs and a quick overview at the end of each chapter which will help students to test their understanding and improve.

4. “Linux Command Line” by Ray Yao and Ruby C Perl

“Linux Command Line” Book Review: This book is useful for the students interested in learning Linux Commands as well as for Linux administrators. It attempts on covering all the essential Linux commands and operations. It includes helping commands, shortcut keys, symbols and run levels. It also involves explanation to move, copy, compare, manipulate and delete files and directories. Topics of transferring files and sending network messages are also covered. Various concepts such as SSH commands, server, managing permissions and controlling access are also discussed. The book gives detailed explanations on how to connect and communicate with the network. It contains examples for each and every topic covered in the book.

5. “Building Embedded Linux Systems” by Karim Yaghmour

“Building Embedded Linux Systems” Book Review: This book is designed for B.Tech/ M.Tech students and also PhD students who are in hardware programming or using Linux. Also professionals can use this book for reference on commands. Teachers and guides can use this book to help students with Linux. This book explains the basics of building embedded Linux systems, along with the configuration, setup. The book also looks at the strengths and weaknesses of using Linux in an embedded system. It discusses licensing issues and an introduction to real-time. A discussion of real-time options for Linux is also made in the book. Efficient embedded development framework and GNU are explained later. Setting up, manipulating and using solid-state storage devices are later explained. Debugging your embedded system using a plethora of tools and techniques are discussed in the book. In the end, it explains the usage of uClibc, BusyBox, U-Boot and gdb packages.

6. “Mastering Embedded Linux Programming” by Chris Simmonds

“Mastering Embedded Linux Programming” Book Review: This book is designed for MCA/ B.Tech/ M.Tech students and also PhD students who are in hardware programming or using Linux. Also professionals can use this book for reference on commands. Teachers and guides can use this book to help students with Linux. This book explains the role of the Linux kernel and selects an appropriate role for the device application. It explains how functions are split between processes and the usage of POSIX threads. Buildroot and Yocto and their usage are also explained. This book also explains bootloaders using U-Boot. It discusses applications that interact with Linux device drivers. It explains how to design and write multi-threaded applications using POSIX threads. Finally, it explains how to measure real-time latencies and tune the Linux kernel to minimize them.

People who are searching for Free downloads of books and free pdf copies of these books on Linux – we would like to mention that we don’t have free downloadable pdf copies of these good books and one should look for free pdf copies from these Authors only if they have explicitly made it free to download and read them.

We have created a collection of best reference books on “Linux” so that one can readily see the list of top books on “Linux” and buy the books either online or offline.

If any more book needs to be added to the list of best books on Linux subject, please let us know.

advertisement
advertisement
Subscribe to our Newsletters (Subject-wise). Participate in the Sanfoundry Certification contest to get free Certificate of Merit. Join our social networks below and stay updated with latest contests, videos, internships and jobs!

Youtube | Telegram | LinkedIn | Instagram | Facebook | Twitter | Pinterest
Manish Bhojasia - Founder & CTO at Sanfoundry
Manish Bhojasia, a technology veteran with 20+ years @ Cisco & Wipro, is Founder and CTO at Sanfoundry. He lives in Bangalore, and focuses on development of Linux Kernel, SAN Technologies, Advanced C, Data Structures & Alogrithms. Stay connected with him at LinkedIn.

Subscribe to his free Masterclasses at Youtube & technical discussions at Telegram SanfoundryClasses.