The Linux Programmer's Toolbox and over one million other books are available for Amazon Kindle. Learn more

The Linux Programmer's Toolbox 1st Edition

11 customer reviews
ISBN-13: 978-0132198578
ISBN-10: 0132198576
Why is ISBN important?
This bar-code number lets you verify that you're getting exactly the right version or edition of a book. The 13-digit and 10-digit formats both work.
Scan an ISBN with your phone
Use the Amazon App to scan ISBNs and compare prices.
Have one to sell? Sell on Amazon
Buy used
Buy new
Amazon Price New from Used from
"Please retry"
Paperback, March 16, 2007
"Please retry"
$26.11 $0.85
More Buying Choices
16 New from $26.11 27 Used from $0.85

InterDesign Brand Store Awareness Textbooks
$30.12 FREE Shipping on orders over $35. Only 2 left in stock (more on the way). Ships from and sold by Gift-wrap available.

Frequently Bought Together

The Linux Programmer's Toolbox + Linux Programming by Example: The Fundamentals
Price for both: $66.20

Buy the selected items together

Editorial Reviews

From the Back Cover

Master the Linux Tools That Will Make You a More Productive, Effective Programmer

The Linux Programmer's Toolboxhelps you tap into the vast collection of open source tools available for GNU/Linux. Author John Fusco systematically describes the most useful tools available on most GNU/Linux distributions using concise examples that you can easily modify to meet your needs.

You'll start by learning the basics of downloading, building, and installing open source projects. You'll then learn how open source tools are distributed, and what to look for to avoid wasting time on projects that aren't ready for you. Next, you'll learn the ins and outs of building your own projects. Fusco also demonstrates what to look for in a text editor, and may even show you a few new tricks in your favorite text editor.

You'll enhance your knowledge of the Linux kernel by learning how it interacts with your software. Fusco walks you through the fundamentals of the Linux kernel with simple, thought-provoking examples that illustrate the principles behind the operating system. Then he shows you how to put this knowledge to use with more advanced tools. He focuses on how to interpret output from tools like sar, vmstat, valgrind, strace, and apply it to your application; how to take advantage of various programming APIs to develop your own tools; and how to write code that monitors itself.

Next, Fusco covers tools that help you enhance the performance of your software. He explains the principles behind today's multicore CPUs and demonstrates how to squeeze the most performance from these systems. Finally, you'll learn tools and techniques to debug your code under any circumstances.

Coverage includes

  • Maximizing productivity with editors, revision control tools, source code browsers, and "beautifiers"
  • Interpreting the kernel: what your tools are telling you
  • Understanding processes-and the tools available for managing them
  • Tracing and resolving application bottlenecks with gprof and valgrind
  • Streamlining and automating the documentation process
  • Rapidly finding help, solutions, and workarounds when you need them
  • Optimizing program code with sar, vmstat, iostat, and other tools
  • Debugging IPC with shell commands: signals, pipes, sockets, files, and IPC objects
  • Using printf, gdb, and other essential debugging tools



About the Author 

Chapter 1 Downloading and Installing Open Source Tools
Chapter 2 Building from Source
Chapter 3 Finding Help
Chapter 4 Editing and Maintaining Source Files
Chapter 5 What Every Developer Should Know about the Kernel
Chapter 6 Understanding Processes
Chapter 7 Communication between Processes
Chapter 8 Debugging IPC with Shell Commands
Chapter 9 Performance Tuning
Chapter 10 Debugging

About the Author

John Fusco is a software developer for GE Healthcare who specializes in Linux applications and device drivers. He has worked on Unix software for more than ten years and has been developing applications for Linux since kernel version 2.0. He has written articles for Embedded Systems Programming and Linux Journal.


Shop the New Digital Design Bookstore
Check out the Digital Design Bookstore, a new hub for photographers, art directors, illustrators, web developers, and other creative individuals to find highly rated and highly relevant career resources. Shop books on web development and graphic design, or check out blog posts by authors and thought-leaders in the design industry. Shop now

Product Details

  • Paperback: 656 pages
  • Publisher: Prentice Hall; 1 edition (March 16, 2007)
  • Language: English
  • ISBN-10: 0132198576
  • ISBN-13: 978-0132198578
  • Product Dimensions: 7 x 1.3 x 9.1 inches
  • Shipping Weight: 2 pounds (View shipping rates and policies)
  • Average Customer Review: 4.1 out of 5 stars  See all reviews (11 customer reviews)
  • Amazon Best Sellers Rank: #1,579,160 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

Most Helpful Customer Reviews

15 of 16 people found the following review helpful By topoman on May 31, 2007
Format: Paperback
This book is aimed at the person who has learned his way around Linux at the user level and now wants to look under the covers. It's extremely comprehensive - from how to add a Linux application that wasn't in your your initial distribution - whether you can use the binary or need to rebuild it from source - through basic facts on the kernel, devices and their drivers, processes and debugging tools. There has been a need for a book that addresses readers who do know something about computers, but not much Linux. This book fills that need extremely well.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
20 of 23 people found the following review helpful By Anthony Lawrence VINE VOICE on March 15, 2007
Format: Paperback
No, really. The first thing that impressed me is how much information the author packed into 600 odd pages. It takes skill to do that well and still be readable and interesting.

