Introduction to Unix CS 21 - PowerPoint PPT Presentation

1 / 41
About This Presentation
Title:

Introduction to Unix CS 21

Description:

More on man ... What Do You Do If There Isn't A Man Page? ... Check for man pages or documentation on the web ... – PowerPoint PPT presentation

Number of Views:40
Avg rating:3.0/5.0
Slides: 42
Provided by: vill7
Category:
Tags: introduction | man | unix

less

Transcript and Presenter's Notes

Title: Introduction to Unix CS 21


1
Introduction to Unix CS 21
  • Lecture 2

2
Lecture Overview
  • Starting out in Unix
  • Getting help when needed
  • Looking around a little
  • Environment and Environment Variables
  • The Unix file structure
  • Organization
  • Navigation

3
Logging In (And Logging Out)
  • Your Unix experience begins with a login prompt
  • Login name and password
  • Always be sure to log out
  • Why?
  • Malicious people shouldnt have access to your
    account
  • Locking the screenis it safe?
  • Well, maybe, maybe not

4
Good Password Versus Bad Password
  • What makes a bad password?
  • Any word in a dictionary
  • Any word from a sci-fi movie/show
  • 30 sec 8 minutes to break
  • What makes a good password?
  • Easily interpreted and remembered by user
  • Looks like random gibberish to others
  • passwd normally changes your password

5
Im In, Now What?
  • No tour of Unix like Windows has
  • Youre pretty much on your own
  • Unix assumes you know what you are doing
  • You are given just enough leverage to either do
    everything well or really mess everything up

6
Where To Get Help
  • man
  • The most important command in all of Unix
  • RTM
  • info
  • More complete descriptions of certain packages
  • help
  • Shell specific commands
  • apropos
  • whatis

(RTFM)
7
Man Page Sections And What They Mean
  • 1 User commands
  • 2 System Calls
  • 3 C library routines
  • 4 Administrative files
  • 5 Miscellaneous
  • 6 Games
  • 7 I/O and special files
  • 8 System administration commands

8
More on man
  • Other sections exist (such as the perl reference
    manual and the tcl reference manual)
  • -a will show all the man pages that match
  • First is shown by default
  • How would you find out more about man?
  • man man

9
Example
10
How Am I Supposed To Read This?
  • Name
  • The name of the program and a brief description
  • Synopsis
  • How to run this command
  • Description
  • Listing of all flags and what they do
  • See also
  • Relevant related commands

11
What Do You Do If There Isnt A Man Page?
  • Option 1 run the program and hope it doesnt
    destroy anything
  • Option 1b run the program with random flags and
    see what exactly it destroys
  • Option 2 do a little snooping
  • Check for man pages or documentation on the web
  • See if there are any environment variables that
    it might use

12
Who is logged on and what are they doing?
  • users
  • Shows a list of all currently logged on users
  • who (and whoami)
  • Shows a list of all currently logged on users and
    where they are logged on from
  • w
  • Shows a list of all currently logged on users and
    what they are running
  • finger
  • Tells a little more information about users

13
Privacy issue?
  • You can tell when someone else is logged on and
    exactly what they are doing
  • Everyone else can see what you are doing
  • Is this acceptable?

14
One User To Rule Them All
  • The superuser root
  • Root has the permission to do anything
  • Including wiping the entire system clean
  • The system will allow root to do just about
    anything
  • Comparable to Administrator in Windows
  • Of course, any user in Windows XP can be
    designated an Administrator and install software

15
No, You Cant Get Root
  • For obvious reasons, you will not be given root
    access
  • Dont feel bad though, very few people at school
    have root
  • You can always install your own machine at home
    to play around with
  • Knoppix

16
Environment And Environment Variables
  • A set of preset variables that all programs run
    from that shell can see
  • In order to see them, run the command printenv
  • Set environment variables with the command
    export VARVALUE
  • Clear environment variables with unset VAR

17
Example
18
Stupid Analogy Of The Day
Environment Variables
  • Each contain useful information
  • Every program can check them out and read them
  • If someone changes them, the next person to check
    them out will see those changes

19
Exporting Or Not
  • If you dont export the variable, it is a local
    variable and not accessible to everyone
  • Get access to a local variable by using the
    dollar sign (VAR)

