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.
- RSS
- Web
- Text Editing
- Spreadsheet/math/calculator
- Calendar
- To-do management
- Music/audio
- Chat
- Database
- Filesystem
- Version control
- Addressbook
- Games
- Torrents
- Admin
- Miscellaneous
- 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 "MH" format, supports POP3 via fetchmail) -
pine/
alpine(full-screen; uses local mailboxes, POP3, or IMAP) offlineimap- and many others
-
- RSS:
- 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 likeedon 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
antiwordor wordview ("wv") to convert .DOC files to a usable format. -
- Spreadsheet/math/calculator:
- Spreadsheet:
- Math:
- Graphing:
- Calculator
- Calendar:
-
calendar(show events on given days) -
remind (like the previous
calendarprogram 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) -
gcalcli(interact with Google Calendar from the command-line) khal-
mencalandmencal2(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:
- Chat:
- Database:
- Filesystem
-
-
Midnight Commander (
mc) ranger
-
Midnight Commander (
- Version control:
- I currently use git, Mercurial, Bazaar, Subversion and RCS depending on the project context
- Distributed VCS
git(a fast, powerful patchwork of scripts and commands)-
mercurial (
hg) (fast, powerful, predictable, and mostly written in Python) -
bazaar(fast, powerful, predictable, and purely written in Python) -
darcs(slower, and less popular)
- Centralized VCS
-
subversion (
svn) (removes some of the annoyances of CVS and more extensible) -
cvs/OpenCVS (the classic, rapidly being replaced by Subversion) -
rcs(not bad for one developer and one text file, but doesn't scale nicely)
-
subversion (
- Distributed VCS
- Addressbook:
- Games:
- the
bsdgames
package in Debian provides several (I'm a
sucker for
cribbage) - the
frotzpackage gives access to most text-adventures nethack- and oodles of other games
- the
bsdgames
package in Debian provides several (I'm a
sucker for
- Torrents:
rtorrentaria2c
-
top,ps,kill,who,last -
ping,traceroute,dig,ifconfig,ip,netstat,nslookup -
openssl,ssh,sftp,scp,rsync -
iotopan I/O monitor like "top"
weather
I also find that using
"tmux" or GNU
"screen"
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.