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 likeed
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:
- Math:
- Graphing:
- Calculator
- 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) -
gcalcli
(interact with Google Calendar from the command-line) khal
-
mencal
andmencal2
(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
frotz
package 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:
rtorrent
aria2c
-
top
,ps
,kill
,who
,last
-
ping
,traceroute
,dig
,ifconfig
,ip
,netstat
,nslookup
-
openssl
,ssh
,sftp
,scp
,rsync
-
iotop
an 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.