SRK's UNIX Tool Chest

Unix is an incredible operating system. The philosophy was inverted (for its time): provide basic utilities, a simple structure (everything is a file) and simple interfaces (e.g. a file is records with \n and that is it) and then let users develop comples packages.

I am always on the lookout for "real life" problems that can be undertaken with Unix. If you like the examples here then read the rest. [Do not worry about the complexity of the examples. You can learn all that sort of stuff in a few hundred hours.]

The set of notes are under development. Every month you should see a few new modules and also notes on basic unix and bash programming.

In order to get motivated you may want to first check out some handy tools first.

Unix tools

  1. file Determine type of file   notes
  2. cp copy files (for future tools)   notes
  3. ls list directory   notes
  4. wc Count the number of lines, words, characters   notes
  5. echo Print line at the shell level  notes
  6. blanklines Deleting blank lines   notes
  7. tee Write to file and to terminal   notes
  8. iconv get rid of non-ASCII characters  notes
  9. od octal dump of file   notes
  10. yes reply yes to questions   notes
  11. {} (brace expansion) Generate numerical or alphabetic sequence   notes
  12. nl Number lines of existing files   notes
  13. seq Generate alpha-numeric sequences   notes
  14. jot random numbers & alphanumeric sequences   notes
  15. cut Extract characters and fields   notes
  16. paste Paste columns side by side   notes
  17. tr translate (substitute, delete, squeeze)   notes
  18. sort sort columns   notes
  19. uniq identify unique lines in a file, also histogram   notes
  20. join Join two files on common (sorted) key   notes
  21. find find files   notes
  22. xargs Feed argument list to a utility   notes
  23. cat output lines sequentially   notes
  24. info information, quickly   notes
  25. redirection placeholder   notes
  26. tac reverse sequence of lines in a file   notes


Linux 101 Hacks (fruitful way to send a lazy afternoon)
Guru99 (tutorial well suited to beginners; well laid out)
Computer Hope (understandable man pages)
Sanfoundary (well organized)
Geek Stuff Gems here and there
Unix School (nice examples; not easy to search, browse)
Unix tools ranked by votes
geek tips!