Top 10 Best Books to Read in Linux Programming - August 2021

Here are our top ten recommendations if you are looking for the best books to read in Linux Programming. We have made sure our list is diverse to cater to the interests of different types of readers.

1. The Linux Command Line, 2nd Edition: A Complete Introduction


Top 10 Best Books to Read in Linux Programming - August 2021

You've experienced the shiny, point-and-click surface of your Linux computer--now dive below and explore its depths with the power of the command line. The Linux Command Line takes you from your very first terminal keystrokes to writing full programs in Bash, the most popular Linux shell (or command line). Along the way you'll learn the timeless skills handed down by generations of experienced, mouse-shunning gurus: file navigation, environment configuration, command chaining, pattern matching with regular expressions, and more. In addition to that practical knowledge, author William Shotts reveals the philosophy behind these tools and the rich heritage that your desktop Linux machine has inherited from Unix supercomputers of yore. As you make your way through the book's short, easily-digestible chapters, you'll learn how to:   •  Create and delete files, directories, and symlinks   •  Administer your system, including networking, package installation, and process management   •  Use standard input and output, redirection, and pipelines   •  Edit files with Vi, the world's most popular text editor   •  Write shell scripts to automate common or boring tasks   •  Slice and dice text files with cut, paste, grep, patch, and sed Once you overcome your initial "shell shock," you'll find that the command line is a natural and expressive way to communicate with your computer. Just don't be surprised if your mouse starts to gather dust.

  • Author: William Shotts
  • Publisher: No Starch Press; Illustrated edition (March 7, 2019)
  • Genre: Computers & Technology, Networking & Cloud Computing
  • ISBN: 978-1593279523
  • Dimensions: 7 x 0.24 x 9.25 inches

                 

2. How Linux Works, 3rd Edition: What Every Superuser Should Know


Top 10 Best Books to Read in Linux Programming - August 2021

Best-selling guide to the inner workings of the Linux operating system with over 50,000 copies sold since its original release in 2014. Linux for the Superuser   Unlike some operating systems, Linux doesn’t try to hide the important bits from you—it gives you full control of your computer. But to truly master Linux, you need to understand its internals, like how the system boots, how networking works, and what the kernel actually does.   In this third edition of the bestselling How Linux Works , author Brian Ward peels back the layers of this well-loved operating system to make Linux internals accessible. This edition has been thoroughly updated and expanded with added coverage of Logical Volume Manager (LVM), virtualization, and containers.   You'll learn:   •  How Linux boots, from boot loaders to init (systemd)   •  How the kernel manages devices, device drivers, and processes   •  How networking, interfaces, firewalls, and servers work   •  How development tools work and relate to shared libraries   •  How to write effective shell scripts   You’ll also explore the kernel and examine key system tasks inside user-space processes, including system calls, input and output, and filesystem maintenance. With its combination of background, theory, real-world examples, and thorough explanations, How Linux Works, 3rd Edition will teach you what you need to know to take control of your operating system. NEW TO THIS EDITION:   •  Hands-on coverage of the LVM, journald logging system, and IPv6   •  Additional chapter on virtualization, featuring containers and cgroups   •  Expanded discussion of systemd   Covers systemd-based installations

  • Author: Brian Ward
  • Publisher: No Starch Press; 3rd edition (April 19, 2021)
  • Genre: Computers & Technology, Networking & Cloud Computing
  • ISBN: 978-1718500402
  • Dimensions: 7 x 1.13 x 9.25 inches

                 

3. Linux Pocket Guide: Essential Commands


Top 10 Best Books to Read in Linux Programming - August 2021

If you use Linux in your day to day work, this popular pocket guide is the perfect on the job reference. The third edition features new commands for processing image files and audio files, running and killing programs, reading and modifying the system clipboard, and manipulating PDF files, as well as other commands requested by readers. You’ll also find powerful command line idioms you might not be familiar with, such as process substitution and piping into bash. Linux Pocket Guide provides an organized learning path to help you gain mastery of the most useful and important commands. Whether you’re a novice who needs to get up to speed on Linux or an experienced user who wants a concise and functional reference, this guide provides quick answers. Selected topics include: The filesystem and shell File creation and editing Text manipulation and pipelines Backups and remote storage Viewing and controlling processes User account management Becoming the superuser Network connections Audio and video Installing software Programming with shell scripts

  • Author: Daniel J. Barrett
  • Publisher: O'Reilly Media; 3rd edition (June 28, 2016)
  • Genre: Computers & Technology, Operating Systems
  • ISBN: 978-1491927571
  • Dimensions: 4.3 x 0.5 x 6.9 inches

                 

