Best Linux Programming Books
If you have ever wondered how it all comes together, how Linux works and what it entails, then having a good look at its documentation, books and other resources is worth your while.
1. The Linux Command Line, 2nd Edition: A Complete Introduction
Author: by William Shotts
Published at: No Starch Press; Illustrated edition (March 7, 2019)
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 sedOnce you overcome your initial “shell shock,” you’ll find that the command line is a natural and expressive way to communicate with your computer.
2. Linux Basics for Hackers: Getting Started with Networking, Scripting, and Security in Kali
Author: by OccupyTheWeb
Published at: No Starch Press; Illustrated edition (December 4, 2018)
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.
3. Linux Pocket Guide: Essential Commands
Author: by Daniel J. Barrett
Published at: O'Reilly Media; 3rd edition (June 28, 2016)
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 shellFile creation and editingText manipulation and pipelinesBackups and remote storageViewing and controlling processesUser account managementBecoming the superuserNetwork connectionsAudio and videoInstalling softwareProgramming with shell scripts
4. The Linux Programming Interface: A Linux and UNIX System Programming Handbook
Author: by Michael Kerrisk
Published at: No Starch Press; 1st edition (October 28, 2010)
The Linux Programming Interface (TLPI) is the definitive guide to the Linux and UNIX programming interfacethe 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 efficientlyUse signals, clocks, and timersCreate processes and execute programsWrite secure programsWrite multithreaded programs using POSIX threadsBuild and use shared librariesPerform interprocess communication using pipes, message queues, shared memory, and semaphoresWrite network applications with the sockets APIWhile 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.
5. How Linux Works, 2nd Edition: What Every Superuser Should Know
Author: by Brian Ward
Published at: No Starch Press; Second edition (November 14, 2014)
Unlike some operating systems, Linux doesn’t try to hide the important bits from youit 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 completely revised second edition of the perennial best seller How Linux Works, author Brian Ward makes the concepts behind Linux internals accessible to anyone curious about the inner workings of the operating system. Inside, you’ll find the kind of knowledge that normally comes from years of experience doing things the hard way.
You’ll learn:How Linux boots, from boot loaders to init implementations (systemd, Upstart, and System V)How the kernel manages devices, device drivers, and processesHow networking, interfaces, firewalls, and servers workHow development tools work and relate to shared librariesHow to write effective shell scriptsYou’ll also explore the kernel and examine key system tasks inside user space, including system calls, input and output, and filesystems.
6. Linux Command Line and Shell Scripting Bible
Author: by Richard Blum
Published at: Wiley; 4th edition (January 13, 2021)
Advance your understanding of the Linux command line with this invaluable resource Linux Command Line and Shell Scripting Bible, 4th Edition is the newest installment in the indispensable series known to Linux developers all over the world. Packed with concrete strategies and practical tips, the latest edition includes brand-new content covering: Understanding the Shell Writing Simple Script Utilities Producing Database, Web & Email Scripts Creating Fun Little Shell Scripts Written by accomplished Linux professionals Christine Bresnahan and Richard Blum, Linux Command Line and Shell Scripting Bible, 4th Edition teaches readers the fundamentals and advanced topics necessary for a comprehensive understanding of shell scripting in Linux.
The book is filled with real-world examples and usable scripts, helping readers navigate the challenging Linux environment with ease and convenience. The book is perfect for anyone who uses Linux at home or in the office and will quickly find a place on every Linux enthusiast’s bookshelf.
7. Ubuntu Linux Unleashed 2021 Edition
Author: by Matthew Helmke
Published at: Addison-Wesley Professional; 14th edition (August 14, 2020)
Covers 20.04, 20.10, and 21. 04 Ubuntu Linux Unleashed 2021 Edition is filled with unique and advanced information for everyone who wants to make the most of the Ubuntu Linux operating system. This new edition has been thoroughly updated by a long-time Ubuntu user and early community leader to reflect the exciting new Ubuntu 20.
04 LTS release, with a forthcoming online update mid-2021, at the halfway mark before the next LTS release comes out. Linux writer Matthew Helmke covers all you need to know about Ubuntu 20. 04 LTS installation, configuration, productivity, command-line usage, development, systems administration, server operations, networking, virtualization, cloud computing, DevOps, and moreincluding intermediate-to-advanced techniques you won’t find in any other book.
Helmke presents up-to-the-minute introductions to Ubuntu’s key productivity and web development tools, programming languages, hardware support, and more. You’ll find new or improved coverage of the Ubuntu desktop experience, common web servers and software stacks, an introduction to containers like Docker and Kubernetes, as well as a wealth of systems administration information that is stable and valuable over many years.
8. How to Draw Superheroes: Fun Drawing Book for Kids with Famous Superheroes(DC Comics, Avengers, Spiderman, Superman, Batman and MORE!)
Author: by Alban Ray
Published at: Independently published (March 9, 2020)
Do you love superhero comic books? Are you often mesmerised by the artistry involved and wonder if you could replicate it? This book will show you how it’s done! We almost all have a favourite superhero. From Batman to The Hulk, or from The Avengers to Spiderman, we each have one who stands above the others with a superpower we would love to emulate.
It seems to have become ingrained into our DNA and with film franchises bringing them to the big screen for decades now, they continue to grow in popularity and show no signs of waning. But what if you could draw Superman like a pro, or Catwoman in a faithful and perfect image?
This book, How to Draw Superheroes, will teach you how to do it, in a step-by-step process that guarantees success that will allow you to replicate your favourites in stunning fashion. Scroll up and click Add to Cart now, for your copy!
9. Linux Command Bible 3e
Author: by Richard Blum
Published at: Wiley; 3rd edition (January 20, 2015)
Talk directly to your system for a faster workflow with automation capability Linux Command Line and Shell Scripting Bible is your essential Linux guide. With detailed instruction and abundant examples, this book teaches you how to bypass the graphical interface and communicate directly with your computer, saving time and expanding capability.
This third edition incorporates thirty pages of new functional examples that are fully updated to align with the latest Linux features. Beginning with command line fundamentals, the book moves into shell scripting and shows you the practical application of commands in automating frequently performed functions.
This guide includes useful tutorials, and a desk reference value of numerous examples. The Linux command line allows you to type specific shell commands directly into the system to manipulate files and query system resources. Command line statements can be combined into short programs called shell scripts, a practice increasing in popularity due to its usefulness in automation.
10. Exploring Raspberry Pi: Interfacing to the Real World with Embedded Linux
Author: by Derek Molloy
Published at: Wiley; 1st edition (June 13, 2016)
Expand Raspberry Pi capabilities with fundamental engineering principles Exploring Raspberry Pi is the innovators guide to bringing Raspberry Pi to life. This book favors engineering principles over a ‘recipe’ approach to give you the skills you need to design and build your own projects.
You’ll understand the fundamental principles in a way that transfers to any type of electronics, electronic modules, or external peripherals, using a “learning by doing” approach that caters to both beginners and experts. The book begins with basic Linux and programming skills, and helps you stock your inventory with common parts and supplies.
Next, you’ll learn how to make parts work together to achieve the goals of your project, no matter what type of components you use. The companion website provides a full repository that structures all of the code and scripts, along with links to video tutorials and supplementary content that takes you deeper into your project.
The Raspberry Pi’s most famous feature is its adaptability. It can be used for thousands of electronic applications, and using the Linux OS expands the functionality even more. This book helps you get the most from your Raspberry Pi, but it also gives you the fundamental engineering skills you need to incorporate any electronics into any project.
11. Linux Kernel Development
Author: by Robert Love
Published at: Addison-Wesley Professional; 3rd edition (June 22, 2010)
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
12. 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
Author: by Zach Codings
Published at: Independently published (December 4, 2019)
Do you feel that informatics is indispensable in today’s increasingly digital world? Do you want to introduce yourself to the world of programming or cyber security but don’t know where to get started? If the answer to these questions is yes, then keep readingThis book includes:PYTHON MACHINE LEARNING: A Beginner’s Guide to Python Programming for Machine Learning and Deep Learning, Data Analysis, Algorithms and Data Science with Scikit Learn, TensorFlow, PyTorch and KerasHere’s a sneak peek of what you’ll learn with this book:The Fundamentals of PythonPython for Machine LearningData Analysis in PythonComparing Deep Learning and Machine LearningThe Role of Machine Learning in the Internet of Things (IoT)And much moreSQL FOR BEGINNERS: A Step by Step Guide to Learn SQL Programming for Query Performance Tuning on SQL DatabaseThroughout 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. How to use mathematical operations and functions. The exact steps to clean your data and make it easier to analyze.
13. Mastering Linux Shell Scripting: A practical guide to Linux command-line, Bash scripting, and Shell programming, 2nd Edition
Author: by Mokhtar Ebrahim
Published at: Packt Publishing; 2nd edition (April 19, 2018)
Master the complexities of Bash shell scripting and unlock the power of shell for your enterpriseKey FeaturesIdentify high-level steps such as verifying user inputUse the command line and conditional statements for creating and executing simple shell scriptsCreate and edit dynamic shell scripts to manage complex and repetitive tasksBook DescriptionMastering shell scripting is made easy with this book that guides you through everything, right from using the Linux command line through to creating Bash scripts, while also helping you make informed choices about the elements you employ.
You can use your favorite editor and start writing Bash scripts in a step-by-step manner. The book will also help you get to grips with the fundamentals of creating and running a script in normal mode, as well as in debug mode.
You’ll explore code snippets from various conditional statements, and realize the power of repetition and loops in your shell script. You will gradually learn to write complex shell scripts, before delving into file system administration, directories, and system administration such as networking, process management, user authentication, package installation, and regular expressions.
14. Wicked Cool Shell Scripts, 2nd Edition: 101 Scripts for Linux, OS X, and UNIX Systems
Author: by Dave Taylor
Published at: No Starch Press; 2nd edition (October 15, 2016)
Shell scripts are an efficient way to interact with your machine and manage your files and system operations. With just a few lines of code, your computer will do exactly what you want it to do. But you can also use shell scripts for many other essential (and not-so-essential) tasks.
This second edition of Wicked Cool Shell Scripts offers a collection of useful, customizable, and fun shell scripts for solving common problems and personalizing your computing environment. Each chapter contains ready-to-use scripts and explanations of how they work, why you’d want to use them, and suggestions for changing and expanding them.
You’ll find a mix of classic favorites, like a disk backup utility that keeps your files safe when your system crashes, a password manager, a weather tracker, and several games, as well as 23 brand-new scripts, including: ZIP code lookup tool that reports the city and state Bitcoin address information retriever suite of tools for working with cloud services like Dropbox and iCloud for renaming and applying commands to files in bulk processing and editing toolsWhether you want to save time managing your system or just find new ways to goof off, these scripts are wicked cool!
15. Practical Binary Analysis: Build Your Own Linux Tools for Binary Instrumentation, Analysis, and Disassembly
Author: by Dennis Andriesse
Published at: No Starch Press; Illustrated edition (December 11, 2018)
Stop manually analyzing binary! Practical Binary Analysis is the first book of its kind to present advanced binary analysis topics, such as binary instrumentation, dynamic taint analysis, and symbolic execution, in an accessible way. As malware increasingly obfuscates itself and applies anti-analysis techniques to thwart our analysis, we need more sophisticated methods that allow us to raise that dark curtain designed to keep us out-binary analysis can help.
The goal of all binary analysis is to determine (and possibly modify) the true properties of binary programs to understand what they really do, rather than what we think they should do. While reverse engineering and disassembly are critical first steps in many forms of binary analysis, there is much more to be learned.
This hands-on guide teaches you how to tackle the fascinating but challenging topics of binary analysis and instrumentation and helps you become proficient in an area typically only mastered by a small group of expert hackers. It will take you from basic concepts to state-of-the-art methods as you dig into topics like code injection, disassembly, dynamic taint analysis, and binary instrumentation.