The Art of UNIX Programming

Addison-Wesley Professional
Free sample

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.
Read more

About the author

ERIC S. RAYMOND has been a Unix developer since 1982. Known as the resident anthropologist and roving ambassador of the open-source community, he wrote the movement's manifesto in The Cathedral and the Bazaar and is the editor of The New Hacker's Dictionary.

Read more
7 total

Additional Information

Addison-Wesley Professional
Read more
Published on
Sep 23, 2003
Read more
Read more
Read more
Read more
Read more
Read more
Computers / Operating Systems / Linux
Computers / Operating Systems / UNIX
Read more
Content Protection
This content is DRM protected.
Read more
Eligible for Family Library

Reading information

Smartphones and Tablets

Install the Google Play Books app for Android and iPad/iPhone. It syncs automatically with your account and allows you to read online or offline wherever you are.

Laptops and Computers

You can read books purchased on Google Play using your computer's web browser.

eReaders and other devices

To read on e-ink devices like the Sony eReader or Barnes & Noble Nook, you'll need to download a file and transfer it to your device. Please follow the detailed Help center instructions to transfer the files to supported eReaders.
The classic guide to UNIX® programming-completely updated!

UNIX application programming requires a mastery of system-level services. Making sense of the many functions-more than 1,100 functions in the current UNIX specification-is a daunting task, so for years programmers have turned to Advanced UNIX Programming for its clear, expert advice on how to use the key functions reliably.

An enormous number of changes have taken place in the UNIX environment since the landmark first edition. In Advanced UNIX Programming, Second Edition, UNIX pioneer Marc J. Rochkind brings the book fully up to date, with all-new, comprehensive coverage including:

POSIX Solaris™ Linux® FreeBSD Darwin, the Mac™ OS X kernel And more than 200 new system calls

Rochkind's fully updated classic explains all the UNIX system calls you're likely to need, all in a single volume!

Interprocess communication, networking (sockets), pseudo terminals, asynchronous I/O, advanced signals, realtime, and threads Covers the system calls you'll actually use-no need to plow through hundreds of improperly implemented, obsolete, and otherwise unnecessary system calls! Thousands of lines of example code include a Web browser and server, a keystroke recorder/player, and a shell complete with pipelines, redirection, and background processes Emphasis on the practical-ensuring portability, avoiding pitfalls, and much more!

Since 1985, the one book to have for mastering UNIX application programming has been Rochkind's Advanced UNIX Programming. Now completely updated, the second edition remains the choice for up-to-the-minute, in-depth coverage of the essential system-level services of the UNIX family of operating systems.

Learn to use Unix, OS X, or Linux quickly and easily!

In just 24 lessons of one hour or less, Sams Teach Yourself Unix in 24 Hours helps you get up and running with Unix and Unix-based operating systems such as Mac OS X and Linux.

Designed for beginners with no previous experience using Unix, this book’s straightforward, step-by-step approach makes it easy to learn.

Each lesson clearly explains essential Unix tools and techniques from the ground up, helping you to become productive as quickly and efficiently as possible.

Step-by-step instructions carefully walk you through the most common Unix tasks. Practical, hands-on examples show you how to apply what you learn. Quizzes and exercises help you test your knowledge and stretch your skills. Notes and tips point out shortcuts and solutions

Learn how to…

Pick the command shell that’s best for you Organize the Unix file system (and why) Manage file and directory ownership and permissions Maximize your productivity with power filters and pipes Use the vi and emacs editors Create your own commands and shell scripts Connect to remote systems using SSH and SFTP Troubleshoot common problems List files and manage disk usage Get started with Unix shell programming Set up printing in a Unix environment Archive and back up files Search for information and files Use Perl as an alternative Unix programming language Set up, tweak, and make use of the GNOME graphical environment Contents at a Glance

HOUR 1: What Is This Unix Stuff?

HOUR 2: Getting onto the System and Using the Command Line

HOUR 3: Moving About the File System

HOUR 4: Listing Files and Managing Disk Usage

HOUR 5: Ownership and Permissions

HOUR 6: Creating, Moving, Renaming, and Deleting Files and Directories

HOUR 7: Looking into Files

HOUR 8: Filters, Pipes, and Wildcards!

HOUR 9: Slicing and Dicing Command-Pipe Data

HOUR 10: An Introduction to the vi Editor

HOUR 11: Advanced vi Tricks, Tools, and Techniquess