4. Computer Programming and Cyber Security for Beginners: This Book Includes: Python Machine Learning, SQL, Linux, Hacking with Kali Linux, Ethical Hacking. Coding and Cybersecurity Fundamentals


Top 10 Best Books to Read in Linux Programming - August 2021

Do you feel that informatics is indispensable in today’s increasingly digital world? Do you want to introduce yourself to the world of programming but don’t know where to get started? If the answer to these questions is yes, then keep listening.… With the tech industry becoming one of the most trending fields in the job market, learning how to program can be one of the most important and meaningful skills. This book is meant to introduce people who have no programming experience to the world of computer science and machine learning. This book includes: Python Machine Learning: A Beginner’s Guide to Python Programming for Machine Learning and Deep Learning Here’s a sneak peek of what you’ll learn with this book: The fundamentals of Python for machine learning Data analysis in Python Comparing deep learning and machine learning The role of machine learning in the Internet of Things (IoT) Looking to the future with machine learning And much more…. SQL for Beginners: A Step by Step Guide to Learn SQL Programming for Query Performance Tuning on SQL Database  Throughout these pages, you will learn: How to build databases and tables with the data you create Proven strategies to define all the SQL data types that fit the data you are working with How to sort through the data efficiently to find what you need The exact steps to clean your data and make it easier to analyze How to modify and delete tables and databases And much more…. Linux for Beginners: An Introduction to the Linux Operating System  We will cover the following topics: What makes Linux different? How to install Linux The Linux console  Command line interface Network administration And much more…. This book won’t make you an expert programmer, but it will give you an exciting first look at programming and a foundation of basic concepts with which you can start your journey learning computer programming and machine learning.  Scroll up and click the "buy now" button!

  • Author: Zach Codings
  • Genre: Computers & Technology, Operating Systems, Linux, Programming

                 

5. The Linux Programming Interface: A Linux and UNIX System Programming Handbook


Top 10 Best Books to Read in Linux Programming - August 2021

The Linux Programming Interface (TLPI) is the definitive guide to the Linux and UNIX programming interface—the interface employed by nearly every application that runs on a Linux or UNIX system. In this authoritative work, Linux programming expert Michael Kerrisk provides detailed descriptions of the system calls and library functions that you need in order to master the craft of system programming, and accompanies his explanations with clear, complete example programs. You'll find descriptions of over 500 system calls and library functions, and more than 200 example programs, 88 tables, and 115 diagrams. You'll learn how to: –Read and write files efficiently –Use signals, clocks, and timers –Create processes and execute programs –Write secure programs –Write multithreaded programs using POSIX threads –Build and use shared libraries –Perform interprocess communication using pipes, message queues, shared memory, and semaphores –Write network applications with the sockets API While The Linux Programming Interface covers a wealth of Linux-specific features, including epoll , inotify , and the /proc file system, its emphasis on UNIX standards (POSIX.1-2001/SUSv3 and POSIX.1-2008/SUSv4) makes it equally valuable to programmers working on other UNIX platforms. The Linux Programming Interface is the most comprehensive single-volume work on the Linux and UNIX programming interface, and a book that's destined to become a new classic.

  • Author: Michael Kerrisk
  • Publisher: No Starch Press; 1st edition (October 28, 2010)
  • Genre: Computers & Technology, Operating Systems
  • ISBN: 978-1593272203
  • Dimensions: 7.25 x 2.29 x 9.56 inches

                 



6. Linux Basics for Hackers: Getting Started with Networking, Scripting, and Security in Kali


Top 10 Best Books to Read in Linux Programming - August 2021

