Introduction lecture slides are here


CIS-191 builds on CIS-90. In this class we will go more deeply into how Linux works and how you control it. Each week I will lecture to give you a general idea of what we're covering and how the programs and technology work. This is to give you the information you need to understand what you are doing. Then we'll practice commands that change Linux's configuration and commands that observe the current configuration. My goal is to help you understand a three step process:

  1. Plan
  2. Execute
  3. Observe

This is the process that good systems administrators apply to their work. It starts by asking yourself what you intend to do and how you intend to accomplish your task. Are you clear on what changes you're about to make? Do you know the commands that will make the changes, or should you Google them? You don't have to have everything mapped out exactly but you should have at least a general idea. Next run the command or commands that make changes. But, how do you know you're done? You must also know the commands that will tell you if your changes are successful or if you need to go back and fix something. 

When you're performing a task that requires making multiple changes always change only one thing at a time before you test your change. So, if your goal requires you to change three things on the system you should separately plan, execute and observe the changes. Taking shortcuts by doing too many things at once is the most common way that systems administrators end up making a mess. Many mistakes will be evident immediately but not all. A mistake that doesn't show up until a few steps later can be a very difficult and painful one. Working methodically is the best way to avoid wasting time backtracking. Time is important, most people think that computers should “just work.” As an administrator you will know more than anyone how much work it takes to “just work.” 

Am I Ready for CIS-191?

There is a lot of information in CIS-90 that I count on people to know. Don't worry if your skills are a little rusty because you haven't used Linux in a  while, but you should be able to answer the following questions:

  • What is the difference between an absolute and a relative path? 
  • What program(s) do you use to edit a text file from the command line? 
  • What is a command and how do you give a command arguments?
  • What is an environment variable? How do you view them? How do you set them?
  • Where does Linux look for commands to run? 
  • Where are your personal files usually located?
  • Can you create, move and copy files?
  • What's a symbolic link? What command makes one?
  • What are file permissions? How can I view and change them?
  • What are STDIN, STDOUT and STDERR? 
  • How do I know what programs are running on Linux? How would I stop one? 
  • How do I copy files from my Windows or Mac computer to my Linux VM?
  • How do you get help for a command?

If you feel confident with two thirds of those at least you're probably ready for CIS-191. If you think you're a little shaky on those, come talk to me.