Oct 20, 2014 • Michael Chen

Unix is like carpenters’ toolkits; you need to learn them before you really enjoy them. Self-help learning is rewarding and amusing, which also applies to the learning of Unix. Basically, there are three levels of sources to learn Unix:

  • Books about Unix (or Linux).
  • Online webpages, blogs, forums or other web resources
  • System manuals.

The list is roughly ordered by the degree of difficulty. We’ll explain these sources one by one.

Although there have been a plenty of free online resources like webpages, blog posts, web forum threads, books about Unix is still valuable. First, online resources are usually scattered and short, you need search engines like Google or Yahoo to mine them. However, it is not easy to use right keywords and phrases to find right answers for beginners. Good books give you guides and hints for further searches. Furthermore, newcomers don’t know what can be done by these Unix utilities and how to effectively combine them. Good books provides concepts and examples on these topics.

Some books are dedicated for specific Unix or Linux distribution; these books are easier to follow for beginner. Some examples include Ubuntu Linux Toolbox, Wiley, Learning Unix for OS X, O’Reilly, and A Practical Guide to UNIX for Mac OS X User, Prentice Hall. Some books cover general Unix or Linux usages, suitable for imtermediate users. For instance, Unix Power Tools, O’Reilly, Unix in a Nutshell, O’Reilly, and A Practical Guide to Linux Commands, Editors, and Shell Programming, Prentice Hall.

The Internet has become a collective human mind. The information on the Internet exceeds any single volume of book. However, the information are not reviewed or proofread; sometimes erroneous or misleading messages are included as well. Some tips may help to validate these information like viewing the votes on forum threads, cross-referencing system manuals and books, and checking authoritative websites. Overall, the Internet is a handy resource for quick references toward those experienced users.

System manuals are the most suitable references for Unix. These manuals contains exactly the information of the utilities on your system, no more, no less. However, system manuals are often written in terse and compact styles, only suitable for experienced users. The utility for system manuals is man. Virtual all standard Unix utilities come with manuals.

There are generally eight sections in system manuals; they are:

  1. general commands
  2. system calls
  3. library function, covering C standard library
  4. special files and drivers
  5. file formats and conventions
  6. games and screensavors
  7. miscellanea
  8. system administration commands and daemons

For example, see the manual of ls, type man 1 ls. You may just omit the section number if no duplicated name in manuals, which is most the case. These sections are not same in all systems, so refer man on your system for details.

The operation of man is based on less, which is similar to vim. Press f to scroll forward; press b to scroll backword. Press q to quit man program. Press / (slash) to search strings or patterns in the manual. Try these simple operations by yourself; you’ll get more help.

Many GNU Info documents can be accessed by standalone info program or Info mode in Emacs. The operations of info is similiar to these in Emacs. I prefer reading Info documents in Emacs, for highlighted texts and better operations.

Gradually, you become familiar with different learning resources; you become a experienced user; you know when to take advantages of command line utilities and when to simply use GUI software. Enjoy Unix.