Software for a command-line world
| Author: | Tim Chase |
|---|---|
| Date: | 2009/01/14 |
| license: | CC-BY-SA |
| url: | http://tim.thechases.com/bvi/console.html |
Below are a list of programs that can all be used over an SSH connection with no need for an X connection.
Contents
- 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
RSS
- Raggle
- newsbeuter
- snownews
- NRSS/Canto
- Google Reader supports an on-line reader (the Mobile version should be usable in any console browser)
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:
o sc (a simple full-screen spreadsheet with vi-like keybindings) o slsc (based on sc) o oleo (a simple full-screen spreadsheet with a more Emacs-like feel)
- Math:
o Octave o R o scilab
- Graphing:
o gnuplot o graphviz
- Calculator
o bc (a simple command-line calculator) o 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 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
o mpg321 o mpg123 o ogg123 o and many others
- Editing/recording
o sox o ecasound
- Volume control
o aumix
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
- Midnight Commander (mc)
Version control
I currently use Mercurial, Bazaar, Subversion and RCS depending on the project context
- Distributed VCS o mercurial (fast, powerful, predictable, and mostly written in Python) o bazaar (fast, powerful, predictable, and purely written in Python) o git (a fast, powerful patchwork of scripts and commands) o darcs (slower, and less popular)
- Centralized VCS o subversion (removes some of the annoyances of CVS and more extensible) o cvs (the classic, rapidly being replaced by Subversion) o rcs (not bad for one developer and one text file, but doesn't scale nicely)
Addressbook
rolo
Games
- the bsdgames package in Debian provides several (I'm a sucker for cribbage)
- the frotz package gives access to most text-adventures
- nethack
- and oodles of other 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.
Creative Commons License This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License. ©2008, Tim Chase Last modified: $Date: 2009/01/14 21:34:38 $
