Most of you probably already have some experience with some variant of Unix, e.g. from turning in assignments for 172 last spring. For 173 we will be using the new Linux machines in the "inner" undergraduate lab in Computer Science, room 727 of the Computer Studies Building, as described on the course resources page. Note that three high-end cycle servers are available for remote access from anywhere on the Internet.
  If you are used to a PC or Macintosh environment, you will find Linux a
  little less "friendly".  There are lots of window-based tools, and a
  nice desktop environment, but much of your work will happen via a
  command-line interface to a program called the "shell".
  A good place to start is the on-line help system: man (for
  "manual").
  Type
  
      man man
  
  and read what shows up.
  Then read the man pages for the following:
  
      cd
      pwd
      mkdir
      rm
      rmdir
      chmod
  
  Note that the name .. (dot dot) can be used to refer to the
  parent of the current directory in the file system hierarchy.
  
  Once you are comfortable moving around in directories and listing files,
  skim the man page for the default shell, csh.  It has a
  lot
  of functionality -- more than you want to know about yet -- but you'll
  find it helpful over time to have a sense of what's available.
  At some point, for example, you'll want to learn about "job control",
  which allows you to have more than one program running simultaneously,
  under the control of a single shell.
  
  Finally, you need to become proficient with one of the text editors.
  I strongly recommend emacs: it's the most powerful and
  popular of the Unix editors.  It has a very steep learning curve, so
  expect to invest a lot of time getting used to it.  Once you've made the
  investment, however, you won't want to go back to anything else.
  
  Emacs has a good built-in help system.  After you first
  start up, you can access a hands-on tutorial by typing M-h
  t (meta-h t).  The meta key is a modifier, like
  control or shift.  On some keyboards it's
  labeled alt or  .  If you
  don't have (or can't find) the
.  If you
  don't have (or can't find) the meta key, you can type
  <esc> (escape) instead, as a prefix instead of a
  modifier: <esc> h t.
  
  Once you've run the tutorial, you should check out texinfo mode,
  a more extensive help system built into emacs.
  Type
  
      M-x info <rtn>
  
  to get into texinfo mode.  They type
  
      m info <rtn>
  
  to learn how to use texinfo itself.
  (That's "m" [for "menu item"], not meta.)
  Until you've learned the various texinfo
  browsing commands, know that <sp> will keep moving
  you forward through the material.
  From the same initial texinfo menu page, type
  
      m emacs <rtn>
  
  to get documentation for emacs itself.
  Two useful hints:
C-g (control-g) to abort the current emacs
      command, whatever it is.
  C-x C-c (control-x followed by control-c) to quit
      the editor.
   Back to the course home page
      Back to the course home page
  