20
A Very Important Environment Variable
  • PATH
  • Tells Unix where to look in order to find
    programs to run
  • Very important hint
  • When typing a command, you should be able to hit
    the tab key in order to complete it
  • Called tab completion, this is a most invaluable
    tool
  • The system searches your PATH for any program it
    can run that matches what you have typed so far

21
Files, Files Everywhere
  • Unix treats almost everything as a file
  • Standard text files and binaries
  • Directories
  • Links
  • Even devices!
  • Your terminal is a file, your keyboard is a file,
    your hard drive is a file, everything is a file!

22
What Was That?
  • To repeat, Everything in Unix is a file!
  • Why?
  • This goes back to the design of Unix trying to
    keep everything simple
  • Treating everything the same allows for a simple
    interface to interact with everything in the same
    way

23
Unix Directory Structure
  • Everything is a file, and the directory structure
    is like a filing cabinet

24
Inverted Tree Structure
/
/usr
/bin
/home
/var
/lib
/home/csmajs
/home/csgrads
/home/csmajs/undergrads
/home/csgrads/graduates
25
What Goes Where?
  • /
  • Root of the entire system
  • Comparable in Windows to C\
  • Windows, however, has several roots depending on
    what partition and device you are looking at
  • /bin
  • Commonly used binaries (programs)

26
And
  • /sbin
  • More programs to run
  • Statically linked
  • Still should run if you tinker around and mess
    things up
  • /usr
  • User related commands as well as a whole bunch of
    random stuff

27
And
  • /lib
  • Libraries go in here
  • /dev
  • All devices are located in here
  • /home
  • Traditionally, this is where user accounts are
    stored
  • /etc
  • Startup files and configuration files for daemons
    and other programs

28
And
  • /var
  • Various files go in here
  • Traditional location of mailboxes
  • /var/spool/mail
  • /proc
  • Special files that contain information about the
    system or info from running programs

29
Navigating The Directory Structure
  • You are always located at one location in the
    tree
  • ls
  • Provides a listing of the current directory
  • All files and directories are shown
  • cd
  • Change directory
  • cd / Moves your current directory to /
  • cd without any arguments moves you to your home
    directory

30
Creating And Removing Directories
  • mkdir
  • Makes a directory
  • mkdir myDir
  • rmdir
  • Removes an empty directory
  • rmdir myDir

31
A Couple Of Notes
  • Unix is case-sensitive
  • myDir is different from MyDir and mydir
  • Not all files are shown with ls
  • ls a will show all files
  • Hidden files in Unix always start with a .
  • Example .hidden
  • .plan

32
Command Line Options
  • Almost all Unix commands have options that change
    what they do
  • Read the man pages for a listing
  • They have the form -a
  • Depending on the command, they may be lumped
    together
  • -a l is the same as -al

33
How Different?
34
Special Directories
  • .
  • This stands for the current directory
  • ..
  • This stands for the directory directly above the
    current directory
  • Your home directory
  • These directories can be stacked
  • ../.. stands for two directories directly above
    the current directory

35
Relative Versus Absolute Pathnames
  • Unix supports two different styles for
    directories
  • Absolute pathnames
  • Always start from / and contain the entire route
  • /home/csgrads/villarre
  • Relative pathnames
  • Assumed to be relative to current directory
  • Doesnt start with a /
  • classes/cs21

36
Advanced Navigation Through The Directory
Structure
  • pushd
  • Push a directory onto a stack
  • popd
  • Pop a directory from a stack
  • A Stack is whats known as a LIFO structure
  • Last in, first out

37
How Does A Stack Work?
38
How Does A Stack Work?
39
How Does pushd and popd Work?
Current Directory
pushd /var/spool
/home/csmajs
/var/spool
/home
/var/spool
/home/csmajs
pushd /home
popd
popd
40
Today In Lab
  • Put all of the material from today into practice
  • Lab will be posted later today at
    www.cs.ucr.edu/villarre/cs21/

41
Reading Assignment
  • Read chapters 2-4
  • I will assign a homework beginning of next week
  • First quiz will be a week from next Tuesday
Write a Comment
User Comments (0)
About PowerShow.com