Lecture One
Introduction to ULI101 & UNIX; Some Commands
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
- Check out the following document, which gives a brief overview of the computer systems at Seneca: Seneca Computer Systems Overview.
- If you haven't yet gone through the process of getting and testing your My.Seneca and Learn accounts, or don't know how to access them, here is a step-by-step procedure from the Seneca Computer Systems Overview referenced above.
- Make sure that you have access to the Matrix server:
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