Answering specific questions about using command line applications on Unix-like operating systems is usually not very hard — a few Google terms more often than not pulls up a topical Stack Overflow question. If you want to find what a Bash option does, or how to delete a word in Vim, you won’t struggle.
However, I’ve found it can be harder to find good general sources of
information on the web about these applications. If you want to learn more
about a particular editor, shell, or debugger, it’s tougher to find a single
source of organised, high-quality, and up-to-date information. As helpful as
man pages are for experienced users, their terseness can be a major deterrent
for newbies. I’d like to try and help fix this, hence this page (and the
Arabesque blog in general).
Links are grouped by application, sorted with my rough opinion of how useful I have found them as a source of information about a particular command line application. Each link is accompanied with a short summary description. Many of the links are blogs; I will add single blog posts if they’re exceptionally helpful, but a link to a whole blog or at least a post category would be preferred.
If you have suggestions for this list, please feel free to let me know by
emailing me at
- Famous Awk One-Liners Explained — Peteris Krumins runs through an old list of one-line commands in Awk, explaining how each one works.
Bash Guide for Beginners — Machtelt Garrel’s excellent introduction to the Bash shell is written for people who already have some experience with shells, so its title is something of a misnomer. However, it presents a complete survey of the shell that’s much more accessible than its manual. It has not updated since 2008, but almost everything is still relevant.
Advanced Bash Scripting Guide — Exhaustive survey of shell programming with an emphasis on non-interactive scripts. Definitely not for beginners but a great reference for those familiar with the shell already. It is kept relatively up to date.
BashFAQ on Greg’s Wiki — This is the best Bash resource on the web, presenting answers to common questions asked of the
#bashIRC channel on Freenode. These articles are essential reading for intermediate and advanced users.
Bash Prompt HOWTO — Giles Orr presents an exhaustive guide to customising the Bash prompt. It is approaching a decade since its last update, which shows in its referring to Bash v2.0 as new.
Mastering Emacs — Great articles on intermediate to advanced Emacs usage. The beginners’ articles assume a fair bit of familiarity, but intermediate to advanced users should find this fascinating reading.
Why Emacs? — Bozhidar Batsov presents a very readable article explaining his enthusiasm for the editor, with particular emphasis on its superiority to Vim.
- Famous Sed One-Liners Explained — Peteris Krumins runs through an old list of one-line commands in Sed, explaining how each one works.
Vi and Vim
Vimcasts — Drew Neil makes superb high-quality screencasts on basic to intermediate Vim usage. He focusses on migrating away from TextMate, a popular editor for Mac OS X. The first few screencasts in particular are highly recommended for beginners. If you are new to Vim and want to see what it can do, start here.
Derek Wyatt’s Vim Tutorial Videos — Derek Wyatt is an enthusiastic and engaging screencast host. His screencasts are helpfully divided into sections by skill: Novice, Intermediate, and Advanced. Some of the videos are quite long, but all are worth watching.
Vim Tips Wiki — This community wiki is good for users who have mastered the basics of the editor and are now looking to see what other tricks it can do. Tips range from specific editing tips to more general advice on managing Vim configuration.
You don’t grok Vi — A very in-depth answer to a Stack Overflow question explaining some usage patterns for
vi, all of which are applicable to Vim.
Seven Habits of Highly Effective Text Editing — Vim’s author Bram Moolenaar explains some general patterns for efficient editing. It is supposed to be suitable for any editor, but has a very heavy self-confessed bias towards Vim.
/r/vim — Reddit’s section for Vim users is relatively active and links to good content. It’s probably a little overwhelming for beginners, but definitely worth a subscription for Vim-using Redditors.