Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required. Learn more
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Beginning Linux?Programming 3rd Edition
There is a newer edition of this item:
If you have some programming experience and are ready to venture into Linux programming, this updated edition of the bestselling entry-level book takes you there. The authors guide you step by step, using construction of a CD database application to give you hands-on experience as you progress from the basic to the complex. You’ll start with fundamental concepts like writing Unix programs in C. You’ll learn basic system calls, file I/O, interprocess communication, and shell programming. You’ll become skilled with the toolkits and libraries for working with user interfaces.
The book starts from the basics, explaining how to compile and run your first program. New to this edition are chapters on MySQL® access and administration; programming GNOME and KDE; and Linux standards for portable applications. Coverage of kernel programming, device drivers, CVS, grep, and GUI development environments has expanded. This book gives you practical knowledge for real wor ld application.
What does this book cover?
In this book, you will learn how to
- Develop programs to access files and the Linux environment
- Use the GNU compiler, debugger and other development tools
- Program data storage aapplications for MySQL and DBM database systems
- Write programs that take advantage of signals, processes and threads
- Build graphical user interfaces using both the GTK (for GNOME) and Qt (for KDE) libraries
- Write device drivers that can be loaded into the Linux kernel
- Access the network using TCP/IP sockets
- Write scripts that use grep, regular expressions and other Linux facilities
Who is this book for?
This book is for programmers with some C or C++ experience, who want to take advantage of the Linux development environment. You should have enough Linux familiarity to have installed and configured users on Linux.
- ISBN-100764544977
- ISBN-13978-0764544972
- Edition3rd
- PublisherWrox
- Publication dateJanuary 2, 2004
- LanguageEnglish
- Dimensions7.3 x 1.8 x 9.3 inches
- Print length888 pages
Editorial Reviews
From the Back Cover
The authors guide you step by step, using construction of a CD database application to give you hands-on experience as you progress from the basic to the complex.
You’ll start with fundamental concepts like writing Linux programs in C. You’ll learn basic system calls, file I/O, interprocess communication, and shell programming. You’ll become skilled with the toolkits and libraries for working with user interfaces. The book starts with the basics, explaining how to compile and run your first program. First, each concept is explained to give you a solid understanding of the material. Practical examples are then presented, so you see how to apply the knowledge in real applications.
What you will learn from this book
- To write scripts that use grep, regular expressions, and other Linux facilities
- To develop programs to access files and the Linux environment
- To use the GNU compiler, debugger and other development tools
- To program data storage applications for MySQL and DBM database systems
- To write programs that take advantage of signals, processes, and threads
- To access the network using TCP/IP sockets
- To build graphical user interfaces using both the GTK (for GNOME) and Qt (for KDE) libraries
- To write device drivers that can be loaded into the Linux kernel
Who this book is for
This book is for programmers with some C or C++ experience who want to take advantage of the Linux development environment. You should have enough Linux familiarity to have installed and configured users on Linux.
Wrox Beginning guides are crafted to make learning programming languages and technologies easier than you think, providing a structured, tutorial format that will guide you through all the techniques involved.
About the Author
In terms of UNIX experience, Neil has used almost every flavor since the late 1970s, including BSD UNIX, AT&T System V, Sun Solaris, IBM AIX, many others, and of course Linux.
Neil can claim to have been using Linux since August 1993 when he acquired a floppy disk distribution of Soft Landing (SLS) from Canada, with kernel version 0.99.11. He’s used Linux-based computers for hacking C, C++, Icon, Prolog, Tcl, and Java at home and at work.
Most of Neil’s “home” projects were originally developed using SCO UNIX, but they’ve all ported to Linux with little or no trouble. He says Linux is much easier because it supports quite a lot of features from other systems, so that both BSD- and System V–targeted programs will generally compile with little or no change.
As the head of software and principal engineer at Camtec Electronics in the 1980s, Neil programmed in C and C++ for real-time embedded systems. Since then he’s worked on software development techniques and quality assurance. After a spell as a consultant with Scientific Generics he is currently working as a systems architect with Celesio AG.
Neil is married to Christine and has two children, Alexandra and Adrian. He lives in a converted barn in Northamptonshire, England. His interests include solving puzzles by computer, music, science fiction, squash, mountain biking, and not doing it yourself.
Rick Stones programming at school, more years ago than he cares to remember, on a 6502-powered BBC micro, which with the help of a few spare parts continued to function for the next 15 years. He graduated from Nottingham University with a degree in Electronic Engineering, but decided software was more fun.
Over the years he has worked for a variety of companies, from the very small with just a dozen employees, to the very large, including the IT services giant EDS. Along the way he has worked on a range of projects, from real-time communications to accounting systems, very large help desk systems, and more recently as the technical authority on a large EPoS and retail central systems program.
A bit of a programming linguist, he has programmed in various assemblers, a rather neat proprietary telecommunications language called SL-1, some FORTRAN, Pascal, Perl, SQL, and smidgeons of Python and C++, as well as C. (Under duress he even admits that he was once reasonably proficient in Visual Basic, but tries not to advertise this aberration.)
Rick lives in a village in Leicestershire, England, with his wife Ann, children Jennifer and Andrew, and two cats. Outside work his main interest is classical music, especially early religious music, and he even does his best to find time for some piano practice. He is currently trying to learn to speak German.
Product details
- Publisher : Wrox; 3rd edition (January 2, 2004)
- Language : English
- Paperback : 888 pages
- ISBN-10 : 0764544977
- ISBN-13 : 978-0764544972
- Item Weight : 2.75 pounds
- Dimensions : 7.3 x 1.8 x 9.3 inches
- Best Sellers Rank: #7,847,340 in Books (See Top 100 in Books)
- #2,628 in Linux Operating System
- #2,694 in Computer Operating Systems (Books)
- #28,771 in Computer Software (Books)
- Customer Reviews:
Important information
To report an issue with this product, click here.
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on Amazon-
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
Bookshelves collapse under the weight of bad computer books.
Clearly written by someone who get paid by the pound of paper he wastes.
The bets book on computer programming was indeed the first one on 'C'
Kernighan and Ritchie: "The C Programming Language"
1. It teaches linux programing from the basics, don't exepect to learn linux administration from this book.
2. There are so many areas involved in programming for the linux enviroment and this book does a decent job in getting you started in many of them.
3. I only had classroom programming(your know the type of assignments given in programming) in C and this book did teach me how to effectively program for a system.
4. One of the greatest things I liked about this book was not only did it show you how to program for linux. It pointed out the similarities with programming for UNIX systems, the differences and some portability issues to watch for.
5. It does play a big role in noting which technics are faster than the others whenever there is an option.
These are the chapters and what I briefly note about them. My comments are in the brackets.
1. Getting Started.
(Just a warm up nothing much, familiarisation)
2. Shell Programming.
(Excellent intro to shell programming(bash shell) in great depth)
3. Working with files.
( Nice introduction to using reading and writing to files in C for the linux system, its actually a deep enought chapter)
4. The Linux Enviroment.
(Explains the linux enviroment and how you can determined it from within your C application)
5. Terminals.
(Takes a excellent dive into knowing the terminal that your application is running on and how to control VARIOUS aspects of it.)
6. Managing Text-Based Screens with curses.
(In addition to what the chapter title is, it improved my code reading ability.)
7. Data Management.
(Nice introduction to the various source code control utilities used in the real world of Open Source.)
8.MySQL.
(Teaches from installation to controlling the mysql database in C. Learn to use a professional DB in your programs but don't expect to become a MySQL pro, it's just one chapter).
9. Development tools.
(From compiling, making patches, making software archive balls, simple rpms ++)
10. Debugging.
(Learn how to track those memory bugs in your programs that just give you wrong output.)
11.Processes and Signals.
(These are real world systems programming concepts and ideas.)
12. POSIX Threads.
(Learn to use the priceless threads in your programs. )
13. Inter-Process Communication: Pipes
(How to make processes share data, real world stuff!!!)
14. Semaphores, Shared Memory and Message Queues
(The chapter I dispised the most, I didn't want to get to it, but I read it twice. INVALUABLE, you will feel many levels ahead after this chapter)
15. Sockets.
(A nice introduction to using sockets and simple network applications )
16. Programming GNOME Using GTK+.
(Learn to spice up your applications with a graphical user interface(GUI))
17. Programming KDE Using Qt.
(This chapter is in C++, I know C++ but I skipped it given the ease with which I learnt GTK in chapter 16 if I ever need to program using Qt, I will come back to it and I couldn't wait to get to chapter 18.)
18. Device Drivers.
(Execellent Chapter, you learn alot of low level programming here and ALOT about the programming modules for the kernel)
19. Standards for Linux.
(I will read this sometime :) its the last chapter anyway)
A few pitfalls.
1. My book had a consistent typo "--" always appeared as a single dash.
2. Of all the many examples in all the chapters, I could not get one of them to work.
3. It does not have exercises for you at the end of the chapters.
Applications after reading the book.
One month after THOROUGHLY reading the book, I had forgotten most of the details. However, I can now use the book as a reference when am writing my linux programs since I know exactly where to find what I want.
I hope my review was helpful, people have different opinions and this is just one of the many. If you have enough time and the dedication this book will help you a great deal.
This is surely the best C system programming book I have read. I will trade 1000 system programming book for this. The main reason it so well written is because the author(s) know how to bring you in to system programming in Lunix environment and they know HOW to teach, un-like university lecture's. There is not much good system programming books out there, many are for advance programmer.
Simple people like me find it hard to follow other system programming books. However this book allow reader to pretty much start off in any chapter as you wish. Very few book allow this, many force you to read from being to end. Which is not what you want.
I remember want I was listening and read lecture notes & text books in university I know little.
I find the lectures help little or none at all most of the time, when I spend 4-5 months on a unit. After I some-how pass the system programming unit. I go the book shop and find this book. After one read of one hours in book shop, I have understand equal to 1 months of working very hard for 6hour a day and around $670 Australian. After I buy this book $66 Australian and read it for 2 months I have a new level of understanding that surprise my-self with it. This book may many thing very easy to understand unlike uni lecture and their notes.
This author start a class and teach, and if they do I will surely be there! They know how to teach.
I can tell you I not smart at all, but if I can follow this book, I think anyone can.
By KKC
Top reviews from other countries
In regards to the book, although not the current edition it is still relevant and well written. I highly recommend.
