Software for a command-line world
Below are a list of programs that can all be used over an
SSH connection with no need for an X connection.
- Email:
- mail (command-line, uses local mailboxes)
- mutt (full-screen, uses local mailboxes, POP3, or IMAP)
- elm (full-screen, uses local mailboxes, may support POP3/IMAP)
- mh/nmh
(mail-handler/new-mail-handler, command-line, uses maildir, may support POP3/IMAP)
- pine/alpine (full-screen, uses local mailboxes, POP3, or IMAP)
- and many others
- :
-
- Web:
- lynx (the classic full-screen text-browser)
- links/links2 (a full-screen text-browser with more visual layout engine)
- elinks (a full-screen text-browser with more visual layout engine)
- w3m
- edbrowse (it's an editor, it's a browser, it's command-line)
- Text Editing:
- vi/vim (the classic full-screen text-editor)
- emacs (another popular and extensible choice in full-screen text-editors)
- ed (the classic command-line text editor)
- nano (a simple full-screen editor)
- pico (a simple full-screen editor)
- edbrowse (it's like ed on steroids)
- and countless others
these can be used in concert with various
markup syntax such as
Markdown,
HTML,
DocBook,
LaTeX, etc to
produce publishable documents; you can use packages like
antiword
or wordview ("wv")
to convert .DOC files to a usable format.
- Spreadsheet/math/calculator:
- Spreadsheet:
- sc (a simple full-screen spreadsheet with vi-like keybindings)
- slsc (based on sc)
- oleo (a simple full-screen spreadsheet with a more Emacs-like feel)
- Math:
- Graphing:
- Calculator
- bc (a simple command-line calculator)
- Python (the full power of Python, at a command-line)
- Calendar:
- calendar (show events on given days)
- remind (like the previous calendar program on steroids)
- cal (display a calendar)
- pcal (good for printing)
- cron (for scheduling repeated tasks)
- at (for scheduling a single job sometime in the future)
- mencal and
mencal2 (menstruation calendars)
- To-do/time management:
- devtodo
- TaskWarrior
- TimeTracker
(a simple command-line time-tracker in the spirit of many VCS tools, written by yours-truely in response to
this
post, and somewhat documented
here)
- Music/audio:
- Playback
- Editing/recording
- Volume control
- Podcatchers
- Chat:
- Finch (a console version of Gaim/Pidgin)
- centericq (support for ICQ, Yahoo!, AIM, IRC, MSN, Gadu-Gadu and Jabber protocols)
- naim (support for AIM, ICQ, IRC, and the lily CMC protocols)
- irssi (popular IRC client)
- gtmess (MSN client)
- Database:
- psql interface to PostgreSQL
- mysql interface to MySQL
- sqlite interface to the sqlite database
- all the major databases have command-line clients
- Filesystem
-
- Version control:
- I currently use git, Mercurial, Bazaar, Subversion and RCS depending on the project context
- Distributed VCS
- Centralized VCS
- subversion (removes some of the annoyances of CVS and more extensible)
- cvs (the classic, rapidly being replaced by Subversion)
- rcs (not bad for one developer and one text file, but doesn't scale nicely)
- Addressbook:
- rolo
- Games:
- Torrents:
- rtorrent
Admin:
- top, ps, kill, who, last
- ping, traceroute, dig, ifconfig, ip, netstat, nslookup
- openssl, ssh, sftp, scp, rsync
- iotop an I/O monitor like "top"
I also find the
"screen"
program vital to being productive, as I can do many, many
things all at the same time, each in their own window. It
also allows me to disconnect and then reconnect from another
machine later, resuming where I left off.

This work is licensed under a
Creative Commons Attribution-Share Alike 3.0 United States License.
©2008, Tim Chase
Last modified: $Date: 2009/12/11 20:13:21 $