The UNIX Programming Environment

by Brian W. Kernighan

Other authorsRob Pike (Author)
Paperback, 1984

Status

Available

Call number

001.6425

Library's review

Indeholder "Preface", "1. UNIX for Beginners", " 1.1 Getting started", " 1.2 Day-to-day use: files and common commands", " 1.3 More about files: directories", " 1.4 The shell", " 1.5 The rest of the UNIX system", "2. The File System", " 2.1 The basics of files", " 2.2 What's in a file?", " 2.3
Show More
Directories and filenames", " 2.4 Permissions", " 2.5 Inodes", " 2.6 The directory hierarchy", " 2.7 Devices", "3. Using the Shell", " 3.1 Command line structure", " 3.2 Metacharacters", " 3.3 Creating new commands", " 3.4 Command arguments and parameters", " 3.5 Program output as arguments", " 3.6 Shell variables", " 3.7 More on I/O redirection", " 3.8 Looping in shell programs", " 3.9 bundle: putting it all together", " 3.10 Why a programmable shell?", "4. Filters ", " 4.1 The grep family", " 4.2 Other filters", " 4.3 The stream editor sed", " 4.4 The awk pattern scanning and processing language", " 4.5 Good files and good filters", "5. Shell Programming", " 5.1 Customizing the cal command", " 5.2 Which command is which?", " 5.3 While and until loops: watching for things", " 5.4 Traps: catching interrupts", " 5.5 Replacing a file: overwrite", " 5.6 Zap: killing processes by name", " 5.7 The pick command: blanks vs. arguments", " 5.8 The news command: community service messages", " 5.9 Get and put: tracking file changes", " 5.10 A look back", "6. Programming with Standard I/O", " 6.1 Standard input and output: vis", " 6.2 Program arguments: vis version 2", " 6.3 File access: vis version 3", " 6.4 A screen-at-a-time printer: p", " 6.5 An example: pick", " 6.6 On bugs and debugging", " 6.7 An example: zap", " 6.8 An interactive file comparison program: idiff", " 6.9 Accessing the environment", "7. UNIX System Calls", " 7.1 Low-level I/O", " 7.2 File system: directories", " 7.3 File system: inodes", " 7.4 Processes", " 7.5 Signals and interrupts", "8. Program Development", " 8.1 Stage 1: A four-function calculator", " 8.2 Stage 2: Variables and error recovery", " 8.3 Stage 3: Arbitrary variable names; built-in functions", " 8.4 Stage 4: Compilation into a machine", " 8.5 Stage 5: Control flow and relational operators", " 8.6 Stage 6: Functions and procedures; input/output", " 8.7 Performance evaluation", " 8.8 A look back", "9. Document Preparation", " 9.1 The ms macro package", " 9.2 The troff level", " 9.3 The tbl and eqn preprocessors", " 9.4 The manual page", " 9.5 Other document preparation tools", "10. Epilog", " Appendix 1. Editor Summary", " Appendix 2. hoc Manual", " Appendix 3. hoc Listing", "Index".

Aldeles glimrende introduktion til diverse værktøjer i unix værktøjskassen. Overraskende aktuel selv om den snakker om halv og fuld duplex et par steder. Kapitel 8 handler om udvikling af en floating-point lommeregner som et program. Der er gode overvejelser, men når man kigger nøjere på den skæbne selve programmet hoc (high-order calculator) har fået, så får man hurtigt den ide at det er et mareridt at lave portable programmer til at håndtere floating point aritmetik.
bc og dc overlevede. Det gjorde hoc ikke. (Det er ikke en del af standardpakker til fx ubuntu og jeg kan heller ikke få det til at compilere på ubuntu 20.04 (sikkert min fejl)).
http://nadav.harel.org.il/homepage/hoc/ har en hoc version 9.2 der faktisk kan installeres.
Show Less

Publication

Prentice Hall (1984), Paperback, 357 pages

Description

Designed for first-time and experienced users, this book describes the UNIX® programming environment and philosophy in detail. Readers will gain an understanding not only of how to use the system, its components, and the programs, but also how these fit into the total environment.

User reviews

LibraryThing member alecclews
Still a great book even after all these years. Chapters 1-5 should be read by all UNIX and Linux users. The rest of the book is useful for UNIX developers.

Just don't expect it to explain how to use X/KDE/Gnome etc.
LibraryThing member rdai
This book, as well as "The C Programming Language" by Kernighan and Ritchie are the bibles of Unix and C programming, in my opinion. These are from the command line days, but they are still timeless reading. Highly recommended.
LibraryThing member snifty
This is one of the best technical books I've ever read. In a strange way it's still the best introduction to Linux, even though there are many outdated details. After all, _all_ technical are full of outdated details -- but it's the rare book indeed that can rise above implementation and express an
Show More
entire philosophy of development concisely and readably.
Show Less
LibraryThing member szarka
Although an updated version would be even better, it's amazing how good of an introduction to UNIX this book remains more than twenty years after its publication.
LibraryThing member jrep
Before there was bash, before Ruby or PHP or Python or Perl, before X Windows, there was The Shell.
LibraryThing member scottjpearson
This book, copyright 1984, is not one's typical software read. Typical books on software deal with the latest and greatest that's coming down the pike. Instead, this book is a reminder of what is great in the UNIX operating system. It harkens back to the days when assembly coding was common and
Show More
programming in C was considered more cutting edge.

So why is this worth a programmer's time to read over thirty years later in an era of object-orientation and machine-learning? The answer to this question is not vexing; indeed, it is simple. Great ideas transformed into great inventions deserve great study.

This book's epilog sums up this advice in describing four elements of UNIX's style:

1. "Let the machine do the work."
2. "Let other people do the work. Use programs that already exist as building blocks in your programs..."
3. "Do the job in stages. Build the simplest thing that will be useful, and let your experience with that determine what (if anything) is worth doing next."
4. "Build tools. Write programs that mesh with the existing environment, enhancing it rather than merely adding to it."
Show Less
LibraryThing member kencf0618
Plot's a bit dry.

Language

Original language

English

Original publication date

1984

Physical description

x, 357 p.; 23.3 cm

ISBN

013937681X / 9780139376818

Local notes

Omslag: Celine Brandes, Photo Plus Art
Omslaget viser titel og forfatternavne
Indskannet omslag - N650U - 150 dpi
2002 Event med Peter Salus: Trauma on the Internet
Februar 2002, besøg på Datalogi af Peter Salus.
Arrangeret af Michael Hejlskov Jacobsen (AALUG) og undertegnede.
Side vii: "The number of UNIX installations has grown to 10, with more expected." (The UNIX Programmer's Manual, 2nd Edition, June, 1972)
Side 234: We wasted a lot of time debating names for this language but never came up with anything satisfactory.
Side 234: This section describes the implementation of hoc1, a program that provides about the same capabilities as a minimal pocket calculator, and is substantially less portable.

Pages

x; 357

Library's rating

Rating

(69 ratings; 4.2)

DDC/MDS

001.6425
Page: 0.186 seconds