Difference between revisions of "ULI101 Lecture 1"

From CDOT Wiki
Jump to: navigation, search
Line 22: Line 22:
==Reference Material==
==Reference Material==
*there is a LOT of reference material available on the internet
*there is a LOT of reference material available on the internet
*a huge amount of Linux documentation has been collected at: [http://en.tldp.org en.tldp.org]
*a huge amount of Linux documentation has been collected at: [http://en.tldp.org en.tldp.org]

Revision as of 23:13, 12 September 2019

Introduction to ULI101

Course Requirements

  • final mark is based on:
    • 18% for 3 assignments
    • 12% for 4 quizzes
    • 30% for mid-term test
    • 40% for final exam
  • to pass, you must:
    • achieve a grade of 50% or better on the final exam
    • achieve a weighted average of 50% or better for the test and final exam
    • achieve a grade of 50% or better on the overall course


  • there will be 4 quizzes worth a total of 12%
  • the quizzes will cover material up to the previous week's lectures


  • there will be three assignments worth a total of 18%
  • assignments will be due by midnight on the due date
  • late assignments will be penalized 10% per day, including weekends and holidays
  • the 3rd assignment will not be accepted beyond the due date

Reference Material

  • there is a LOT of reference material available on the internet
  • a huge amount of Linux documentation has been collected at: en.tldp.org
  • if you prefer a book, a good reference is A Practical Guide to Linux Commands, Editors and Shell Programming by Mark Sobell

Introduction to UNIX

Operating Systems

  • allocate resources and schedule tasks
  • resources include CPU, memory, disk, tape, printers, terminals, modems, etc.
  • only one user allowed at a time for each resource
  • keeps track of filenames and directory structure
  • multi-tasking (one task at a time per processor actually executing)
  • multi-processing (schedules multiple processors)
  • multi-user

History of UNIX

  • developed at Bell Labs (AT&T) in 1969
  • unlike most OS's at the time, UNIX was multi-user, interactive, and simplified sharing of data & programs
  • became popular in industry as college and university graduates were trained in it
  • open system, ported to many different hardware platforms (unlike IBM, Burroughs, Univac mainframes)
  • software written for one UNIX system will often run on other systems with little or no modification
  • still very weak in areas of system management - tape management, security, hardware accounting, capacity planning tools, performance management including prioritization of jobs
  • hardware manufacturers modified UNIX to run on their systems and added enhancements
  • standardization was begun in response to Windows NT threat
  • System V Release 4 is one of the steps to address standardization
  • SVR4 includes many of the modifications that were being done by hardware manufacturers, if they were universally useful and applicable

History of Linux

  • GNU (Gnu's not Unix) was started in early 80's to create and promote free software
  • Linux was created by Linus Torvalds in the 1990's, released to the Internet in 1994, mostly using GNU C compiler
  • about 1/3 of Linux is GNU code from the Free Software Foundation - a Linux distribution consists of Linux kernel + GNU compilers/tools/utilities + other free software
  • Linux uses the Open Source model for development - code is placed on the Internet, users download and test it, programmers improve it and place it back on the web
  • there is competition among programmers to fix bugs and improve Linux

UNIX Structure

  • Hardware, surrounded by
    • UNIX Kernel (basic OS), surrounded by
      • Shell (user interface, command interpreter, and some built-in commands), surrounded by
        • Utilities (or commands)
  • most common shells: Bourne shell (sh), C shell (csh), Korn shell (ksh), Bourne again shell (bash), TC shell (tcsh), Z shell (zsh)
  • we'll mostly be concerned with the Bash shell, which is the most popular Linux shell
  • the Korn shell is the most popular Unix shell, and is very similar to the Bash shell

Entering Commands, Logging In & Out

  • to login, use an SSH (or similar) program, and provide userid and password
  • to backspace (erase), usually backspace, control-h, or control-backspace
  • to interrupt a process, usually control-c
  • to logout, use exit, logout, or control-d
  • use passwd to change password
  • command line arguments can be separated by one or more spaces or tabs

Using the Matrix server at Seneca

Live Linux

  • most major Linux distributions offer a Live version, allowing users to run the OS without installing it
    • usually a CD or DVD, but it is possible to have Live USB Linux as well
  • users can boot the OS without affecting the existing OS, which can be very useful for:
    • troubleshooting
    • hardware compatibility testing before install
    • virus removal
    • trying out a new/unknown distribution
  • new or changed files can be saved on portable storage (such as a USB memory stick) or on the local hard drive
  • using Live Linux (Knoppix):
    • to run Live Linux (Knoppix) in a Virtual Machine using Oracle VirtualBox, you can choose Knoppix from your MyApps as soon as you log into Windows.
    • In case Knoppix does not show up in your MyApps after you login, you may look for C:\Knoppix\Knoppix.vbox and double click on the icon. NOTE: This may only work for computers located on campus.
    • to use Knoppix from your home machine, or on your laptop, you will need to download and install Oracle VirtualBox for your operating system first and then download the Knoppix VirtualBox VM (approx 5GB file and this might take a while to download):
      • Unzip the downloaded zip file (Right click and Select "Extract All")
      • Read and follow the instructions in the PLEASE-README-FIRST.txt file. It has instructions for running Knoppix on your home machine.
      • Should you still have difficulty running Knoppix on your home machine/laptop you may ask your instructor or the Learning Centre ULG leaders for additional help in troubleshooting why Knoppix was not working on your home machine/laptop.

Some Commands

  • pwd will show your current directory
  • cd is used to change current directory, eg. cd directory-name
  • ls lists information about files and directories
    • ls -a all files (including hidden)
    • ls -l long form, gives more information about files
    • ls -d gives information about the directory itself, not contained files
    • these options can be mixed and matched, eg. ls -ld
  • cal displays a calendar of the current month
    • cal 1995 displays calendar for specified year
    • cal 3 1995 displays calendar for specified month of specified year
  • date gives date and time
  • who, w information about users logged on to system
    • who am i, whoami information about your session
  • here is a list of most of the commands we'll be seeing in this course: Command Summary