Unlock the Secrets of Linux System Programming and Take Your Coding Skills to the Next Level
Do you use Linux, but not really understand it?
Have you ever wondered how `ls -l' knows everything it does?
Could you explain to a coworker why `ls' and `find' can be external commands but `cd' and `umask' must be built into the shell?
The answers to these questions, and more, are in Linux Application Programming by Example, Second Edition. Purposely avoiding Too Much Information (TMI) this book tells you exactly what you need to know--no more and no less--about the fundamental Linux system programming APIs.
Following the latest POSIX standard, author Arnold Robbins explains how the basic file, process, IPC and networking APIs work. Wherever possible, he demonstrates the use of the APIs with code drawn from real programs (V7 Unix, BSD Unix, and GNU). When not possible, the author provides small, clearly documented and annotated, standalone example programs of his own.
The author focuses on both high-level principles and "under the hood" techniques. Along the way, he carefully addresses real-world issues like performance, portability, and robustness.
Each chapter closes with exercises, ranging from coding problems to thought experiments, to help you cement your understanding of the material covered. And each chapter has been thoroughly revised and updated for this edition, and two completely new chapters have been added.
All of the code presented in the book is available for download from GitHub, so that you can compile, run, and modify the programs yourself.
Coverage includes:
Memory management
File I/O
File metadata
Processes, Users and groups
Sorting and searching
Argument parsing
Extended interfaces
Signals
Internationalization
Basic Networking
Debugging
And more! . . .
Just learning to program? Switching from Windows or macOS? Already developing with Linux but interested in exploring the system call interface further? No matter which, quickly and directly, this book will help you master the fundamentals needed to build serious Linux software.
If you're ready to leave the cocoon of high-level language programming and get closer to the metal, this book is for you!
Auflage
Sprache
Verlagsort
Verlagsgruppe
Zielgruppe
Produkt-Hinweis
Broschur/Paperback
Klebebindung
ISBN-13
978-0-13-532552-0 (9780135325520)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Klassifikation
Arnold Robbins is a professional software engineer and technical author. He has been working with Unix systems of various sorts, GNU/Linux systems, C, C++, and all the other major Unix tools since 1980. As a long-time volunteer for the GNU project, he has been the maintainer of gawk (GNU Awk) for many years. In 2024, he was awarded the USENIX Lifetime Achievement Award ("The Flame") for his work on GNU Awk and for his numerous books on topics related to Unix and Linux.
Foreword
Preface
Part I: Files and Users
Chapter 1: Introduction
Chapter 2: Arguments, Options, and the Environment
Chapter 3: User-Level Memory Management
Chapter 4: Files and File I/O
Chapter 5: Directories and File Metadata
Chapter 6: General Library Interfaces--Part 1
Chapter 7: Putting It All Together: ls
Chapter 8: Filesystems and Directory Walks
Part II: Processes, Networking, and Internationalization
Chapter 9: Process Management and Pipes
Chapter 10: Signals
Chapter 11: Permissions and User and Group ID Numbers
Chapter 12: Resource Limits
Chapter 13: General Library Interfaces--Part 2
Chapter 14: Sockets and Basic Networking
Chapter 15: Internationalization and Localization
Chapter 16: Extended Interfaces
Part III: Debugging and Final Project
Chapter 17: Debugging
Chapter 18: A Project That Ties Everything Together
Part IV: Appendices
Appendix A: Teach Yourself Programming in Ten Years
Appendix B: Caldera Ancient UNIX License
Appendix C: GNU General Public License
Appendix D: License for the One True Awk
Appendix E: License for 4.4 BSD Code
Index