Quarrying
Charly's Column – Smorgasbord
Sys admin columnist Charly Kühnast has an electronic note box in which he collects ideas and small snippets of code. He calls it his "quarry" and is taking this opportunity to offer up some collectors' items to regular readers.
My life as a geologist started at a time before Git. Originally, I collected code in my "quarry" if I suspected I would need it again one day. Meanwhile, I hoard artifacts from configuration files, keyboard shortcuts that I can't remember for various shells, and names of tools I want to try.
Usually, none of them appear on this page, because each note contains no more than a few lines of text. That's a pity, so today I'm serving up a wildly mixed selection of notes in the hope that everyone will find something new.
The first note is a configuration snippet for Postfix. Many readers will be familiar with email featuring subject lines straight out of hell:
AW:Re:AW:Answer:Re:AW: <Subject>
The following line, built into Postfix's header_checks.cf
, shortens the mess to a civilized re: <Subject>.
/^Subject:\s*((Re|AW|Answer):\s*)+(.*)$/REPLACE Subject: Re: $3
Sys admins live in the shell, mostly Bash. There, they often have to do things with root privileges. Switching there, be it permanently (su
) or just once (sudo
), is annoying. The Bash alias
alias iddqd='sudo su -'
not only saves a few characters, but also proves that its initiator is, first, a nerd with dubious humor and, second, no longer a young man. (The sequence iddqd enabled God Mode in the Doom shooter game in 1993).
The next alias does things in a different, but also smart, way:
alias but='history -s sudo $(history -p \!\!) && sudo $(history -p \!\!)'
It is medicine for the "Permission denied" disease that every forgotten sudo
reliably triggers and is fixed as soon as you type doch
(of course!). The shell then runs the failed command again, but preceded by sudo
. Typing sudo!!
would have the same effect, but that requires three more keystrokes and is less cool.
Properly Appended
Searching and replacing in the last entry of the Shell history helps laziness win an important battle. For example, if you typed tail /var/log/syslog
, but actually wanted to see the end of /var/log/mail
, then appending
^syslog^mail^
replaces the wrong substring. Bash runs the modified command immediately.
Ah! My "tools" list also includes calcurse
, a console-based calendar available in almost every distribution. It imports third-party calendars in the common ICS format, supports scripting, and provides information on upcoming appointments in several ways (Figure 1).
I have just found another piece of paper that says: "Change the note box to SVN." It's from 2006.
Buy this article as PDF
(incl. VAT)