This practical, tutorial-style book uses the Kali Linux distribution to teach Linux basics with a focus on how hackers would use them. Topics include Linux command line basics, filesystems, networking, BASH basics, package management, logging, and the Linux kernel and drivers. If you're getting started along the exciting path of hacking, cybersecurity, and pentesting, Linux Basics for Hackers is an excellent first step. Using Kali Linux, an advanced penetration testing distribution of Linux, you'll learn the basics of using the Linux operating system and acquire the tools and techniques you'll need to take control of a Linux environment. First, you'll learn how to install Kali on a virtual machine and get an introduction to basic Linux concepts. Next, you'll tackle broader Linux topics like manipulating text, controlling file and directory permissions, and managing user environment variables. You'll then focus in on foundational hacking concepts like security and anonymity and learn scripting skills with bash and Python. Practical tutorials and exercises throughout will reinforce and test your skills as you learn how to: - Cover your tracks by changing your network information and manipulating the rsyslog logging utility - Write a tool to scan for network connections, and connect and listen to wireless networks - Keep your internet activity stealthy using Tor, proxy servers, VPNs, and encrypted email - Write a bash script to scan open ports for potential targets - Use and abuse services like MySQL, Apache web server, and OpenSSH - Build your own hacking tools, such as a remote video spy camera and a password cracker Hacking is complex, and there is no single way in. Why not start at the beginning with Linux Basics for Hackers ?

  • Author: OccupyTheWeb
  • Publisher: No Starch Press; Illustrated edition (December 4, 2018)
  • Genre: Computers & Technology, Operating Systems
  • ISBN: 978-1593278557
  • Dimensions: 7 x 0.58 x 9.25 inches

                 

7. Linux Kernel Development


Top 10 Best Books to Read in Linux Programming - August 2021

Linux Kernel Development details the design and implementation of the Linux kernel, presenting the content in a manner that is beneficial to those writing and developing kernel code, as well as to programmers seeking to better understand the operating system and become more efficient and productive in their coding.   The book details the major subsystems and features of the Linux kernel, including its design, implementation, and interfaces. It covers the Linux kernel with both a practical and theoretical eye, which should appeal to readers with a variety of interests and needs.   The author, a core kernel developer, shares valuable knowledge and experience on the 2.6 Linux kernel. Specific topics covered include process management, scheduling, time management and timers, the system call interface, memory addressing, memory management, the page cache, the VFS, kernel synchronization, portability concerns, and debugging techniques. This book covers the most interesting features of the Linux 2.6 kernel, including the CFS scheduler, preemptive kernel, block I/O layer, and I/O schedulers.   The third edition of Linux Kernel Development includes new and updated material throughout the book: An all-new chapter on kernel data structures Details on interrupt handlers and bottom halves Extended coverage of virtual memory and memory allocation Tips on debugging the Linux kernel In-depth coverage of kernel synchronization and locking Useful insight into submitting kernel patches and working with the Linux kernel community

  • Author: Robert Love
  • Publisher: Addison-Wesley Professional; 3rd edition (June 22, 2010)
  • Genre: Computers & Technology, Operating Systems
  • ISBN: 978-0672329463
  • Dimensions: 7 x 1.06 x 9 inches

                 

8. Modern Tkinter for Busy Python Developers: Quickly learn to create great looking user interfaces for Windows, Mac and Linux using Python's standard GUI toolkit


Top 10 Best Books to Read in Linux Programming - August 2021

