Difference between revisions of "CSC220 Lab 1 2010"

From dftwiki3
Jump to: navigation, search
(Login)
(Pipes)
Line 105: Line 105:
  
 
;Question 1
 
;Question 1
: How many users have accounts on grendel (or beowulf)?
+
: How many users have accounts on grendel (or beowulf)? (''Hints: use ls and wc and a pipe'')
  
  
 
;Question 2
 
;Question 2
: Who are the three users who have modified their account most recently?
+
: Who are the three users who have modified their account most recently? (''Hints: remember the -ltr switches for ls, and pipe the output to the appropriate command that will give you only three lines'')
  
  
Line 117: Line 117:
  
 
;Question 4
 
;Question 4
:Who are the users who have modified their account today?
+
:Who are the users who have modified their account today? (''Hints: today is a unique character pattern... "Sep  7" '')
  
 
=More challenging pipes=
 
=More challenging pipes=

Revision as of 10:10, 8 September 2010


You can work in pairs on this lab if you wish. Otherwise work individually.

Login

  • Login to a Linux box around you using your CSC220a account.
  • edit the file .bashrc that should already be in your directory:
 emacs -nw .bashrc
  • add the following two lines at the end of the file:


PS1='[\h]\n[\t] \w\$: '
PS2='> '
  • Save the file.
  • By default, the shell into which you start is the tcsh. Switch to bash by typing the following command at the prompt:
 bash
  • Verify that your prompt has changed and looks something like this:
[beowulf]
[09:52:24] ~$:
  • You are now ready to explore bash commands...

Path-Related Questions

Question 1
What is the path of your account? In other words, what subdirectories does one have to traverse to reach your account.


Question 2
What other subdirectories are at the same height as yours in the directory tree?


You will notice that all user accounts are in a major directory called Users. The old standard for users on a linux system is to have the users in a directory called home in the root directory.


Question 3
You will notice that some user accounts still exist in home. Which are they?

Questions about File-Searching

With Linux, the name of the printers supported are listed in a file called /etc/printcap. Look at its contents.


Question 1
Figure out a way to get only the entries from this file that represent printers that are in Ford Hall.

Filtering Log Files

Open a browser window and load up the following URL: http://maven.smith.edu/~hadoop/log.txt
Notice that it is a long log of the output of a research program I have been running recently. It is very long and contains a lot of information: some useful, some not.
You are going to get a copy of this file into your account. Instead of copying and pasting the text into a file, you are going to use a useful utility called wget. Wget is a Linux utility that allows you to grab Web pages from Web sites, without using a browser.
Try it:
 wget http://maven.smith.edu/~hadoop/log.txt
Check that the file is in your directory


Question 1
How many lines of text does the file contain?


Question 2
The second question is to list only the lines that list the real execution time. These lines look like this:
real	23m6.777s


Go ahead, list the real execution times. What is the shortest time recorded? The longest?
Question 3
List not only the real execution times, but also the lines of the form:
processing noTasks = 17240  maxNoTasks = 8,  splitSize = 33554432L
The output should look something like this:


processing noTasks = 862  maxNoTasks = 8  splitSize = 33554432L
real	22m11.284s
processing noTasks = 862  maxNoTasks = 16  splitSize = 33554432L
real	0m13.113s
processing noTasks = 1724  maxNoTasks = 8  splitSize = 33554432L
real	0m10.891s
processing noTasks = 1724  maxNoTasks = 16  splitSize = 33554432L
real	0m40.891s
processing noTasks = 80  maxNoTasks = 8  splitSize = 33554432L
real	2m54.601s

Pipes

Question 1
How many users have accounts on grendel (or beowulf)? (Hints: use ls and wc and a pipe)


Question 2
Who are the three users who have modified their account most recently? (Hints: remember the -ltr switches for ls, and pipe the output to the appropriate command that will give you only three lines)


Question 3
Same question, but the three who haven't modified (or touched) their account for the longest time?


Question 4
Who are the users who have modified their account today? (Hints: today is a unique character pattern... "Sep 7" )

More challenging pipes

  • Use emacs to create the following program in your 220a account: stdouterr.py
  • Make your program executable
chmod +x stdouterr.py
  • run your program
./stdouterr.py


observe the long output. If you observe closely the listing, you will discover that some lines contain error codes, of the form
Error 404: blue screen alert!
Question 1
run the program and filter its output so that you see only the lines containing error messages


Question 2 (tricky)
How many lines are output by the program?


Question 3 (trickier)
run the program and use commands that will display only the number of Error messages