43
Interacting with a UNIX computer in the MathCS Lab: Listing the content of directories

Interacting with a UNIX computer in the MathCS Lab: Listing the content of directories

  • Upload
    liz

  • View
    22

  • Download
    0

Embed Size (px)

DESCRIPTION

Interacting with a UNIX computer in the MathCS Lab: Listing the content of directories. Introduction. The computers in the MathCS lab are using the UNIX Operating System Most students have not used a computer that is controlled by the UNIX Operating System. Introduction (cont.). - PowerPoint PPT Presentation

Citation preview

Page 1: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Interacting with a UNIX computer in the MathCS Lab: Listing the content of

directories

Page 2: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Introduction

• The computers in the MathCS lab are using the UNIX Operating System

• Most students have not used a computer that is controlled by the UNIX Operating System

Page 3: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Introduction (cont.)• Important notice:

• It is extremely important that you attend all labs

• If you don't understand some part of the lab, please ask the Teaching Assistant for help They are paid to explain the material to you; so take advantage of this service.

• The labs is an essential part of the course and supplements the lecture materials that are best taught hands on (such as the material in this webnote)

• If you miss a lab, make sure you do (most) the lab on your own before coming to the next lab And if you don't understand some part of the lab, ask the Teaching Assistant for help during the next lab

Page 4: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Log in • Log in procedure:

• Use your Emory ID as ID

• Use your Emory password as password

Page 5: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Log in (cont.)

• After a successful login, you should see a desktop that look something like this:

Page 6: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Log in (cont.)