Third Edition: thoroughly revised and expanded! Over 20% new material. Updated for Python 3.9. Quickly learn the right way to build attractive and modern graphical user interfaces with Python and Tkinter. You know some Python. You want to create a user interface for your application. You don't want to waste time messing around with things you don't need. Enter Tkinter. It's built right into Python. Everything you need is included in the standard Python distributions. No extra downloads. Your Python and Tkinter scripts will work on Windows, macOS, and Linux. Tkinter has a simple, clean, Pythonic API. It handles the tedious housekeeping needed in GUI programming. You can focus on what's unique in your application. One HUGE Problem Tkinter has been around for a very long time. There's a lot of documentation, much of it created years ago. Nearly everything in that documentation still works today. But it's all wrong. Tkinter has a reputation for ugly and outdated user interfaces that don't fit in with modern systems. And if you follow the old documentation, that's exactly what you'll get. Tkinter has taken a quantum leap forward since all that documentation was written. There are new and better ways to build your user interface. Your program needs to be written differently to take advantage of that. Modern Tkinter shows you the right way to do it. You'll learn all the modern best practices. You'll build your user interface the right way the first time, without having to learn anything extra or irrelevant. It starts at the beginning, shows you what you need to know, and covers all the essential elements of building your modern user interface. This includes: all the standard GUI widgets attractively laying out your user interface managing menus, windows, and dialogs organizing more complex user interfaces Tkinter's powerhouse widgets: canvas and text customizing the look of your user interface making it all work on macOS, Windows, and Linux You may have been using older documentation or are updating a Tkinter program written years ago. If so, you'll find warnings of what to avoid using, and how to replace it with a modern solution. There's even a full case study of modernizing the user interface of a seriously out-of-date Tkinter application you may be familiar with. Who this book is for This book is for everyday Python programmers looking to quickly create desktop user interfaces. You may be new to Tkinter, or want to bring your knowledge up to date. You don't need to be an expert on OOP, MVC architecture, multithreading, or other advanced topics. In fact, you're not going to need any of those things to use Tkinter. This book uses Python 3.9, but everything you learn will apply (with small tweaks) to any Python 3.x version. It won't help you if you're using Python 2.x. Let veteran software developer Mark Roseman show you the right way to build user interfaces with Python and Tkinter. He's been using Tk (the technology behind Tkinter) since its early days. He's shipped dozens of open source tools and commercial applications based on it. He's also the author of the multi-lingual TkDocs.com website, the de facto reference for building modern Tk user interfaces. This book brings together Python-specific information from that site and supports its further development. Contents Introduction A Brief History of Tk and Tkinter Installing Tkinter A First (Real) Example Tk Concepts Basic Widgets The Grid Geometry Manager More Widgets Event Loop Menus Windows and Dialogs Organizing Complex Interfaces Fonts, Colors, Images Canvas Text Treeview Styles and Themes Case Study: IDLE Modernization

  • Author: Mark Roseman
  • Publisher: Late Afternoon Press; 3rd edition (October 7, 2020)
  • Genre: Kindle Store, Kindle eBooks, Computers & Technology

                 

9. Mastering Embedded Linux Programming: Create fast and reliable embedded solutions with Linux 5.4 and the Yocto Project 3.1 (Dunfell), 3rd Edition


Top 10 Best Books to Read in Linux Programming - August 2021

Harness the power of Linux to create versatile and robust embedded solutions Key Features Learn how to develop and configure robust embedded Linux devices Explore the new features of Linux 5.4 and the Yocto Project 3.1 (Dunfell) Discover different ways to debug and profile your code in both user space and the Linux kernel Book Description Embedded Linux runs many of the devices we use every day. From smart TVs and Wi-Fi routers to test equipment and industrial controllers, all of them have Linux at their heart. The Linux OS is one of the foundational technologies comprising the core of the Internet of Things (IoT). This book starts by breaking down the fundamental elements that underpin all embedded Linux projects: the toolchain, the bootloader, the kernel, and the root filesystem. After that, you will learn how to create each of these elements from scratch and automate the process using Buildroot and the Yocto Project. As you progress, the book explains how to implement an effective storage strategy for flash memory chips and install updates to a device remotely once it's deployed. You'll also learn about the key aspects of writing code for embedded Linux, such as how to access hardware from apps, the implications of writing multi-threaded code, and techniques to manage memory in an efficient way. The final chapters demonstrate how to debug your code, whether it resides in apps or in the Linux kernel itself. You'll also cover the different tracers and profilers that are available for Linux so that you can quickly pinpoint any performance bottlenecks in your system. By the end of this Linux book, you'll be able to create efficient and secure embedded devices using Linux. What you will learn Use Buildroot and the Yocto Project to create embedded Linux systems Troubleshoot BitBake build failures and streamline your Yocto development workflow Update IoT devices securely in the field using Mender or balena Prototype peripheral additions by reading schematics, modifying device trees, soldering breakout boards, and probing pins with a logic analyzer Interact with hardware without having to write kernel device drivers Divide your system up into services supervised by BusyBox runit Debug devices remotely using GDB and measure the performance of systems using tools such as perf, ftrace, eBPF, and Callgrind Who this book is for If you're a systems software engineer or system administrator who wants to learn Linux implementation on embedded devices, then this book is for you. Embedded systems engineers accustomed to programming for low-power microcontrollers can use this book to help make the leap to high-speed systems on chips that can run Linux. Anyone responsible for developing new hardware that needs to run Linux will also find this book useful. Basic working knowledge of the POSIX standard, C programming, and shell scripting is assumed. Table of Contents Starting Out Learning about Toolchains All about Bootloaders Configuring and Building the Kernel Building a Root Filesystem Selecting a Build System Developing with Yocto Yocto Under the Hood Creating a Storage Strategy Updating Software in the Field Interfacing with Device Drivers Prototyping with Breakout Boards Starting Up – The init Program Starting with BusyBox runit Managing Power Packaging Python Learning about Processes and Threads Managing Memory Debugging with GDB Profiling and Tracing Real-Time Programming

  • Author: Frank Vasquez
  • Publisher: Packt Publishing; 3rd ed. edition (May 14, 2021)
  • Genre: Computers & Technology, Hardware & DIY
  • ISBN: 978-1789530384
  • Dimensions: 7.5 x 1.71 x 9.25 inches

                 

