Simon Tatham's miscellaneous utilities collection
This web page presents a collection of small Unix-based utility
programs which I wrote for myself and found useful. Many of these
are programs I ended up giving copies of to other people because
they found them useful too; so now I'm publishing the whole lot to
the world just in case anyone else wants them.
Click on the name of each utility to see its
- Wait for the termination of an unrelated process (specified by
pid), and return its exit code too if possible. (Not very portable.)
- Simple stand-alone converter between base64
(RFC 2045) and
ordinary binary data.
- Produce a beep, by any means necessary (tries the X server,
/dev/tty and standard output). More reliable than
echo -ne '\007'", and doesn't pollute redirected output
- Wait to run one program until a run of a previous one has
completed successfully. Useful for synchronising build and test
commands running in different terminal windows.
- Convert between Unicode code points and the UTF-8 encoding. Also
looks up each code point in the Unicode Character Database and/or
the Unihan Database, and displays its name and/or definition.
- User-friendly tool for creating symlinks. Uses the same
cp (i.e. relative paths
are always interpreted relative to the current directory,
not the target one).
- Perl-based bulk file renamer. Transforms a list of file names
using a user-provided Perl expression, and passes each name plus the
transformed version to a command of your choice (often, but not
- Connects to a news server and retrieves a single article given
its Message-ID, or given a group name and article number. Handy if
your newsreader doesn't know how to follow references lines between
newsgroups, so you can find out where a migrated thread came from.
- Copies its standard input to its standard output, but waits
until it sees EOF on its input before beginning to write its output.
Occasionally handy in interactive use or to overwrite a file in a
- Reads text out of the X selection and writes it to standard
output, or alternatively reads text from standard input and places
it in the X selection.
Tarballs of each utility are available here.
If you want to see the latest state of development, you can check
the development sources out from my Subversion repository.
The Subversion URL you need is
svn://svn.tartarus.org/sgt/utils. So you could use a
checkout command such as this:
svn co svn://svn.tartarus.org/sgt/utils
Alternatively, you can browse the Subversion repository on the WWW,
Page maintained by
(last modified on Fri Aug 3 12:23:15 2012)