16 Best Unix Programming Books
1. 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.
2. What's the Best Trivia Book: Fun Trivia Games with 1,200 Questions and Answers
Author: by Louis Richards
Published at: Independently published (November 10, 2020)
1,200 Trivia Questions in 12 Different Categories What’s the best trivia book is the ultimate book to become trivia champion! If you want to host a trivia game, or simply want to stump your friends and family with fun trivia questions this book is the right companion.
The best trivia book provides you with 1,200 questions and answers across 12 different categories such as Geography, Entertainment, History, Sports, Nature & Science, Movies, Music, People & Places, Art & Literature, Animals, Religion & Mythology, Holidays and Food & Drinks. The trivia games are both fun and challenging with something for all ages to enjoy.
It doesn’t matter if you are an adult, a teen or senior, there are thousands of trivia question waiting for you to be answered: What do Eric Clapton, Marilyn Monroe, and Larry Grayson all have in common? Who was Fred Flinstone’s best friend?
What does a Geiger counter measure? Which gangster died on the 25th January 1947? What was the tomato’s original name? Do you think you are prepared to take on the challenge? There’s only one way to find out You might know the correct answer!
3. Learning the bash Shell: Unix Shell Programming (In a Nutshell (O'Reilly))
Author: by Cameron Newham
Published at: O'Reilly Media; Third edition (April 19, 2005)
O’Reilly’s bestselling book on Linux’s bash shell is at it again. Now that Linux is an established player both as a server and on the desktop Learning the bash Shell has been updated and refreshed to account for all the latest changes.
Indeed, this third edition serves as the most valuable guide yet to the bash shell. As any good programmer knows, the first thing users of the Linux operating system come face to face with is the shell the UNIX term for a user interface to the system.
In other words, it’s what lets you communicate with the computer via the keyboard and display. Mastering the bash shell might sound fairly simple but it isn’t. In truth, there are many complexities that need careful explanation, which is just what Learning the bash Shell provides.
If you are new to shell programming, the book provides an excellent introduction, covering everything from the most basic to the most advanced features. And if you’ve been writing shell scripts for years, it offers a great way to find out what the new shell offers.
4. Advanced Programming in the UNIX Environment, 3rd Edition
Author: by W. Stevens
Published at: Addison-Wesley Professional; 3rd edition (May 14, 2013)
For more than twenty years, serious C programmers have relied on one book for practical, in-depth knowledge of the programming interfaces that drive the UNIX and Linux kernels: W. Richard Stevens’ Advanced Programming in the UNIX Environment. Now, once again, Rich’s colleague Steve Rago has thoroughly updated this classic work.
The new third edition supports today’s leading platforms, reflects new technical advances and best practices, and aligns with Version 4 of the Single UNIX Specification. Steve carefully retains the spirit and approach that have made this book so valuable. Building on Rich’s pioneering work, he begins with files, directories, and processes, carefully laying the groundwork for more advanced techniques, such as signal handling and terminal I/O.
He also thoroughly covers threads and multithreaded programming, and socket-based IPC. This edition covers more than seventy new interfaces, including POSIX asynchronous I/O, spin locks, barriers, and POSIX semaphores. Most obsolete interfaces have been removed, except for a few that are ubiquitous.
5. Linux for Beginners: A Practical and Comprehensive Guide to Learn Linux Operating System and Master Linux Command Line. Contains Self-Evaluation Tests to Verify Your Learning Level
Author: by Ethem Mining
Published at: Independently published (December 3, 2019)
Are you looking for a complete guide which enables you to use Linux and manage shell Linux like a pro? Are you struggling to navigate among all the Linux distributions out there and finding hard to define the best one for your needs?
Do you want to evaluate your learning level step by step? Linux is without doubt the most powerful operating system in the world. Yes, you may think Windows and macOS are powerful operating systems owing to the fact that they control much of the PC market but I have some stats that will change your perspective:As of 2021100% of the world’s supercomputers run on Linux23 of the top 25 websites in the world run on Linux96.
3% of the world’s top 1 million servers run on Linux90% of the world’s cloud infrastructure operates on LinuxAll the best cloud hosts run on LinuxI believe you now appreciate just how Linux is not really given as much credit for running the world behind the scenes and have even greater motivation to learn it.
The book discusses the ins and outs of Linux in a beginner friendly style to make your learning process frustration free, as the book does not assume you know anything about Linux. More precisely, this book will teach you:The basics, including what an operating system is, what Linux is, how it has evolved over the years, how Linux works, the architecture of Linux, files hierarchy in Linux as well as the system architecture in Linux Benefits of using Linux as an operating systemLinux distributions, including how to choose a distribution from the different distributions available, depending on your unique needsHow to use Linux text editorsHow to install Linux on Virtual Machines on Windows 10How to install Linux on Virtual Machines on MacOSThe concept of shells in linux, including what is a shell, how to gain access to the shell, the different types of shell, shell scripting along with basic command line editingHow to unleash the full power of different commands in Linux to maximize your user experienceHow to set up access levels and assign users different privileges in Linux, including the different types of users in Linux and moreHow to make the most use of Linux for network administrationSome great Linux alternatives to some of the popular Windows applicationsAnd much moreEven if you’ve never used Linux before but want to learn it, to add it to your skillset and possibly start using it for networking, programming or even just simple web browsing, you will find this book helpful.
6. The Unix Programming Environment (Prentice-Hall Software Series)
Author: by Brian W. Kernighan
Published at: Prentice-Hall; 1st edition (November 1, 1983)
Designed for first-time and experienced users, this book describes the UNIX programming environment and philosophy in detail. KEY TOPICS: Readers will gain an understanding not only of how to use the system, its components, and the programs, but also how these fit into the total environment.
7. Unix Network Programming: The Sockets Networking Api
Author: by W. Richard Stevens
Published at: Addison-Wesley Professional; Subsequent edition (November 1, 2003)
This is THE guide to UNIX network programming APIs. Whether you write Web servers, client/server applications, or any other network software, you need to understand networking APIS-especially sockets in greater detail than ever before. You need UNIX Network Programming, Volume 1, Third Edition.
In this book, the Authors offer unprecedented, start-to-finish guidance on making the most of sockets, the de facto standard for UNIX network programming with APIs – as well as extensive coverage of the X/Open Transport Interface (XTI).
8. UNIX Network Programming
Author: by W. Richard Stevens
Published at: Prentice Hall; 1st edition (January 23, 1990)
The leading book in its field, this guide focuses on the design, development and coding of network software under the UNIX operating system. Provides over 15,000 lines of C code with descriptions of how and why a given solution is achieved.
For programmers seeking an indepth tutorial on sockets, transport level interface (TLI), interprocess communications (IPC) facilities under System V and BSD UNIX.
9. System Programming with C and Unix
Author: by Adam Hoover
Published at: Pearson; 1st edition (February 13, 2009)
Beginning computing students often finish the introduction to programming course without having had exposure to various system tools, without knowing how to optimize program performance and without understanding how programs interact with the larger computer system. Adam Hoover’s System Programming with C and Unix introduces students to commonly used system tools (libraries, debuggers, system calls, shells and scripting languages) and then explains how to utilize these tools to optimize program development.
The text also examines lower level data types with an emphasis on memory and understanding how and why different data types are used.
10. Understanding UNIX/LINUX Programming: A Guide to Theory and Practice
Author: by Bruce Molay
Published at: Pearson (November 25, 2002)
This book explains in a clear and coherent manner how Unix works, how to understand existing Unix programs, and how to design and create new Unix programs. The book is organized by subsystem, each presented in visual terms and explained using vivid metaphors.
It breaks the information into manageable parts that can be presented, explained, and mastered. KEY TOPICS: By using case studies and an extremely reader-friendly manner to illustrate complex ideas and concepts, the book covers the basics of systems programming, users, files and manuals, how to read a directory, using 1S, writing PWD, studying STTY, writing a video game, studying SH, environment and shell variables, I/O redirection and pipes, servers and sockets, writing a web server, license servers, and concurrent functions.
MARKET: For Unix system administrators and programmers, network programmers, and others who have used other operating systems and need to learn Unix programming to expand their skill sets.
11. The Art of UNIX Programming (The Addison-Wesley Professional Computng Series)
Author: by Eric Raymond
Published at: Addison-Wesley; 1st edition (September 23, 2003)
The Art of UNIX Programming poses the belief that understanding the unwritten UNIX engineering tradition and mastering its design patterns will help programmers of all stripes to become better programmers. This book attempts to capture the engineering wisdom and design philosophy of the UNIX, Linux, and Open Source software development community as it has evolved over the past three decades, and as it is applied today by the most experienced programmers.
Eric Raymond offers the next generation of “hackers” the unique opportunity to learn the connection between UNIX philosophy and practice through careful case studies of the very best UNIX/Linux programs.
12. Hands-On System Programming with Go: Build modern and concurrent applications for Unix and Linux systems using Golang
Author: by Alex Guerrieri
Published at: Packt Publishing (July 5, 2019)
Explore the fundamentals of systems programming starting from kernel API and filesystem to network programming and process communications Key Features Learn how to write Unix and Linux system code in Golang v1. 12 Perform inter-process communication using pipes, message queues, shared memory, and semaphores Explore modern Go features such as goroutines and channels that facilitate systems programming Book Description System software and applications were largely created using low-level languages such as C or C++.
Go is a modern language that combines simplicity, concurrency, and performance, making it a good alternative for building system applications for Linux and macOS. This Go book introduces Unix and systems programming to help you understand the components the OS has to offer, ranging from the kernel API to the filesystem, and familiarize yourself with Go and its specifications.
You’ll also learn how to optimize input and output operations with files and streams of data, which are useful tools in building pseudo terminal applications. You’ll gain insights into how processes communicate with each other, and learn about processes and daemon control using signals, pipes, and exit codes.
13. Shell Programming in Unix, Linux and OS X: The Fourth Edition of Unix Shell Programming (Developer's Library)
Author: by Stephen Kochan
Published at: Addison-Wesley Professional; 4th edition (August 31, 2016)
Shell Programming in Unix, Linux and OS X is a thoroughly updated revision of Kochan and Wood’s classic Unix Shell Programming tutorial. Following the methodology of the original text, the book focuses on the POSIX standard shell, and teaches you how to develop programs in this useful programming environment, taking full advantage of the underlying power of Unix and Unix-like operating systems.
After a quick review of Unix utilities, the book’s authors take you step-by-step through the process of building shell scripts, debugging them, and understanding how they work within the shell’s environment. All major features of the shell are covered, and the large number of practical examples make it easy for you to build shell scripts for your particular applications.
The book also describes the major features of the Korn and Bash shells. Learn how to Take advantage of the many utilities provided in the Unix system Write powerful shell scripts Use the shell’s built-in decision-making and looping constructs Use the shell’s powerful quoting mechanisms Make the most of the shell’s built-in history and command editing capabilities Use regular expressions with Unix commands Take advantage of the special features of the Korn and Bash shells Identify the major differences between versions of the shell language Customize the way your Unix system responds to you Set up your shell environment Make use of functions Debug scripts Contents at a Glance 1 A Quick Review of the Basics 2 What Is the Shell?
14. Mastering Unix Shell Scripting: Bash, Bourne, and Korn Shell Scripting for Programmers, System Administrators, and UNIX Gurus
Author: by Randal K. Michael
Published at: Wiley; 2nd edition (June 3, 2008)
UNIX expert Randal K. Michael guides you through every detail of writing shell scripts to automate specific tasks. Each chapter begins with a typical, everyday UNIX challenge, then shows you how to take basic syntax and turn it into a shell scripting solution.
Covering Bash, Bourne, and Korn shell scripting, this updated edition provides complete shell scripts plus detailed descriptions of each part. UNIX programmers and system administrators can tailor these to build tools that monitor for specific system events and situations, building solid UNIX shell scripting skills to solve real-world system administration problems.
15. Learning the UNIX Operating System, Fifth Edition
Author: by Jerry Peek
Published at: O'Reilly Media; Fifth edition (November 13, 2001)
If you are new to Unix, this concise book will tell you just what you need to get started and no more. Unix was one of the first operating systems written in C, a high-level programming language, and its natural portability and low price made it a popular choice among universities.
Initially, two main dialects of Unix existed: one produced by AT&T known as System V, and one developed at UC Berkeley and known as BSD. In recent years, many other dialects have been created, including the highly popular Linux operating system and the new Mac OS X (a derivative of BSD).
Learning the Unix Operating System is a handy book for someone just starting with Unix or Linux, and it’s an ideal primer for Mac and PC users of the Internet who need to know a little about Unix on the systems they visit.
The fifth edition is the most effective introduction to Unix in print, covering Internet usage for email, file transfers, web browsing, and many major and minor updates to help the reader navigate the ever-expanding capabilities of the operating system:In response to the popularity of Linux, the book now focuses on the popular bash shell preferred by most Linux users.
16. Advanced Programming In The Unix Environment, 3Rd Edn
Author: by Rago Stevens
Published at: Pearson India Education (January 1, 2017)