10. Linux Kernel Programming: A comprehensive guide to kernel internals, writing kernel modules, and kernel synchronization


Top 10 Best Books to Read in Linux Programming - August 2021

Learn how to write high-quality kernel module code, solve common Linux kernel programming issues, and understand the fundamentals of Linux kernel internals Key Features Discover how to write kernel code using the Loadable Kernel Module framework Explore industry-grade techniques to perform efficient memory allocation and data synchronization within the kernel Understand the essentials of key internals topics such as kernel architecture, memory management, CPU scheduling, and kernel synchronization Book Description Linux Kernel Programming is a comprehensive introduction for those new to Linux kernel and module development. This easy-to-follow guide will have you up and running with writing kernel code in next-to-no time. This book uses the latest 5.4 Long-Term Support (LTS) Linux kernel, which will be maintained from November 2019 through to December 2025. By working with the 5.4 LTS kernel throughout the book, you can be confident that your knowledge will continue to be valid for years to come. This Linux book begins by showing you how to build the kernel from the source. Next, you'll learn how to write your first kernel module using the powerful Loadable Kernel Module (LKM) framework. The book then covers key kernel internals topics including Linux kernel architecture, memory management, and CPU scheduling. Next, you'll delve into the fairly complex topic of concurrency within the kernel, understand the issues it can cause, and learn how they can be addressed with various locking technologies (mutexes, spinlocks, atomic, and refcount operators). You'll also benefit from more advanced material on cache effects, a primer on lock-free techniques within the kernel, deadlock avoidance (with lockdep), and kernel lock debugging techniques. By the end of this kernel book, you'll have a detailed understanding of the fundamentals of writing Linux kernel module code for real-world projects and products. What you will learn Write high-quality modular kernel code (LKM framework) for 5.x kernels Configure and build a kernel from source Explore the Linux kernel architecture Get to grips with key internals regarding memory management within the kernel Understand and work with various dynamic kernel memory alloc/dealloc APIs Discover key internals aspects regarding CPU scheduling within the kernel Gain an understanding of kernel concurrency issues Find out how to work with key kernel synchronization primitives Who this book is for This book is for Linux programmers beginning to find their way with Linux kernel development. Linux kernel and driver developers looking to overcome frequent and common kernel development issues, as well as understand kernel internals, will benefit from this book. A basic understanding of Linux CLI and C programming is required. Table of Contents Kernel Workspace Setup Building the 5.0 Linux kernel from Source, Part 1 Building the 5.0 Linux kernel from Source, Part 2 Writing your First Kernel Module, Part 1 Writing your First Kernel Module - Part 2 Kernel Internals Essentials - Processes and Threads Memory Management Internals - Essentials Kernel Memory Allocation for Module Authors, Part 1 Kernel Memory Allocation for Module Authors - Part 2 The CPU Scheduler - Part 1 The CPU Scheduler - Part 2 Kernel Synchronization - Part 1 Kernel Synchronization - Part 2

  • Author: Kaiwan N Billimoria
  • Publisher: Packt Publishing (March 19, 2021)
  • Genre: Computers & Technology, Networking & Cloud Computing
  • ISBN: 978-1789953435
  • Dimensions: 7.5 x 1.7 x 9.25 inches