UNIX is an operating system that encourages experimentation and tinkering. It forces a user to think about their problem and assess the tools that are available to them to do the job. Just as a carpenter who only knows how to use a hammer can without a doubt (and a lot of persistence) build a chair with just that single tool. The process is inevitably cumbersome and inexact. Only when other tools are learned and brought into practice does the process reach a level sophistication and elegance that offers the user a sense of satisfaction that is akin to solving an intricate puzzle. Unlike a puzzle, however, there are no right or wrong solutions as long as you get the job done in a reasonable amount of time and learning something in the process. Probably just as important as knowing the UNIX operating system is knowing when UNIX is not the appropriate tool to use if another tool is available. More importantly, the user should recognize the problem they have solved in the future so that they may once again, dust off the toolbox and find another way of solving the problem.
I will place the specific sections or chapters of this book in order of "need". While this need will depend on the user's experience, we will inevitably fall into the chicken and egg problem because we need to know about X concept in order to appreciate Y. This does not necessarily mean that the user is a newbie, but that the user may simply not be familiar with a particular concept. I also inject my flawed biases based on my experiences in using the UNIX operating system in imaging.
So here goes
Chapter 1 : Introduction
Why should you care about UNIX and some basic concepts about the file system organization and file permissionsChapter 2 : Getting Help
Many new users are intimidated by the UNIX help system. This will hopefully ease the pain.Chapter 3.1 : What Happens when you login
Although they tend to jump into UNIX jargon, it does discuss what happens when you first loginChapter 47.7 : Sharing Desktops with VNC
We need this so that you can connect to the UNIX systems from anywhere in the world.Chapter 6.10 : Starting Remote X Clients
Critical skill to take advantage of X-windows connectivity
Chapter 17 : vi Tips and Tricks
Along with an on-line tutorial (run from the UNIX prompt and not a web-browser), this chapter will initiate you into a rite of passage in the UNIX world. All UNIX systems contain the vi editor and is the favored editor of most traditional UNIX minimalists. We need a way to create files because if we can't, then the rest of this is pointless.Chapter 45 : Printing
This chapter is actually a lot more than the title indicates. Because we will be learning how to use the LaTeX environment. This chapter provides a very brief history of the whole process of mark up languages including LaTeX. We will also introduce two front-end environments that will facilitate the creation of LaTeX documents.It should also be noted that in this chapter is a brief description of a powerful image manipulation tool called netpbm (formerly known as pbmplus). We will be looking at this particular package
Chapter 16 : Spell Checking, Word Counting, and Textual Analysis
Tools for generating your documents
Chapter 43 : Redirecting Input and Output
Aside from editing files by hand, this is a way to create a lot of files quickly and in quantity. Probably one of the most powerful basic concepts that makes UNIX so versatile.Chapter 12 : Showing What's in a File
Now that you have generated many file quickly and in quantity, you want to see how much of these files have useful content.Chapter 10 : Linking, Renaming, and Copying Files
Basic skill to start organizing the mass quantities of files you have generated.Chapter 14 : Removing Files
Necessary part of orgnizationChapter 11 : Comparing Files
Just in case you want to make sure that you really want to delete that file that you have worked on for the past 4 hours.
Chapter 48 : Security Basics
Although you can function in UNIX land in your own account without knowing about these concepts, it is critical in our connected world to understand basic security concepts.Chapter 49 : Root, Group, and User Management
This is geared more toward administrating a UNIX system which you may be inclined to do in the future. The concepts, however, will help you communicate with system administrators more intelligently.Chapter 50 : File Security, Ownership, and Sharing
This chapter is fundamental in functioning in the UNIX system to allow collaboration and exchange of data (unless you choose to work in a vacuum).Chapter 51 - SSH
Chapter 3.3-3.7 : Shell specific articles
This may be intimidating at first particularly if you edit crucial startup files.Chapter 3.20 RC Files
Talks about important setup files (typically hidden) which will come into play as users become more proficient with the UNIX tools.Chapter 29.1-29.3 : Custom Commands
Although this is worthwhile knowing, becoming too dependent on some of these features means that you may have difficulty working in antoher person's environment.Chapter 28 : Saving Time on the Command Line
Some important tips and trick in getting proficient on the command lineChapter 30 : The Use of History
Chapter 31 : Moving Around in a Hurry
Chapter 13 : Searching Through Files
Chapter 39 : Creating and Reading Archives
Chapter 23 : Job Control
Chapter 24 : Starting, Stopping, and Killing Processes
Chapter 25 : Delayed Execution
Chapter 26 : System Performance and Profiling
Chapter 32 : Regular Expression (Pattern Matching)
Chapter 33 : Wildcards
Chapter 34 : SED
Chapter 20 : Batch Editing
Chapter 21 : You Can't Quite Call This Editing
Chapter 22 : Sorting
Chapter 27 : Shell Interpretation
Chapter 35 : Shell Programming for the Uninitiated
Chapter 36 : Shell Programming for the Initiated
Chapter 37 : Shell Script Debugging and Gotchas
Chapter 15 : Optimizing Disk Space
Chapter 38 : Backing up Files
.
Chapter 18 : Creating Custom Commands in vi
Chapter 19 : GNU EMACS
Chapter 26 : System Performance and Profiling
Chapter 29.5-29.14 : Custom Commands
Chapter 40 : Software Installation
Chapter 41 : Perl
Chapter 42 : Python
Chapter 44 : Devices
Chapter 46 : Connectivity
Chapter 47 : Connecting to MS Windows