The Teminal Pocket Guide by DJ Barrett is a short (well 230 pages — it could be far longer of course), concise quick reference to terminal commands on OSX. It is to date to reference OSX 10.7 Lion and bears the hallmarks of O’Reilly’s Pocket Guide series. I was surprised that there was no prior version of this very valuable guide. It is a handy, useful volume that provides a brief sketch of the general operation of a particular object, in this case the Terminal application in OSX, focussing on the most common and widely used processes. I have the eBook version on my Kindle which does fit in my pocket, but as I mentioned it might take a slightly larger pocket for the paper-based version at 230 pages. True to form this volume sticks to this proven practice of being comprehensive without being exhaustive. It is targeted at users from novice to advanced, but is really directed towards ensuring that an absolutely beginner will have all the context necessary to feel comfortable with the Terminal application and how it can be immediately utilized to make life on OSX simpler.The structure of this Pocket Guide is logical and follows a path of useful topics rather than increasingly complexity. The final few short sections deal with tasks such as working with a package manager or working with shell scripts that are very terminal specific and would be new territory for those unfamiliar with terminal. Otherwise, the bulk of the book deals with various file manipulation tasks and system tasks that can be accomplished using other GUI tools, but as the author states, can be used with far more power through terminal. The premise of the book really revolves around making life simpler and accomplishing tasks faster and with greater efficiency.
One aspect of the author’s approach that I was particularly focus of was drawing direct reference between how the GUI tools accomplished a task and how this is accomplished in Terminal. I think this helps the reader appreciate the connection and feel far more comfortable with how Terminal can be integrated into existing practice as opposed to be seen as a different tool for different tasks. The desktop is directed to demonstrate how it is merely a layer on top of the file manipulation tasks that can be accomplished in terminal. Through this approach a novice user can most easily deduce how Terminal can work for them.
There is a surprising amount of background material presented around specific commands which will be of particular value to users entirely unfamiliar with systems tools. In the area of permissions for example, Barrett provides a concise and highly useful discussion of how permissions are managed in general on a UNIX-based system and then shows how this can be accomplished using terminal. This why, how and then example driven approach is a perfect way to use this guide as a tutorial. As a reference manual, syntax and options for commands are quickly identified which permits more experienced users to quickly refresh their understanding.
Finally, and this is most specific to the eBook, links between related topics are copious through the text as page references and as hyperlinks so that the guide can be traversed as a problem solving manual. This version of the guide is concisely delivered, and up to date for the latest version of OSX. It is useful for a variety of levels of experience and is easily adaptable for each of these levels. As a reference source it is simply the best on offer for Terminal in OSX. As a tutorial for a novice use it offers very useful examples and instruction for a self-paced approach.