Unix and shell programming stuff
Here's a kitchen-sink collection of Unix-related stuff,
including an Emacs section and some Procmail links.
I've tried to only collect links of reasonable quality,
but unfortunately, link rot in these
circles is really bad. If you find any broken links here,
please let me know -- mail me.
My private Procmail pages are not yet up; for now, have a look
Procmail FAQ I maintain.
Referenced local pages
If you are primarily interested in pages made by yours truly,
here's a listing of the pages I have in this directory:
The Unix community has a rather strong interest in its own history.
I have tried to gather some retro-Unix stuff and links to good stories
This is another piece that became so big that it had to be broken
out into its own section.
I'm hoping to gather a good collection of shell programming pages here.
is a very good source. Check it out.
(The start page looks like it's a small site,
but the links page alone is a one-month project,
if you take it seriously!)
I have a HTMLized copy of
Steve Bourne's original sh tutorial
shell quoting guidelines
(thanks to Brian Hiles for the pointer.
Boo hiss to Consultix for
- comp.unix.shell FAQs (mirror at ftp.funet.fi; you're in Finland now)
- ... particularly Csh Considered Harmful,
but do check out the others, too
(it's finally on RTFM too, but it's good to have a reference to the original
... the site is occasionally not responding, though; you might want a link to
explains a lot of things that get asked in
all the time
shc, the shell script compiler
Paul D. Smith has a page about
For more links, the
Open Directory Project
has a good selection of
shell programming links,
too. (Better than Yahoo's Dead Links Forest, at least.)
There's a list of
regular expression links I've collected,
although there is no definitive "one stop shop" site there
I compiled a
Useless Use of Cat Award page
because I couldn't find one anywhere ... Have fun with it.
If I can find a good centralized links page, all the better.
For now, this is mostly stuff I picked up on
and might not even have checked out myself yet.
Most of these links were snagged out of postings to
Very extensive link collection, haven't looked at it more closely yet.
- (Thanks to Michael A. Powe for this one.)
Online forum, includes good newbie forums
comp.unix.shell by the people I've credited here.
If you have more and/or better links,
I'd love to hear from you
-- and please let me know if any of these links break,
Unix shell programming pages seem to be very prone to
Just a quick pointer to some classics.
The Unix Programming Environment,
(Kernighan & Pike 1984)
Old but nevertheless good.
An excellent primer on
shell programming, but also
includes a lot of stuff
not related to shell programming,
such as Make, Troff, and
the Unix standard library
(for C programmers etc).
has some helpful contributions
by yours truly :-)
The Practice of Programming
(Kernighan & Pike 1999)
Good programming habits;
examples in C, Java, and Perl.
Not particularly Unix-centric
(actually I believe
the authors use Plan 9)
but very much on the
right wavelength for
anybody who likes Unix.
Mastering Regular Expressions
Must read. Must. Read.
Advanced Programming in the Unix Environment
and the library;
explains and relates to
such as POSIX,
XPG3 (now XPG4, of course),
of Linux, but that's
for the better.)
Unix System Administration Handbook
(3rd ed.; Nemeth, Snyder, Seebass & Hein et al. 2001
I don't yet own the 3rd edition,
but I own a copy of the 1st
and 2nd eds.
The new edition now also covers
Red Hat and FreeBSD,
(HP-UX, Irix, OSF/1,
Solaris [now free, of course],
SunOS, and BSDI).
A constant need for many is to find Unix shell utilities which do not
stink. Frequently user-level software on many platforms is written to
barely conform to spec, so that the programmers can spend more time to
introduce new and better incompabilities with the competition in their
I have found the GNU utilities to generally be robust, user-friendly
(in the Unix sense, i.e. if you know what you're doing, it's doable),
mostly devoid of unnecessary restrictions (both in terms of who's
allowed to use and copy them and in what input they will accept) and
often simply much better than what Sun, HP, Digital, NetBSD (which is
otherwise very nice) and generally everyone else would want you to
have. (Linux comes with GNU utilities preinstalled by default.)
There's a sort of web page at
but it doesn't contain very much about the
GNU packages I'd like to see introductions to.
Perhaps you should just cruise around in
(or one of the many many mirrors worldwide)
and see what you find.
As for the standard Unix command-line tools, I have local copies of
some distribution files (these versions are growing oldish, though)
If you're at all interested in Unix shell programming, you want these.
Of course, GNU's Not Unix and Unix is not GNU, but they obviously
have something in common.
is a good reason in itself to switch to Unix if you haven't already!
This is a tool to help you stay on top of your mail traffic -- filter out
unwanted mail before it hits your mailbox, sorting stuff from mailing lists
into its own folder automatically, implement an ftp-by-mail server ...
If you download this, make sure to get version 3.13.1
Of course, Emacs isn't Unix, and Unix isn't Emacs, but people who
recognize quality tend to like both.
A great part of this section is just stuff I cut && pasted out of the
main section, because it started to look a bit like "Emacs
and what else".
Note that the Emacs FAQ is nowadays included in the distribution.
For newish GNU Emacsen, press C-h F to view the FAQ in a buffer.
Jari Aalto's huge list of
Emacs Elisp references --
including a lot of pointers to
downloadable add-in packages.
This used to be a useful site.
Then it was revamped.
Then it was down.
Then it sucked even worse
after having been revamped again.
Then it has been oscillating
between "down" and "useless"
and "revamped but still useless"
with some all too short
deviations from this pattern.
and / or
has contained useful stuff,
but don't count on that,
Mirror of the LCD archive
- Local European mirror, of course, at Funet, of course
- Here's the
of the LCD archive.
- Of course, there's only one
Craig Finseth's book
The Craft of Text Editing: Emacs for the Modern World
is now available online (exclusively)
- -- documentation and all!
- (What kind of documentation, I hear you ask ...)
- Other gripes:
- It's too big and slow
(I used to think so about v2, but look at v4!)
- The next version inevitably breaks things that
worked fine in the previous version that you
had learned to rely on
- ... and the key bindings keep a-changin',
forget about "plug and play" upgrades,
it's a major reconfiguration and relearning
experience each time
- Still, it's better than not having a browser
the mail reading package
- My gripes:
It's still a lot better than RMAIL,
or than using something else than Emacs
as your mail environment.
And don't get me started about Gnus ...
- It is not "extensible"
Lots of menus etc are defined with
defconst so you can't
customize things without a lot of
- It is not "self-documenting"
Looking for documentation for what
a particular function does?
Forget it. It's not there.
- It is not "programmable"
This is a corollary of
the two previous items.
There is nothing there to
prevent you from trying,
per se, but you need
to be masochistic or stupid
or very very bored
if you want to try to do
- Various useful VM links:
Trey Jackson's index of
MIME tools for Emacs
Church of Emac$
Noah F's Lisps (including some VM add-ons, too)
If you are looking for my Open Source
scroll down a screen or two.
Of course, Perl isn't Unix, and Unix isn't Perl, but people who
recognize quality tend to like both.
The purpose of most computer languages is to lengthen your resume
by a word and a comma.
-- Larry Wall
The WWW is shock full of Perl links. I get along fairly well with
stuff directly or indirectly available from the following:
I'm not a very eager Perl links collector, though. YMMV.
It's screen for X. No, it's a multiplatform graphical
screen. It's worth to kill for. But it's free. 'Nuff said.
Here are some useful extras (some of them are also linked from the
AT & T pages):
Of course, Open Source / Free Software isn't Unix, and Unix[tm]
most definitely isn't Open Source / Free Software. But there are
reasons why this is here nevertheless.
This is really just a quick link collection in case you're trying to
pick up on this topic.
If you find any material you think should be included here, perhaps you could
submit it to dmoz.org instead.
A (meager, but still) contribution of mine is the
subversive Open Sounce Conspiracy
This is bound to grow out of proportion.
which you can download here. (The Emacs
by Noah Friedman is curiously not available from his
collected works page
but you can pick up a copy from the
VM Add-Ons page.)
In case you missed it earlier, I have written up some notes on
installing Debian on a Libretto.
At least Jamie
works hard to deserve
his fifteen minutes
in the spotlight.
Free Unix OCR software
"Unix is the ultimate computer virus"
Ironically, the guy who coined the phrase
"Unix is the ultimate computer virus"
was rather critical of Unix and C.
The guy is Richard P. Gabriel
and the quotation is from his 1992 paper
Lisp: Good News - Bad News - How to Win Big
... which brings us to the
Don't be fooled by the silly name, this is not
"Windoze r00lz so FOAD" lusers on a rampage.
Some of the criticism is very insightful.
We Are Smart
(A-g-a-i-n, originally snatched from
Of course, this contains a Useless Use of Test!
Or is it Useless Use of Backticks? Anyhow, the way to code that is
if test -z `ps -fe | grep whom`
# Let's see for whom the bell tolls.
Oh! And another one:
if ps -fe | grep whom; then ...
Yes -- this is the classic
Useless Use of Cat
but I shall leave fixing it as an exercise to the reader.
cat menu | grep shrimp
Perhaps we aren't so smart after all?
The Tao of Backup
... Slick design, if your browser can display it.
Dumbest Y2K Quotes Contest
here's a link to Tom Christiansen's article
about the Y2K hype contest (recommended reading for IT managers)
How to print FrameMaker preformatted PostScript on A4 paper
This is one of the few things I (indirectly)
found an answer to from
-- this is not an endorsement;
I've failed to find more answers there
than I care to remember.
This has nothing with Unix to do, of course,
but it's information I could have killed for
on more than one occasion.
is the place to go.
Bookmark, mail it to all your friends,
send beer to the guy who made the page.
While you're frothing anyway,
persuade a nearby mirror to
mirror it, too!
Mysteriously, the FMLeve1 patch tip
is also available from sites like
If you sort of
enjoyed these links,
misc section of my regular hotlist
will be found to be
Some of these are programs I use. Others are programs I don't use.
Some of these are programs I recommend. Others are programs I don't recommend.
You were warned.
is a program for reformatting paragraphs
(somewhat like the standard
fmt utility, only smarter).
-- finally a decent command-line ftp client.
ncftp -- good riddance.
(Okay, so this one isn't exactly rock solid either.)
is a hacker-friendly version of ls(1) by Rich Baughman
for those times when you need a good simple interface to file sizes,
modification times, access times, etc. in a "less user friendly"
:-) than you get with
I've been receiving requests for pointers to the original author
and/or a version without Y2K problems. I've been in touch with
the author and received a copy of his most recent source,
which does not have a Y2K problem, but still contains some Sunisms.
A patched version
with some contributed patches
is maintained by yours truly
and available from
or just the diffs from the above in
(Somehow I originally thought this was a program by Rich $alz
but that is not the case.
Apologies to both Riches for the confusion.
Also, for a very long time,
the tarball was broken.
My sincerest apologies to everyone
who tried to download it
before December 2001.
I'm very embarrassed.)
is a simple but versatile tool for fetching web pages. I got this
in 1995, before
wget was even conceived, but I find
this one still works better for me. (
wget is incredibly
frustrating in some respects. I should perhaps put my rants about it
on a separate web page some day
I note that many hosts on
webcopy, too, so I guess I'm not the only one who
likes this one.
Procmail -- see
If you are looking for my Open Source Spook Lines,
scroll back a screen or two.
Did I mention
$Id: index.prep,v 1.79 2001/12/02 19:41:04 era Exp $