Introductory reading
-
The Art of Unix Programming, by Eric Steven Raymond, 2003
Chapters 1 and 5 are the most relevant to the material covered this year.
In addition, some other good Chapters/Sections that are not too long or dry
(in order of relevance), are:
Chpt 10 - Configuration: What Should be Configurable?; Environment Variables; Command-Line Options
Chpt 11 - Unix Interface Design Patterns: The Filter Pattern -> The ed Pattern
Chap 19 - Open Source
Chpt 16 - Reuse
Open
Sources: Voices from the Open Source Revolution,
O'Reilly publishers, 1999,
a number of short essays by famous open-source identities.
The Unix Tools Are Your Friends,
by Diomidis Spinellis, 2009,
explains why the Unix tool chest can be more useful than an Integrated
Development Environment (IDE).
- Frequently used Unix commands.
- Linux vs. Unix: What's the difference?,
by Phil Estes, opensource.com.
|
Simple text editing with vi/vim
|
Introductions to Bash
- The Command Line Crash Course,
(a bit terse).
- Bash Guide for Beginners,
by Machtelt Garrels.
- Introduction to Linux - A Hands on Guide,
by Machtelt Garrels.
- Bash Shell Scripting,
by Wikibooks.
- Bash Shell File Test Operators, from Tutorialspoint.
- Bash Brackets Quick Reference, by Ryan Palo.
- All the special (punctuation) symbols in bash (from Wikibooks).
- The Bash Reference Manual
PDF (160pp),
or
HTML pages.
- The Linux Shell Scripting Tutorial,
by Vivek Gite.
- Learning the Shell,
by William E. Shotts, Jr.
- Writing Shell Scripts,
by William E. Shotts, Jr.
- The Linux Command Line
(links to PDF),
by William E. Shotts, Jr.
- Advanced Bash-Scripting Guide
(links to PDF, 901pp),
by Mendel Cooper.
|
Regular expressions, grep and sed
|
sed and awk
|
Make
|
Other
17 books for Linux and open source fans,
not textbooks, some discussing the effects of open-source on the
software industry.
Understanding Open Source and Free Software Licensing,
by Andrew M. St. Laurent,
Chapter 7: Software Development Using Open Source and Free Software Licenses.
- Linux How-Tos,
an interesting website with many, many short tutorials.
- Linux
101 Hacks,
by Ramesh Natarajan,
(free PDF download, 271pp).
- Learning the vi Editor,
by Linda Lamb and Arnold Robbins,
(read online).
- Unix Power Tools (2nd ed.)
by Shelley Powers, Jerry Peek, Tim O'Reilly, Mike Loukides,
(read online).
- How Not to Go About a Programming Assignment,
The SIGCSE Bulletin, Vol 36(2), June 2004.
- How to Fail a Programming Assignment,
The SIGCSE Bulletin, Vol 39(2), June 2007.
|