1 / 41

Introduction to Unix – CS 21

Introduction to Unix – CS 21. Lecture 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. Logging In (And Logging Out).

barbie
Download Presentation

Introduction to Unix – CS 21

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 shouldn’t have access to your account • Locking the screen…is 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. I’m In, Now What? • No “tour of Unix” like Windows has • You’re 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 Isn’t A Man Page? • Option 1: run the program and hope it doesn’t 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 Can’t Get Root • For obvious reasons, you will not be given root access • Don’t 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 VAR=VALUE • Clear environment variables with: unset VAR

  17. Example

  18. Stupid Analogy Of The Day • 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 Environment Variables =

  19. Exporting Or Not • If you don’t 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 /lib /var /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 • Doesn’t 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 what’s known as a LIFO structure • Last in, first out

  37. e d c b a How Does A Stack Work?

  38. e d d c b a How Does A Stack Work?

  39. /var/spool/ /home/csmajs /bin /usr /home 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

More Related