Knowledge can be communicated efficiently and gained quickly. “Springfield is the capital of Illinois.” “Most system configuration is stored under
Skill, on the other hand, is something that you can’t directly teach. You can tell someone what to do, how to try to go about doing it well, but then they have to do the thing to learn the skill. Picking up a skill is a form of discovery you must do on your own.
For example, tennis is a simple game. Let’s ignore the undoubtedly complex definitions of what makes legal balls, rackets, and courts. The rules that the players must follow are simple. You could teach those rules to someone in the course of one morning, if not faster. That afternoon they could watch a game, follow what’s happening, and narrate to someone else what’s happening and why. Other than correcting any misunderstanding or refreshing their memory, they now know the rules as well as they can be known. All the relevant knowledge has been transferred.
However, that does not mean that they’re ready for The Wimbledon Championships!
Playing tennis is a skill, something that can only be gained by doing the thing. And, you are never done gaining a skill, there will always be room for improvement.
Watch one of the top tennis championships if you don’t believe this. There it is, this simple game. If you hadn’t already learned the rules, you could probably figure out most if not all of them simply by watching.
Meanwhile, you’re watching a championship. These are the very best tennis players in the world, but you will see expressions of frustration! And if you were to ask these players, they would say that their skill is not yet perfect. They still have room for improvement. They always will.
Linux has the same knowledge-skill split.
In Learning Tree’s introductory Linux for users and more advanced Linux power tools and Linux server administration courses, the slides contain a lot of knowledge that the instructor transfers by listing which tools are useful for solving which types of problems and then giving some explanations and demonstrations.
For example, the
chmod command manipulates the permissions on files (and directories, devices, sockets, and named pipes). These permissions include reading, modifying, executing programs, and searching directories, plus special bits that provide special user and group ID credentials. You can change only those permissions you want to modify, or you can specify the complete set of permissions with which ones are to be granted and which ones are to be taken away. Those permissions can be specified in absolute form, as octal (base 8) values corresponding to binary patterns, or in symbolic form, “add read and execute for group members while removing write permission for others.”
That makes for five pieces of knowledge: the command name (
chmod), what it does (manipulate permissions), the set of available permissions, that you can specify the complete permission mask or just the desired changes, and that you can specify permissions in either octal or symbolic formats.
All that will take some explanation, but once you’ve gone through a short set of slides you have been exposed to all the knowledge you need to start doing useful things. Yes, you will need to go back and review your notes until you get the details (the knowledge) memorized, but you won’t be able to accomplish much until you build up some skill. The exercises will have you use these tools, reinforcing the knowledge and giving you a short practical exposure.
But then you need to use the commands a lot, first to be able to remember which command is useful in a given situation (the knowledge), and then to quickly and accurately come up with the specific parameters (the skill). Does this problem call for
0775, or might
g+rX be better? And just what do those values and patterns mean? With practice, all this comes naturally.
Ask the tennis pros. Skill only comes with a lot of work. Just knowing the rules won’t get you to the championships.
Skill on the Linux command line will only come from using it in the weeks following the course. The good news is that it is easy and somwhere between free and very cheap to have a Linux machine of your very own. See my next post for a list of six ways to easily get practice with the Linux command line and start adding skill to your knowledge!