I really like Ledger, an open-source command-line application for double-entry accounting. You can learn a lot about accounting in general just by reading the documentation and following the examples.
http://wiki.github.com/jwiegley/ledger/
It's available packaged in MacPorts, Ubuntu, and so on.