HOUR 12: An Overview of the emacs Editor

HOUR 13: Introduction to Command Shells

HOUR 14: Advanced Shell Interaction

HOUR 15: Job Control

HOUR 16: Shell Programming Overview

HOUR 17: Advanced Shell Programming

HOUR 18: Printing in the Unix Environment

HOUR 19: Archives and Backups

HOUR 20: Using Email to Communicate

HOUR 21: Connecting to Remote Systems Using SSH and SFTP

HOUR 22: Searching for Information and Files

HOUR 23: Perl Programming in Unix

HOUR 24: GNOME and the GUI Environment

Appendix A: Common Unix Questions and Answers

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.Since the release of the fourth edition, the Internet and its many functions has become part of most computer user's lives. A new chapter explains how to use ftp, pine for mail, and offers useful knowledge on how to surf the web.Today everyone is concerned about security. With this in mind, the author has included tips throughout the text on security basics, especially in the Internet and networking sections.The book includes a completely updated quick reference card to make it easier for the reader to access the key functions of the command line.
The Most Useful Tutorial and Reference, with Hundreds of High-Quality Examples for Every Popular Linux Distribution

“First Sobell taught people how to use Linux . . . now he teaches you the power of Linux. A must-have book for anyone who wants to take Linux to the next level.”

–Jon “maddog” Hall, Executive Director, Linux International

Discover the Power of Linux—Covers macOS, too! Learn from hundreds of realistic, high-quality examples, and become a true command-line guru Covers MariaDB, DNF, and Python 3 300+ page reference section covers 102 utilities, including macOS commands

For use with all popular versions of Linux, including Ubuntu,™ Fedora,™ openSUSE,™ Red Hat,® Debian, Mageia, Mint, Arch, CentOS, and macOS

Linux is today’s dominant Internet server platform. System administrators and Web developers need deep Linux fluency, including expert knowledge of shells and the command line. This is the only guide with everything you need to achieve that level of Linux mastery. Renowned Linux expert Mark Sobell has brought together comprehensive, insightful guidance on the tools sysadmins, developers, and power users need most, and has created an outstanding day-to-day reference, updated with assistance from new coauthor Matthew Helmke.

This title is 100 percent distribution and release agnostic. Packed with hundreds of high-quality, realistic examples, it presents Linux from the ground up: the clearest explanations and most useful information about everything from filesystems to shells, editors to utilities, and programming tools to regular expressions.

Use a Mac? You’ll find coverage of the macOS command line, including macOS-only tools and utilities that other Linux/UNIX titles ignore.

A Practical Guide to Linux® Commands, Editors, and Shell Programming, Fourth Edition, is the only guide to deliver

A MariaDB chapter to get you started with this ubiquitous relational database management system (RDBMS) A masterful introduction to Python for system administrators and power users In-depth coverage of the bash and tcsh shells, including a complete discussion of environment, inheritance, and process locality, plus coverage of basic and advanced shell programming Practical explanations of core utilities, from aspell to xargs, including printf and sshfs/curlftpfs, PLUS macOS–specific utilities from ditto to SetFile Expert guidance on automating remote backups using rsync Dozens of system security tips, including step-by-step walkthroughs of implementing secure communications using ssh and scp Tips and tricks for customizing the shell, including step values, sequence expressions, the eval builtin, and implicit command-line continuation High-productivity editing techniques using vim and emacs A comprehensive, 300-plus-page command reference section covering 102 utilities, including find, grep, sort, and tar Instructions for updating systems using apt-get and dnf And much more, including coverage of BitTorrent, gawk, sed, find, sort, bzip2, and regular expressions
Open source provides the competitive advantage in the Internet Age. According to the August Forrester Report, 56 percent of IT managers interviewed at Global 2,500 companies are already using some type of open source software in their infrastructure and another 6 percent will install it in the next two years. This revolutionary model for collaborative software development is being embraced and studied by many of the biggest players in the high-tech industry, from Sun Microsystems to IBM to Intel.The Cathedral & the Bazaar is a must for anyone who cares about the future of the computer industry or the dynamics of the information economy. Already, billions of dollars have been made and lost based on the ideas in this book. Its conclusions will be studied, debated, and implemented for years to come. According to Bob Young, "This is Eric Raymond's great contribution to the success of the open source revolution, to the adoption of Linux-based operating systems, and to the success of open source users and the companies that supply them."The interest in open source software development has grown enormously in the past year. This revised and expanded paperback edition includes new material on open source developments in 1999 and 2000. Raymond's clear and effective writing style accurately describing the benefits of open source software has been key to its success. With major vendors creating acceptance for open source within companies, independent vendors will become the open source story in 2001.
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. Nearly all examples have been tested on four modern platforms: Solaris 10, Mac OS X version 10.6.8 (Darwin 10.8.0), FreeBSD 8.0, and Ubuntu version 12.04 (based on Linux 3.2).