A programmer moving from anything to Linux would find this a simply wonderful roadmap and introduction, but I was surprised to notice that this would also be very good for non-programmers: sys admin or high level support types will like this book also.

There's good stuff here: the subsection of Chapter Two that deals with things that can go wrong during compiles is the best treatment of that I've ever read. Chapter 5 is titled "What every developer should know about the kernel", but most of it is things every admin/support person should know too. Of course there's much more: this is very thorough and complete.

Definitely recommended.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
3 of 3 people found the following review helpful By Jason Ni on September 1, 2008
Format: Paperback
It is a very good reference to Linux developers, by providing the most common seen or most used techniques in Linux developments. It covers from the most used tools, including source version control, source code edit, debug,etc, to a brief introduction on the Linux kernel architecture and memory management, that is essential to any programmers who want to know the "evil" inside the kernel.

Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
2 of 2 people found the following review helpful By Chris G. Sebastian on September 8, 2011
Format: Paperback Verified Purchase
To a new user, Linux is much like a dark room. There are lots of things in the room, but you can't really see them, and you don't know what they are, or what they do. You learn primarily by feeling your way around. Very often, Linux can be frustrating because you can't find what you want, or you bump into something sharp or stub your toe. Occasionally, you stumble upon something valuable...

That's how I learned Linux; I stumbled around long enough to discover many of the important pieces. But, boy! it sure took a long time, and I ended up with an awful lot of stubbed toes!

Well, if Linux is a dark room, then The Linux Programmer's Toolbox is a Wicked Lasers Torch Flashlight with a built-in GPS navigation system. This book clearly explains all the important pieces you need to know about, and shows how they all fit into the Big Picture. If you are a Linux programmer, or even just a Linux user, this book will significantly improve your life. No joke!

I managed to learn many of the things in this book by trial and error over the course of many, many years. I had to use the "stumble upon" approach because I never found a book that gave such a good overview of the available Linux tools, and how to use them. Don't get me wrong -- I read a *lot* of Linux books and documentation; but most of them just gave shallow, unconnected overviews of different Linux commands, or they didn't explain how the various pieces fit together to form one coherent system.

For example, I never found a book that gave a helpful overview of compiling Linux software (like source code I download from, and so for years, as soon as I hit an obstacle while building a program, I didn't know what to do.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
Format: Paperback
Fusco gathers into one easy to read book the many open source tools available under linux. Cumulatively written by hundreds (if not thousands) of contributors. You might pause a moment when reading the text, to reflect on the amazing amount of code that is freely available under linux.

The tools are meant for two types of readers. The system administrator. The programmer. For the sysadmin, there are tools for install packages. Very practical, since updated packages often have bug fixes or new functionalities. This includes rpm, which is used by Red Hat, Suse and other linux distributions. But dpkg is also explained. This is used by Debian and Ubuntu. For the programmer, tools include ways to share memory between processes, as well as communicating between them via semaphores or message queues.

The book reflects a general approach taken by Fusco. Tools are described across the popular linux distributions. The book can be used by you, regardless of which distribution you favour.

There is a stylistic difference between the material in the book and a corresponding text on Microsoft's offerings. The latter often has a rich graphical framework, like Visual Studio. In contrast, significant portions of this book refer to tools used at the command line. Reflecting linux's heritage in unix. Which means that portions of the text might be initially more complex to master.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
5 of 9 people found the following review helpful By Joel Adamson on February 16, 2010
Format: Paperback
I had high hopes for this book, as others have recommended it to me as a good way to familiarize myself with the number of tools available for programming in the GNU environment. I would like to have joked, saying that since the author uses vi, and I use Emacs, that the book therefore gets two stars. Unfortunately it's not a joke, and I have some negative comments to make about this title. The author generally makes a good effort to educate his readers, and I really like his attitude and the inclusion of comedy: for example, using the number 0xdeadbeef in examples, and a footnote stating that if you've never had a GUI unavailable "you're not trying hard enough." From comments like this, I can tell that the author and I would have a good time chatting, but the book just doesn't go far enough in terms of useful information.

I do recommend this book for GNU/Linux novices, but unfortunately cannot recommend it to other people like myself, who have been using GNU/Linux for more than a few years. If you are an experienced programmer on a different operating system or programming environment, then this book will have a lot of good introductory material. The book includes plenty of good information about how system calls work, how the kernel allocates memory and some other system details (most of which can be found in another title in this series: Linux Programming by Example: The Fundamentals). I found the section on vi and Vim to be the best summary of important commands I've found anywhere. Consider that these useful facts only fill about thirty of the over 500 pages of this volume.

However, the content is only introductory.
Read more ›
2 Comments Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Set up an Amazon Giveaway

Amazon Giveaway allows you to run promotional giveaways in order to create buzz, reward your audience, and attract new followers and customers. Learn more
The Linux Programmer's Toolbox
This item: The Linux Programmer's Toolbox
Price: $30.12
Ships from and sold by

What Other Items Do Customers Buy After Viewing This Item?