CST8177 - Lab 2 Review #1

Student Name

Student number

Section




Objectives

Lab Outcome

Additional Notes

In-Lab Demo: Display the home directories for root and any other user using both absolute and relative path from yet another user's home directory.

Exercise #1: Working with relative and absolute path

Answer the questions below based on the following directory structure:

/

/etc

/root

/home

/home/andrew

/home/andrew/department

/home/andrew/department/chair

Your current location in the directory structure is the root (/) directory, and you are logged in as regular user andrew.

Record the absolute path for chair:

[andrew @college /] $ __________________________________________

Record the relative path for the file chair:

[andrew @college /] $ __________________________________________

Given the prompt below, identify the result of the command

[andrew @college home] $ cd ~

________________________________________________________________

What command do you need to use to see andrew's present working directory?

[andrew @college /] $ __________________________________________

Record the result of that command:

________________________________________________________________

Log in again as root with the current directory as /home/andrew

Record the relative path to the root account's home directory:

[root @college andrew] # _______________________________________________

Record the relative path to andrew's home directory:

[root @college home] # _________________________________________________

Record the absolute path to andrew's home directory:

[root @college home] # _________________________________________________

Note: Linux is designed for multi-user, multi-tasking, network-based operation, so a user's home directory is typically more important to a user than the system's root or other system directories.

Exercise #2: Working with standard commands

Log in as root. Create two a user accounts, user1 and user2.

Log in as user1. Record the command prompt below by filling in the three blank fields:

[__________(1)____________@localhost__________(2)______________]__(3)__

What does each entry refer to?

  1. ________________________________________________________________________

  2. ________________________________________________________________________

  3. ________________________________________________________________________

Create a directory named temp.

[user1 @localhost ~] $ ______________________________________

List the directory entry, including all file attributes and the inode number, to confirm the creation of temp

[user1 @localhost ~] $ ______________________________(command)

______________________________________________________________

______________________________________________________________

List all attributes shown above(there are eight fields of which one is the date/time; count the first letter of the permissions as a separate attribute) and briefly define each:

  1. ________________________________________________________________________

  2. ________________________________________________________________________

  3. ________________________________________________________________________

  4. ________________________________________________________________________

  5. ________________________________________________________________________

  6. ________________________________________________________________________

  7. ________________________________________________________________________

  8. ________________________________________________________________________

  9. ________________________________________________________________________

Change ownership of the directory temp to user2

[user1 @localhost ~] $ _______________________________________

What is the result? _______________________________________________

Change the permissions of temp to allow others no access, the group members no write access and full access for the owner:

Change the permissions using absolute (octal) mode

[user1 @localhost ~] $ _______________________________________

Show the change the permissions again, using symbolic mode

[user1 @localhost ~] $ _______________________________________

Create an empty file file in the temp directory

[user1 @localhost ~] $ _______________________________________

Rename file to empty-file

[user1 @localhost ~] $ _______________________________________



Delete the directory temp and the file empty-file in a single command (no semicolon)

[user1 @localhost ~] $ _______________________________________

Switch to user2

[user1 @localhost ~] $ _______________________________________

Record the command prompt:

[ _________________________ @ hostname ___________________________ ] _______

Switch to root., changing to root's environment:

[user1 @localhost ~] $ ______________________________________

Record the command prompt again:

[ ________________________ @ hostname __________________________ ] ______

Exercise #3: Switching logon id – the su command

Switch to user1., then run these command, displaying both the command and its output.

The whoami command tells you the userid you are logged in as; try it.

[user1 @localhost ~] $ _______________________________________

______________________________________________________________

The id command also gives you uid and gid numbers, and group memberships

[user1 @localhost ~] $ _______________________________________

______________________________________________________________

The environment variable for your path is PATH. Display it (write down only the beginning and end if it's too long for this space):

[user1 @localhost ~] $ _________________________________________________

______________________________________________________________

Switch to root, changing to root's environment. Repeat the three commands above:

whoami: _______________________________________________________

id: __________________________________________________________

$PATH: ________________________________________________________

Use the exit command or a Control-D (^D; end-of-file for stdin) and whoami again:

whoami: ________________________________________________________________

Exercise #4: Executing commands

Log in as user1.

To view the directories that Linux searches when looking for a command

[user1 @localhost ~] $ echo $PATH

Record the path: ______________________________________________________________

_____________________________________________________________________________

[ user1 @localhost ~] $ whereis ls

_____________________________________________________________________________

[user1 @localhost ~] $ ls

_____________________________________________________________________________

Does this command execute? Why?

Record your answer: ___________________________________________________________

[user1 @localhost ~] $ grcat

_____________________________________________________________________________

Does this command execute? Why?

Record your answer: ___________________________________________________________

[user1 @localhost ~] $ /usr/libexec/awk/grcat

_____________________________________________________________________________

Does this command execute? Why?

Record your answer: __________________________________________________________

Record the result of the last command in this sequence:

[user1 @localhost ~] $ echo $PATH

[user1 @localhost ~] $ PATH=

[user1 @localhost ~] $ echo $PATH

_____________________________________________________________________________

[user1 @localhost ~] $ ls

_____________________________________________________________________________



Does this command execute? Why?

Record your answer: ___________________________________________________________

[user1 @localhost ~] $ /bin/ls

_____________________________________________________________________________

Does this command execute? Why?

Record your answer: ___________________________________________________________

Terminate this shell, since its PATH is damaged; use ^D or:

[user1 @localhost ~] $ exit

Login with your user1 id. This will reset your PATH to the default settings, but check:

[user1 @localhost ~] $ echo $PATH

Copy the (binary) file /bin/pwd to your home directory and name it mypwd.

[user1 @localhost ~] $ _______________________________________

Now run the pwd copy from your home directory:

[user1 @localhost ~] $ mypwd

_____________________________________________________________________________

Does this command execute? Why?

Record your answer: ___________________________________________________________

Run the pwd copy from your home directory again, but this time specify the path ./:

[user1 @localhost ~] $ ./mypwd

_____________________________________________________________________________

Does this command execute? Why?

Record your answer: ___________________________________________________________

Delete the pwd copy from your directory:

[user1 @localhost ~] $ ___________________________________________