As in previous editions, you’ll learn through examples, including more than ten thousand lines of downloadable, ISO C source code. More than four hundred system calls and functions are demonstrated with concise, complete programs that clearly illustrate their usage, arguments, and return values. To tie together what you’ve learned, the book presents several chapter-length case studies, each reflecting contemporary environments.

Advanced Programming in the UNIX® Environment has helped generations of programmers write code with exceptional power, performance, and reliability. Now updated for today’s systems, this third edition will be even more valuable.

With the same insight and authority that made their book The Unix Programming Environment a classic, Brian Kernighan and Rob Pike have written The Practice of Programming to help make individual programmers more effective and productive.

The practice of programming is more than just writing code. Programmers must also assess tradeoffs, choose among design alternatives, debug and test, improve performance, and maintain software written by themselves and others. At the same time, they must be concerned with issues like compatibility, robustness, and reliability, while meeting specifications.

The Practice of Programming covers all these topics, and more. This book is full of practical advice and real-world examples in C, C++, Java, and a variety of special-purpose languages. It includes chapters on:

debugging: finding bugs quickly and methodically testing: guaranteeing that software works correctly and reliably performance: making programs faster and more compact portability: ensuring that programs run everywhere without change design: balancing goals and constraints to decide which algorithms and data structures are best interfaces: using abstraction and information hiding to control the interactions between components style: writing code that works well and is a pleasure to read notation: choosing languages and tools that let the machine do more of the work

Kernighan and Pike have distilled years of experience writing programs, teaching, and working with other programmers to create this book. Anyone who writes software will profit from the principles and guidance in The Practice of Programming .

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. Learning the bash Shell is also full of practical examples of shell commands and programs that will make everyday use of Linux that much easier. With this book, programmers will learn:How to install bash as your login shellThe basics of interactive shell use, including UNIX file and directory structures, standard I/O, and background jobsCommand line editing, history substitution, and key bindingsHow to customize your shell environment without programmingThe nuts and bolts of basic shell programming, flow control structures, command-line options and typed variablesProcess handling, from job control to processes, coroutines and subshellsDebugging techniques, such as trace and verbose modesTechniques for implementing system-wide shell customization and features related to system security
GNU Emacs is the most popular and widespread of the Emacs family of editors. It is also the most powerful and flexible. Unlike all other text editors, GNU Emacs is a complete working environment--you can stay within Emacs all day without leaving. Learning GNU Emacs, 3rd Edition tells readers how to get started with the GNU Emacs editor. It is a thorough guide that will also "grow" with you: as you become more proficient, this book will help you learn how to use Emacs more effectively. It takes you from basic Emacs usage (simple text editing) to moderately complicated customization and programming.The third edition of Learning GNU Emacs describes Emacs 21.3 from the ground up, including new user interface features such as an icon-based toolbar and an interactive interface to Emacs customization. A new chapter details how to install and run Emacs on Mac OS X, Windows, and Linux, including tips for using Emacs effectively on those platforms.Learning GNU Emacs, third edition, covers:How to edit files with EmacsUsing the operating system shell through EmacsHow to use multiple buffers, windows, and framesCustomizing Emacs interactively and through startup filesWriting macros to circumvent repetitious tasksEmacs as a programming environment for Java, C++, and Perl, among othersUsing Emacs as an integrated development environment (IDE)Integrating Emacs with CVS, Subversion and other change control systems for projects with multiple developersWriting HTML, XHTML, and XML with EmacsThe basics of Emacs LispThe book is aimed at new Emacs users, whether or not they are programmers. Also useful for readers switching from other Emacs implementations to GNU Emacs.
©2019 GoogleSite Terms of ServicePrivacyDevelopersArtistsAbout Google|Location: United StatesLanguage: English (United States)
By purchasing this item, you are transacting with Google Payments and agreeing to the Google Payments Terms of Service and Privacy Notice.