One of the great benefits of Unix is the vast array of free and inexpensive software tools that are available for the platform. Programming with GNU Software provides an overview of how C and C++ programmers can use some of these the source-code editor Emacs, the gcc compiler, gdb debugger, gprof profiler, and the RCS version-control system. The book offers a quick-paced tutorial that, unlike some introductions to Unix tools, is particularly focused on the needs of C programmers.
This book, dating from '97, is actually a beauty. It covers a summary of programming on a UNIX environment without any of the 'fancy' modern stuff. It focuses on getting started with the fundations being C, gcc, make, gdb, emacs and the commandline and focuses on the layer many people just skip nowadays. The book is actually written in a cross-platform mindset (think about the glory days of the DEC Alpha, SGI Irix, Sun Sparc, ...) but translates very well to a more modern embedded mindset and if you can make this click and can get rid of the nostalgia the book hasn't really aged a bit (okay, not true, there is still a chapter on rcs).
Before there were online forums (where both the questions and the answers are of varying quality) there were reference works, such as this book, to help out aspiring programmers. The text is well written, with almost no frivolity and the information presented with much clarity.
The year of publication (1997) did not see yet the advent of continuous integration and automated version control or even syntax highlighting, but still the book discusses many of the fundamentals that are still used today, such as the make utility, compiler diagnostics and debugging features. One also has to ignore the bits of self-promotion, otherwise a good book.