(You can see a larger picture by clicking here: http://192.168.1.3/~cheung/teaching/web/170/Syllabus/02/FIGS/solaris-desktop01.png)

The (white) window in the center of the desktop is aTerminal application

This is a UNIX "shell" program that allow you to interactwith the computer through command lines typed from thekeyboard

Page 7: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Launch a new "Terminal" app with Launch bar

• To launch another Terminal application, do the following:

• Left click on the Launch button in the lower left corner of the desktop

• Left click on the Application entry

• Left click on the Utilities entry

• Finally, left click on the Terminal entry

Page 8: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Launch a new "Terminal" app with Launch bar (cont.)

Graphically:

(You can see a larger picture by clicking here: http://192.168.1.3/~cheung/teaching/web/170/Syllabus/02/FIGS/solaris-desktop02.png)

Page 9: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Launch a new "Terminal" app with Launch bar (cont.)

• Result:

Page 10: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Launch a new "Terminal" application from a Terminal window

• To launch another Terminal application using a command line (that must be entered in a Terminal window), type the following command in a Terminal window:

and hit the ENTER key

• gnome-terminal

Page 11: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Launch a new "Terminal" application from a Terminal window (cont.)

• Graphically:

Page 12: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Lab exercise

• Perform this task now:

• launch a terminal

Page 13: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Directories and their usage

• A directory is a computer folder that can contain (hold):

• Files are electronic documents that contain information

• Directories are electronic folders that let the user organize his files

• files • (other) directories        

Page 14: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Identifying a directory

• We need to identify a directory before we can perform an operation (like delete) on the directory.

(There is a need to identify things stored inside a computer uniquely. Just like using Social Security Numbers to identify people uniquely)

• The mean to identify a directory unique inside a UNIX file system is:

• a directory path

Page 15: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Identifying a directory (cont.)

• There are 2 kinds of directory paths:

We will explain the absolute directory path here and discuss the relative path later.

• Absolute directory paths

• Relative directory paths

Page 16: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Concept: absolute directory path

• Absolute directory path:

• An absolute directory path tells the computer how to find a directory starting from the root directory

• An absolute directory path of a particular directory x consists of a list of directory names starting from the root directory "/" to the directory x

• The list of directory names is separated by the "/" symbol

Page 17: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Concept: absolute directory path (cont.)• Example 1:

• The directory path for the highlighted directory is:

• /bin

Page 18: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Concept: absolute directory path (cont.)

• Note:

• The exact path should be: "//bin".

• The first "/" is the symbol for the root directory.

• The second "/" is a separating "/" symbol.

• The root "/" (the first "/") can be omitted for brevity

Page 19: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Concept: absolute directory path (cont.)

• Example 2:

• The directory path for the highlighted directory is:

• /home/bin

Page 20: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Concept: absolute directory path (cont.)

• Example 3:

The directory path for the highlighted directory is:

• /home/km/bin

Page 21: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Concept: absolute directory path (cont.)

• Some facts:

• There may be multiple directories with the same name (but not inside the same directory)

• An absolute directory path will uniquely identify one particular directory. (In fact, the absolute directory path is the "official" name of a directory)

• An absolute directory path always starts with the symbol /

• A directory path is case-sensitive

Page 22: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Concept: the home directory

• Each user in UNIX is assigned a unique user ID

• Each user in UNIX is assigned a home directory (folder) where he/she can store his/her files.

• The (absolute) directory path of the user with the user ID "X" is:

Example:

• /home/X

The home directory of Prof. Mandelberg whose user ID is km is:

/home/km

Page 23: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Reminder: how to make a computer do things for you

• We make a computer do a task (for us) by:

• Also

• Running (executing) a program (that contains the machine instructions that accomplish the task)

• People have written down computer programs (applications) to do frequently performed tasks

Some well known computer applications:

• Web browser (e.g., Internet Explorer)

• Editor (e.g., Microsoft Word)

• and so on...

Page 24: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Reminder: how to make a computer do things for you (cont.)

Now it's time to learn to use some of these applications to become a skillful computer operator

Page 25: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Tasks that are performed very frequently

• Frequently performed tasks: (you will practice these in Lab 1)

• Operations on directory (folder):

• Print the path of the current (working) directory

• List the content of a directory

• Navigate the directory tree

• Create a directory

• Delete a directory

• Rename a directory

• Move a directory to somewhere else

Page 26: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Tasks that are performed very frequently (cont.)

• Operations on files

• Print a file out to the terminal

• Delete a file

• Rename a file

• Move a file from one directory (folder) to another directory (folder)

Create a file must be done through an editor application which will be explained in a later lab

Page 27: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Tasks that are performed very frequently (cont.)

• Remember:

• We will also need to learn some concepts (and terminology) associated with these tasks

• You will be executing a computer program to perform each of the task above

• Some times, you will be executing the same program to do different tasks

(Because some programs are like a Swiss army knife that can do many different tasks)

Page 28: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Prelude to the examples

• The concepts and command are illustrated from the user with user ID cheung

(That's because Prof. Cheung has developed this course material)

Page 29: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Prelude to the examples (cont.)

• The directory structure that is relevant to the example is as follows:

Page 30: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Prelude to the examples (cont.)

This is what you would see when you browse the /home/cheung/cs170 directory:

Page 31: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Prelude to the examples (cont.)

• Some facts about the user "cheung":

• absolute path of his home directory = /home/cheung

• There is a directory named cs170 inside the home directory

Page 32: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Concept: Current directory (a.k.a. working directory)

• Computer applications often uses information (= data) stored in some file

Files in a computer systems are stored in some directory

• Every computer application has a working directory (= the directory where the application is working in)

Page 33: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Concept: Current directory (a.k.a. working directory) (cont.)

• Print the path of the current (working) directory:

• The application that instruct the computer to print the path of the working directory is:

• pwd

Page 34: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Concept: Current directory (a.k.a. working directory) (cont.)

• You can run this application from a Terminal window by typing in the name of the application

Example:

Page 35: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Task: List the content of a directory

• The command (= application) that is used to list the content of a directory:

(ls is an abbreviation of the word list)

The ls command (application) will list the names of the files and the directories stored in the specified directory in alpha-numerical order

Note:

ls DIRECTORY-PATH

• The ls command will give you the same information as a file browser (such as "Window Explorer" on a PC)

Page 36: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Task: List the content of a directory (cont.)

• Example 1: " ls /" --- give the list of directory and files stored in the root directory /

Output of the ls command Browsing the directory with a File Explorer

Page 37: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Task: List the content of a directory (cont.)

• Example 2: " ls /etc" --- give the list of directory and files stored in the directory /etc

Output of the ls command Browsing the directory with a File Explorer

Page 38: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Listing vs. Browsing a directory:

• Browsing is slow (You need to click a lot before you can reach the desired directory that you want to browse) I can type in a directory path a lot a faster than I can click...

• Browsing produce a nicer output (If you become a Computer Scientist, you will learn that only information matters, not a nicer look)

• Bottom line: geeks prefer the speedier directory listing method

Page 39: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Concept: Relative directory paths

• Suppose Prof. Cheung wants to list the content of the cs170 directory in his home directory

He would execute this command: ls /home/cheung/cs170

Page 40: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Concept: Relative directory paths (cont.)

Example:

Output of the ls command Browsing the directory with a File Explorer

Page 41: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Concept: Relative directory paths (cont.)

• If the current directory is his home directory (/home/cheung), then he can use a shorter form by using a relative directory path

• Relative directory path:

• An relative directory path tells the computer how to find a directory starting from the current (working) directory

• An relative directory path a particular directory x consists of a list of directory names starting from the current directory to the directory x

• A relative path does not start with the "/" symbol

(If a path starts with a "/" symbol, it is assumed to be an absolute directory path)

• The list of directory names is separated by the "/" symbol

Page 42: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Concept: Relative directory paths (cont.)

• Example:

• Suppose that current directory = /home/cheung

• I want to list the content of the directory /home/cheung/cs170

• Starting from /home/cheung, the relative path to the directory /home/cheung/cs170 is:

We need to add the blue part (/cs170) to get to the target directory

So we use this command to list the cs170 directory:

/home/cheung/cs170

ls cs170

Page 43: Interacting with a UNIX computer in the MathCS Lab:  Listing the content of directories

Concept: Relative directory paths (cont.)

• Actual execution: