Introduction to UNIX



This document focuses on ATT System V Release 4 compliant Unices.


Introduction to Unix.

  Unix is an operating system that is very powerful.  It has been
  around since the late 1960s, however it didn't begin to gain
  popularity until the 1970's.  It has and has had many of the
  features that other companies are scrambling to incorporate into
  their own OS.

  Popular buzzwords today are "32-bit", "Multitasking",
  "Multiprocessing", "Multiuser" and "Security".  Unix has had all of
  these features for many years.  Companies such as Microsoft, Apple,
  and IBM are trying to incorporate many of these features into their
  OSs, however progress has been slow.

Brief history of Unix.

  Unix was originally developed at ATT's Bell Labs.  At the time ATT
  did not realize this would be a marketable product and decided to
  allow Universities access to the source code.

  The University of California, Berkeley took this offer from ATT with
  great enthusiasm and modified the source code to include additional
  features not available on the original version from ATT.  In fact,
  the modifications were so extensive that the only two major versions
  of Unix today are the ATT (System V) style and the BSD (Berkeley
  Software Distribution) style.

  Most companies of come up with a modification of their own and have
  a version of Unix that is a combination of both styles.  For
  example, Sun's Sun OS 4.x is mostly BSD style, however their latest
  release Sun OS 5.x is mostly ATT (System V) style.

Introduction to the file system.

  The file system in Unix is very important.  It is the users access
  point to all of the programs online, external devices, and all files
  for that matter.

  Everything in Unix is a file.  This is a very powerful tool for the
  user, however it may be viewed as initially confusing, or difficult.
  After learning the Unix file system the user will appreciate the
  power of Unix and may be disappointed in the limitations imposed by
  other simpler operating systems such as Windows 95 and Mac OS. 

Commands for accessing the file system.

  ls - list files
      syntax: ls  
      List the files in a directory.  The default is to list the files
      in the current directory.

      Common options
        -a lists all files in the directory including hidden files (dot
           files)
        -l long listing which includes all file attributes
        -F adds tags to the files which indicate the type of file

  cd - change directory
      syntax: cd 
      Change the present working directory.

  mkdir - make directory
      syntax: mkdir 
      Make a directory.

  rmdir - remove directory
      syntax: rmdir 
      Remove a directory.

  rm - remove files
      syntax: rm  
      Remove a file.

      Common options
        -r recursive remove
        -f force removal regardless of permissions

  cp - copy files
      syntax: cp   
      Copy a file to a new file or different location.

      Common options
        -r recursive copy

  mv - move files
      syntax: mv   
      Move a file from one directory to another or rename a file.

  ln - make link
      syntax: ln   
      Create a file that is a link to another file.

      Common options
        -s make symbolic link

  file - describe file
      syntax: file 
      Describe the file.

Commands for reading files.

  cat - print file contents
    syntax: cat 
    Print the file contents without regards to file length or content.

  more - print file contents page at a time
    syntax: more 
    Print the file contents one page at a time.

  less - print file contents page at a time
    syntax: less 
    Print the file contents one page at a time, can also go in
    reverse.

Commands for editing files.

  ed - edit files
    syntax: ed 
    Edit a file.  Line editor.  Very commonly found on all Unices.

  vi - edit files
    syntax: vi 
    Edit a file.  Simple visual editor.  Very commonly found on all
    Unices.

  emacs - edit files
    syntax: emacs 
    Edit a file.  Powerful text editor.  Much more than just an
    editor.  Beyond the scope of this document.  Type C-x C-c to quit
    it.

Introduction to the Internet.

  The Internet is a vast network of networked computers.  It was very
  common at the beginning of the Internet to have nothing but Unix
  computers attached to it, however this is changing.  Now many
  different types of computers are attached.  Still probably the most
  common type of server on the Internet is a Unix computer.

  Web sites, ftp sites and many other services are brought to the
  general Internet community due to Unix computers.

Commands for accessing the Internet.

  netscape - web browser
    syntax: netscape  
    Popular web browser for accessing HTML pages.  Found on many
    different platforms (Unix, Mac, Windows). 

  ftp - file transfer protocol
    syntax: ftp 
    Transfer files from one computer to another.

  ncftp - feature-rich file transfer protocol
    syntax: ncftp  
    Transfer files from one computer to another.  Allows automatic
    "anonymous" login to ftp sites.

  telnet - access remote computers
    syntax: telnet 
    Useful for accessing remote computers for many different purposes.
    Once logged into the remote computer one can run any text-based
    program inside of the telnet session.  Many popular online games
    can only be accessed via telnet.


by acm@pcs.cnu.edu