Unix as a Platform Exercises + Solutions. Course Code: OS 01 UNXPLAT

Size: px
Start display at page:

Download "Unix as a Platform Exercises + Solutions. Course Code: OS 01 UNXPLAT"

Transcription

1 Unix as a Platform Exercises + Solutions Course Code: OS 01 UNXPLAT

2 Working with Unix Most if not all of these will require some investigation in the man pages. That's the idea, to get them used to looking things up for the detail. I don't remember all the detail myself cos it's not worth it ; ) 1. Use the on line manual page to determine the option for cat, which causes non printable characters to be displayed. Run the command against /bin/ls (the program file for the ls command). cat v 2. Use the date command to display only the current 'day of the year'. (For example, 201). date +'%j' 3. Perform a keyword search to find all calendar commands. Using the simple calendar program, display the calendar for September man k calendar Requires the index to have been set up sometimes it isn't, don't worry if that's the case we can't do it cos it needs root access. Get them to just look at the cal command. Sept 1752 is when the calendars changed and makes for interesting reading 4. What is the difference between the 'who am i' and 'whoami' commands? 'whoami' is a single command, no args. 'who am I' is a special usage of the who command, two args 'am' and 'i'. The effect is the same although the output will look different. 5. Use a suitable command to count the number of lines in /etc/passwd and output the number. Notice that the command also outputs the name of the file, ie: 10 /etc/passwd Can you change your command so that only the number is output? cat /etc/passwd wc l. Using the pipeline has wc reading from its std input stream, it is unaware of the file that has been redirected, so cannot print its name. Page 2 of 20

3 The Unix File System 1. List the content of all directories beginning with 'p' in all subdirectories of /etc using a single ls command. ls /etc/p*. This gives files beginning with p in /etc as well, but it's fine like this. 2. Investigate the p option on mkdir. Using this, create a directory structure for which the following operations (if executed in sequence) would be valid: cd one/two/three cd../../four cd.././five Remove the above structure using the rf options on rm. This is just following the instructions 3. Display the i node numbers of all files in the root directory. From the output of ls l how many names does /usr have? What does this indicate? ls i /. Check the link count for /usr (the number to the right of the permissions). There is one link for the name, one for. and one for each subdirectory. So the number can be used to calculate the number of subdirectories of /usr. 4. Create two subdirectories, foo and bar. In the first create a file using touch. Use ls l to determine how many names it has. Create a second name to the same file in foo, and then a third name to the file in bar. Verify that all three names refer to the same file by checking their i node numbers. Place data into the file using one of its names (redirect the output of some command to it), and cat the file using a different name. Delete the file using its first name. Are the other names still around? What does this tell you about the delete command? rm simply removes directory entry. The file doesn't go until all directory entries (links) are removed. Perform the same set of experiments using symbolic links for the second two files. Why is the behavior so different? Page 3 of 20

4 Symbolic links are separate entities. The link has its own inode number. If you remove the file, then try and through the symbolic link it will fail. The link is there but the file it points two has gone access it Page 4 of 20

5 Filters and Working with Files 1. Use cat, head and tail to output lines 5 through 7 of /etc/passwd with each line preceded with its line number. cat n /etc/passwd head 7 tail Display all but the first 5 lines of /etc/passwd. Display only the last 20 lines of /etc/termcap. tail +6 /etc/passwd tail 20 /etc/termcap 3. Sort the files in root (/) in the following ways (one at a time!). alpha numerically by file name numerically by file size on the second character of the user name. ls l / sort k9, ls l / sort +8 may work too, depending on which version of Unix/Linux ls l / sort n k5, or ls l sort +4n. Use r flag for reverse order. Use <field.char> for position or key ls l / sort k Cut the permission bits from the output of ls and display only the permissions (no file type or any other stuff). Paste the permissions together so that they appear in four columns. (Ensure that the line containing 'total' is not part of the output!) ls l / tail +2 cut d ' ' f1 paste Use tail +2 to remove the 'total' line, paste takes to mean stdin 5. List the files in the current directory twice (using one ls command ), and using sort and uniq remove the duplicates. List the files in /etc, cut the first 4 characters, and use uniq count duplicates. ls * * sort uniq ls /etc cut c1 4 sort uniq 6. In the exercise directory is a file called foo. Compare the contents of the file as seen using cat with that seen using an ascii dump. Which characters were invisible to cat? Can cat be persuaded to print them? od c for ascii dump cat v to show non printing chars 7. Investigate the command tr using the online manual. Page 5 of 20

6 Use tr, uniq, sort and head to analyze the file text and output a list of the ten most popular words in the file. The list should be organized with most popular first and be printed with a count of occurrences. cat text tr cs [:alpha:] '\012' sort uniq c sort nr head 10 First step with tr translates all non alpha characters into newline. The ' s' option squeezes adjacent newlines into one. This way we get all words on separate lines and is the key step in the whole solution. tr only reads it stdin so we need to redirect from the source file or cat through a pipe as shown here. Then we sort, and use uniq c to count adjacent identical lines. This gives us output with a number (of occurrences) and the word. Then sort this numerically (it used the first field by default) into reverse (descending) order and print the top 10. Page 6 of 20

7 Permissions 1. Use ls to examine the access permissions of the files and directories in your home directory. What are the permissions for the home directory itself? Should just explore. The home dir must be read/write/execute for owner, may or may not have further permissions for other users. 2. Create a file called permfile in your unix directory. Use chmod with a numeric argument to change the access permissions of your files as follows: README rw rw rw gen r r r pubs rwxrwxrwx permfile Verify that these permissions are correct using ls.sort the files in root (/) in the following ways (one at a time!). chmod 0 README chmod 666 gen chmod 444 pubs chmod 777 permfile 3. What happens when you attempt to cat README? What happens when you attempt to execute the program gen? Should see permission denied. 4. Use the chmod command with a symbolic argument to enable only the owner of README to read the contents and to enable any user to execute gen. Verify these changes, and then remember to kill gen if it is running in the background. chmod u+r README chmod a+x gen (or chmod +x gen) 5. Create a new directory and file called 'adir' and 'afile' and examine their default permissions. Determine the current value of the umask. How does umask relate to the permissions and why are files different to directories? Should have covered this in class. Umask determines which permissions are disabled when a file/dir is created. Directories have x bit on by default (for search). Files have it off by default. Page 7 of 20

8 6. Change the value in umask so that read permission is not granted by default to all users. Create some files and use ls to verify that the file permissions are correct. The umask must have the user read bit on, say umask 004 or 006 (if you don't want global write on files either). Page 8 of 20

9 Editors These are more or less "play" exercises. The clues are explicitly in the notes. 1. Use ed to create a new file containing a few lines. Write the file and quit. 2. Use ed to edit IChing. Add three lines to the file: one before the first line, one in the middle and one after the last. Save the result in hack. 3. Use ed to edit README. Substitute all occurrences of the for THE (including multiple occurrences per line). Quit the editor without saving the changes. 4. Use ed to edit README. Delete all lines that end with a full stop. Copy the first 10 lines to the end of the file. Save the changes in README3. 5. Apply the edits suggested for ed to README and IChing using vi. Page 9 of 20

10 The Shell 1. Type * and press return. What happened? Try typing echo * and see what happens. Interesting one. Shell expands * and then tries to interpret the resulting set of strings as a command. So the first file in the list becomes the "command" and the rest the args to the command. Results can be unpredictable!!! (For example of there is a file 'ls' in the directory and it comes out first, all will be well! imagine if you had a file called rm!!) 2. Use the touch command once to create five files with the following filenames: Hello World t $MYFILE \file\.one. List each of these files to make sure that they are all there, both as a group, and individually. Delete each of the files individually. An exercise in quoting etc rm "Hello World" (single quotes work too, as does \ in front of the space) rm t ( Key here is to get rm not to try and use t as an option. No amount of quoting will work, since the shell doesn't interpret the options to the commands. rm '$MYFILE' or rm \$MYFILE (Double quotes do not suppress $ expansion so cannot be used here) rm '\file\' (Double quotes don't suppress the \ at the end of the name) rm.one. (No quoting required here, although ls won't show the name since it begins with a.) 3. Attempt to cat two files, one that does exist and one that does not. Next, redirect the valid output to a file called 'data' and any error messages to a file called 'error'. Verify this worked. Finally, redirect both the error and normal output into a pipeline and count the number of lines. cat good bad > data 2>errors cat good bad 2>&1 wc l 4. Create a new shell variable called me, and assign it your name as its value, for example: me="joe Bloggs" Do NOT export the variable. Start a new shell from the command line. You will only need to type the name of the shell, for example: bash What value is contained in the shell variable me now? Should be empty Page 10 of 20

11 Exit the shell that you have just created,. What is the value of the me shell variable now? Should be "Joe Bloggs" Export the variable, and start another shell. What has happened now? Change the value of the variable, and export it again. Exit the child shell. What has happened to the value of the variable in the parent shell? Value is carried into subshell, but changes not reflected in the parent Page 11 of 20

12 Basic Shell Programming 1. Write a shell script with 5 commands in it, such as ls, date, ps, who and a cd command, changing directory to /tmp Make sure that the script has been made executable. After the script has completed, which directory is your shell in? Modify your script so that you can verify that the cd command has taken place The following script will execute these commands in order. Note that the sh bang for your system may be different! #!/usr/bin/ksh # Run the ls command first: ls #Then run the date command: date #Then run the ps command: ps #Finally change directory: cd /tmp To make sure that the script is flagged as executable, run the chmod command on the file : $ chmod +x script_name To prove that your script did indeed change directory, you can simply add the pwd command after the cd /tmp command. The output will correctly how that the current directory for the shell script is now /tmp. Page 12 of 20

13 2. Write a script called integer.sh so that it will handle 2 variables. Each of these variables will be numbers. The output of the script should show the results of each of the integer arithmetic operations when applied to the variables that you have supplied on the command line, for example, for a script called integer: $./integer.sh = = 5 10 * 5 = / 5 = 2 What happens if you do not type in numeric values? The following script will provide the basic functionality: #!/usr/bin/ksh first=$1 second=$2 echo "$first + $second = $((first + second))" echo "$first $second = $((first second))" echo "$first * $second = $((first * second))" echo "$first / $second = $((first / second))" Assuming that this script was called integer.sh, then you can run the script as follows: $./integer.sh 2_ = = 5 10 * 5 = / 5 = 2 Page 13 of 20

14 3. Write a shell script called del.sh, which will accept a filename as a parameter. It must then test whether the file exists. If the file exists, the script should then verify that file could be deleted. If it can be deleted, then the script should delete it. If the file does not exist, or the process does not have the permissions to delete the file, then an appropriate message should be given to the user.. For this question, we shall assume that the shell script and the file to be deleted (when it exists) are in the same directory. Create the following shell script in a new directory, without the file existing: if [! e $1 ] then echo "$1 is not a valid filename..." elif [! w./ ] then echo "You cannot delete $1..." else rm $1 fi Run the script. It will fail because the file doesn t exist. Then simply touch the file (creating an empty file), and remove your write permissions to the directory that contains the file. Remember, the ability to remove a file is determined by whether you have write permissions for the directory in which the file is kept. The script will now pass the first test, but fail on the second. Add the permissions back onto the directory, and run the script again. This time, the file will be deleted. Page 14 of 20

15 4. Write a shell script that will inspect a file, which is to be specified as a parameter to the script. The script should print the file name, and then details about the file, where only the tests on the file prove successful. Example output may be: file1: is readable is writeable is executable is a symbolic link The following shell script will perform these tasks, and can be used as a basis for tests in other scripts: #!/usr/bin/ksh echo "$1:" # Firstly, lets do things the long way if [ e $1 ] then echo "exists" fi if [ r $1 ] then echo "is readable" fi # Or, we can use the shorthand version: if [ d $1 ] ; then echo "is a directory" ; fi if [ w $1 ] ; then echo "is writeable" ; fi if [ x $1 ] ; then echo "is executable" ; fi if [ h $1 ] ; then echo "is a symbolic link" ; fi if [ s $1 ] ; then echo "has a size greater than zero" ; fi Page 15 of 20

16 5. Rewrite your answer to Question 4, so that instead of passing the file name as a parameter into the script, the user is prompted to enter a filename, which is then read by the script.. Add call to "read" command, instead of looking at the parameter #!/usr/bin/ksh echo "Enter a directory name to test: \c" read directory echo echo echo "$directory:" if [ e $directory a d $directory ] then if [ e $directory ] ; then echo "exists" ; fi if [ r $directory ] ; then echo "is readable" ; fi if [ w $directory ] ; then echo "is writeable" ; fi if [ x $directory ] ; then echo "is executable" ; fi if [ h $directory ] ; then echo "is really a symbolic link" ; fi else echo "$directory is not a directory!" fi Page 16 of 20

17 Power Tools sed and awk 1. Generate a long listing of the /bin directory. Use sed to process the output from the listing as follows: Display the top 10 files in terms of the file size. Generate output in the following formats: Ordered by file size, for example: afile bigfile another alastfile Ordered by file name, for example: afile alastfile 3456 another bigfile Perform all of these tasks without using any intermediate files Starting to get a bit more challenging now, will require them to have grasped Regular Expressions etc and not be scared of some heavy syntax To do this, generate a long listing of the /etc directory, then use sed to split up the lines and keep the relevant fields. Then pass the result through the sort command, using the r (reverse order) and n (numeric sort) options. This will give us the files ordered by file size. Next, pass the result through the head command, which by default keeps the first 10 records. Lastly, use sed to reverse the order of the fields (The output below is split at each of the pipe ( ) characters, but just put everything on one line at the command prompt): $ ls l /etc sed 's/^.\{10\} *[0 9]\{1,\} *[a z]\{1,\} *[a z]\{1,\} *\([0 9]\{1,\}\) *[A Za z]\{1,\} *[0 9]\{1,\} *[0 9:]\{1,\} \([A Za z0 9_]\{1,\}\).*/\1 \2/' sort rn The numbers \1 and \2 can be used to reuse expressions found earlier in the line identified using brackets. So \1 references the first bracketed expression and \2 references the second one. Or you can use this: ls l sed n s/ \+/ / gp cut d f5,9 sort nr head Page 17 of 20

18 2. Repeat question 1, using awk instead of sed. Awk actually makes this much much easier For the first part, to obtain everything listed in order of file size: $ ls l /usr/bin nawk '{print $5,$9}' sort rn head nawk '{print $2 "\t" $1}' To get the listing in alphabetical order of the file name, just pass the previous result through sort again: $ ls l /usr/bin nawk '{print $5,$9}' sort rn head nawk '{print $2 "\t" $1}' sort Page 18 of 20

19 Advanced Shell Programming 1. Write a shell script, which will behave as a text based file manager. The script should provide the user with a list of options, including a quit option to be able to exit from the script. Options that the script may provide include: Listing the files in the current directory if the file list is longer than one screen full, the user should able to view the list of file names one screen at a time. The user should also be able to do a long listing of the files in the directory (perhaps by using a sub menu screen). Change to another directory. Create new files in the current directory. Delete files in the current directory. Edit a file in the current directory (but only if it is a regular file). Move files from one directory to another. Any other applicable operations. No error messages from STDERR should be displayed to the user; all events and appropriate files should be tested before they are executed. Make use of the clear command to blank and reset the terminal window before printing anything out, such as the menu screen. There should always be a line somewhere on the menu, which informs the user as to which is the current directory. Try and utilize functions where possible. The following script provides minimal functionality. We have included code to test for directory existence and readability for one of the options. These types of test should be always be included wherever appropriate: #!/usr/bin/ksh while true do clear echo "********************************" echo "***** Select A Menu Option *****" echo "********************************" echo echo "Choose from the following list:" echo echo "1 List files in the current directory" echo "2 Change to another directory" echo "3 Create a new file" echo "4 Delete a file" Page 19 of 20

20 done echo "5 Edit a file" echo "6 Move a file" echo "7 Quit" echo echo "The current directory is: `pwd`" echo echo "Enter option: \c" read option echo case "$option" in 1) ls C more echo echo "Press the Enter key to continue..\c" read anykey;; 2) echo Enter the directory to change to: \c read newdir if [ e $newdir a r $newdir ] then cd $newdir else echo "This directory is not accessible" echo "Check that it exists, or \c" echo "you have read permissions..." echo "Press the Enter key to continue..\c" read anykey fi;; 3) echo Enter the name of the file to be created: \c read newfile touch $newfile;; 4) echo Enter the name of the file(s) to delete: \c read rmfile rm $rmfile ;; 5) echo Enter the name of the file(s) to edit: \c read vifile vi $vifile ;; 6) echo Enter the name of the file(s) to move: \c read mvfile echo Enter the destination directory: \c read mvdir mv $mvfile $mvdir ;; 7) exit;; esac Page 20 of 20

Unix as a Platform Exercises. Course Code: OS-01-UNXPLAT

Unix as a Platform Exercises. Course Code: OS-01-UNXPLAT Unix as a Platform Exercises Course Code: OS-01-UNXPLAT Working with Unix 1. Use the on-line manual page to determine the option for cat, which causes nonprintable characters to be displayed. Run the command

More information

Table of contents. Our goal. Notes. Notes. Notes. Summer June 29, Our goal is to see how we can use Unix as a tool for developing programs

Table of contents. Our goal. Notes. Notes. Notes. Summer June 29, Our goal is to see how we can use Unix as a tool for developing programs Summer 2010 Department of Computer Science and Engineering York University Toronto June 29, 2010 1 / 36 Table of contents 1 2 3 4 2 / 36 Our goal Our goal is to see how we can use Unix as a tool for developing

More information

A shell can be used in one of two ways:

A shell can be used in one of two ways: Shell Scripting 1 A shell can be used in one of two ways: A command interpreter, used interactively A programming language, to write shell scripts (your own custom commands) 2 If we have a set of commands

More information

A Big Step. Shell Scripts, I/O Redirection, Ownership and Permission Concepts, and Binary Numbers

A Big Step. Shell Scripts, I/O Redirection, Ownership and Permission Concepts, and Binary Numbers A Big Step Shell Scripts, I/O Redirection, Ownership and Permission Concepts, and Binary Numbers Copyright 2006 2009 Stewart Weiss What a shell really does Here is the scoop on shells. A shell is a program

More information

Scripting. Shell Scripts, I/O Redirection, Ownership and Permission Concepts, and Binary Numbers

Scripting. Shell Scripts, I/O Redirection, Ownership and Permission Concepts, and Binary Numbers Scripting Shell Scripts, I/O Redirection, Ownership and Permission Concepts, and Binary Numbers Adapted from Practical Unix and Programming Hunter College Copyright 2006 2009 Stewart Weiss What a shell

More information

Getting your department account

Getting your department account 02/11/2013 11:35 AM Getting your department account The instructions are at Creating a CS account 02/11/2013 11:36 AM Getting help Vijay Adusumalli will be in the CS majors lab in the basement of the Love

More information

Essentials for Scientific Computing: Bash Shell Scripting Day 3

Essentials for Scientific Computing: Bash Shell Scripting Day 3 Essentials for Scientific Computing: Bash Shell Scripting Day 3 Ershaad Ahamed TUE-CMS, JNCASR May 2012 1 Introduction In the previous sessions, you have been using basic commands in the shell. The bash

More information

Files

Files http://www.cs.fsu.edu/~langley/cop3353-2013-1/reveal.js-2013-02-11/02.html?print-pdf 02/11/2013 10:55 AM Files A normal "flat" file is a collection of information. It's usually stored somewhere reasonably

More information

Introduction to UNIX. Logging in. Basic System Architecture 10/7/10. most systems have graphical login on Linux machines

Introduction to UNIX. Logging in. Basic System Architecture 10/7/10. most systems have graphical login on Linux machines Introduction to UNIX Logging in Basic system architecture Getting help Intro to shell (tcsh) Basic UNIX File Maintenance Intro to emacs I/O Redirection Shell scripts Logging in most systems have graphical

More information

Useful Unix Commands Cheat Sheet

Useful Unix Commands Cheat Sheet Useful Unix Commands Cheat Sheet The Chinese University of Hong Kong SIGSC Training (Fall 2016) FILE AND DIRECTORY pwd Return path to current directory. ls List directories and files here. ls dir List

More information

Introduction To. Barry Grant

Introduction To. Barry Grant Introduction To Barry Grant bjgrant@umich.edu http://thegrantlab.org Working with Unix How do we actually use Unix? Inspecting text files less - visualize a text file: use arrow keys page down/page up

More information

QUESTION BANK ON UNIX & SHELL PROGRAMMING-502 (CORE PAPER-2)

QUESTION BANK ON UNIX & SHELL PROGRAMMING-502 (CORE PAPER-2) BANK ON & SHELL PROGRAMMING-502 (CORE PAPER-2) TOPIC 1: VI-EDITOR MARKS YEAR 1. Explain set command of vi editor 2 2011oct 2. Explain the modes of vi editor. 7 2013mar/ 2013 oct 3. Explain vi editor 5

More information

Shell Scripting. Todd Kelley CST8207 Todd Kelley 1

Shell Scripting. Todd Kelley CST8207 Todd Kelley 1 Shell Scripting Todd Kelley kelleyt@algonquincollege.com CST8207 Todd Kelley 1 If we have a set of commands that we want to run on a regular basis, we could write a script A script acts as a Linux command,

More information

Exploring UNIX: Session 3

Exploring UNIX: Session 3 Exploring UNIX: Session 3 UNIX file system permissions UNIX is a multi user operating system. This means several users can be logged in simultaneously. For obvious reasons UNIX makes sure users cannot

More information

Chapter 4. Unix Tutorial. Unix Shell

Chapter 4. Unix Tutorial. Unix Shell Chapter 4 Unix Tutorial Users and applications interact with hardware through an operating system (OS). Unix is a very basic operating system in that it has just the essentials. Many operating systems,

More information

Unix Introduction to UNIX

Unix Introduction to UNIX Unix Introduction to UNIX Get Started Introduction The UNIX operating system Set of programs that act as a link between the computer and the user. Developed in 1969 by a group of AT&T employees Various

More information

Unix/Linux Basics. Cpt S 223, Fall 2007 Copyright: Washington State University

Unix/Linux Basics. Cpt S 223, Fall 2007 Copyright: Washington State University Unix/Linux Basics 1 Some basics to remember Everything is case sensitive Eg., you can have two different files of the same name but different case in the same folder Console-driven (same as terminal )

More information

2) clear :- It clears the terminal screen. Syntax :- clear

2) clear :- It clears the terminal screen. Syntax :- clear 1) cal :- Displays a calendar Syntax:- cal [options] [ month ] [year] cal displays a simple calendar. If arguments are not specified, the current month is displayed. In addition to cal, the ncal command

More information

Linux Shell Script. J. K. Mandal

Linux Shell Script. J. K. Mandal Linux Shell Script J. K. Mandal Professor, Department of Computer Science & Engineering, Faculty of Engineering, Technology & Management University of Kalyani Kalyani, Nadia, West Bengal E-mail: jkmandal@klyuniv.ac.in,

More information

A Brief Introduction to the Linux Shell for Data Science

A Brief Introduction to the Linux Shell for Data Science A Brief Introduction to the Linux Shell for Data Science Aris Anagnostopoulos 1 Introduction Here we will see a brief introduction of the Linux command line or shell as it is called. Linux is a Unix-like

More information

Introduction p. 1 Who Should Read This Book? p. 1 What You Need to Know Before Reading This Book p. 2 How This Book Is Organized p.

Introduction p. 1 Who Should Read This Book? p. 1 What You Need to Know Before Reading This Book p. 2 How This Book Is Organized p. Introduction p. 1 Who Should Read This Book? p. 1 What You Need to Know Before Reading This Book p. 2 How This Book Is Organized p. 2 Conventions Used in This Book p. 2 Introduction to UNIX p. 5 An Overview

More information

CSE 303 Lecture 2. Introduction to bash shell. read Linux Pocket Guide pp , 58-59, 60, 65-70, 71-72, 77-80

CSE 303 Lecture 2. Introduction to bash shell. read Linux Pocket Guide pp , 58-59, 60, 65-70, 71-72, 77-80 CSE 303 Lecture 2 Introduction to bash shell read Linux Pocket Guide pp. 37-46, 58-59, 60, 65-70, 71-72, 77-80 slides created by Marty Stepp http://www.cs.washington.edu/303/ 1 Unix file system structure

More information

UNIX System Programming Lecture 3: BASH Programming

UNIX System Programming Lecture 3: BASH Programming UNIX System Programming Outline Filesystems Redirection Shell Programming Reference BLP: Chapter 2 BFAQ: Bash FAQ BMAN: Bash man page BPRI: Bash Programming Introduction BABS: Advanced Bash Scripting Guide

More information

Contents. Note: pay attention to where you are. Note: Plaintext version. Note: pay attention to where you are... 1 Note: Plaintext version...

Contents. Note: pay attention to where you are. Note: Plaintext version. Note: pay attention to where you are... 1 Note: Plaintext version... Contents Note: pay attention to where you are........................................... 1 Note: Plaintext version................................................... 1 Hello World of the Bash shell 2 Accessing

More information

Crash Course in Unix. For more info check out the Unix man pages -orhttp://www.cs.rpi.edu/~hollingd/unix. -or- Unix in a Nutshell (an O Reilly book).

Crash Course in Unix. For more info check out the Unix man pages -orhttp://www.cs.rpi.edu/~hollingd/unix. -or- Unix in a Nutshell (an O Reilly book). Crash Course in Unix For more info check out the Unix man pages -orhttp://www.cs.rpi.edu/~hollingd/unix -or- Unix in a Nutshell (an O Reilly book). 1 Unix Accounts To access a Unix system you need to have

More information

5/20/2007. Touring Essential Programs

5/20/2007. Touring Essential Programs Touring Essential Programs Employing fundamental utilities. Managing input and output. Using special characters in the command-line. Managing user environment. Surveying elements of a functioning system.

More information

Shells and Shell Programming

Shells and Shell Programming Shells and Shell Programming 1 Shells A shell is a command line interpreter that is the interface between the user and the OS. The shell: analyzes each command determines what actions are to be performed

More information

3/8/2017. Unix/Linux Introduction. In this part, we introduce. What does an OS do? Examples

3/8/2017. Unix/Linux Introduction. In this part, we introduce. What does an OS do? Examples EECS2301 Title Unix/Linux Introduction These slides are based on slides by Prof. Wolfgang Stuerzlinger at York University Warning: These notes are not complete, it is a Skelton that will be modified/add-to

More information

9.2 Linux Essentials Exam Objectives

9.2 Linux Essentials Exam Objectives 9.2 Linux Essentials Exam Objectives This chapter will cover the topics for the following Linux Essentials exam objectives: Topic 3: The Power of the Command Line (weight: 10) 3.3: Turning Commands into

More information

The Unix Shell & Shell Scripts

The Unix Shell & Shell Scripts The Unix Shell & Shell Scripts You should do steps 1 to 7 before going to the lab. Use the Linux system you installed in the previous lab. In the lab do step 8, the TA may give you additional exercises

More information

Unix Guide. Meher Krishna Patel. Created on : Octorber, 2017 Last updated : December, More documents are freely available at PythonDSP

Unix Guide. Meher Krishna Patel. Created on : Octorber, 2017 Last updated : December, More documents are freely available at PythonDSP Unix Guide Meher Krishna Patel Created on : Octorber, 2017 Last updated : December, 2017 More documents are freely available at PythonDSP Table of contents Table of contents i 1 Unix commands 1 1.1 Unix

More information

1. What statistic did the wc -l command show? (do man wc to get the answer) A. The number of bytes B. The number of lines C. The number of words

1. What statistic did the wc -l command show? (do man wc to get the answer) A. The number of bytes B. The number of lines C. The number of words More Linux Commands 1 wc The Linux command for acquiring size statistics on a file is wc. This command provides the line count, word count and number of bytes in a file. Open up a terminal, make sure you

More information

CSE 390a Lecture 2. Exploring Shell Commands, Streams, and Redirection

CSE 390a Lecture 2. Exploring Shell Commands, Streams, and Redirection 1 CSE 390a Lecture 2 Exploring Shell Commands, Streams, and Redirection slides created by Marty Stepp, modified by Jessica Miller & Ruth Anderson http://www.cs.washington.edu/390a/ 2 Lecture summary Unix

More information

CSC209H Lecture 1. Dan Zingaro. January 7, 2015

CSC209H Lecture 1. Dan Zingaro. January 7, 2015 CSC209H Lecture 1 Dan Zingaro January 7, 2015 Welcome! Welcome to CSC209 Comments or questions during class? Let me know! Topics: shell and Unix, pipes and filters, C programming, processes, system calls,

More information

Files and Directories

Files and Directories CSCI 2132: Software Development Files and Directories Norbert Zeh Faculty of Computer Science Dalhousie University Winter 2019 Files and Directories Much of the operation of Unix and programs running on

More information

Basic Linux (Bash) Commands

Basic Linux (Bash) Commands Basic Linux (Bash) Commands Hint: Run commands in the emacs shell (emacs -nw, then M-x shell) instead of the terminal. It eases searching for and revising commands and navigating and copying-and-pasting

More information

Shells and Shell Programming

Shells and Shell Programming Shells and Shell Programming Shells A shell is a command line interpreter that is the interface between the user and the OS. The shell: analyzes each command determines what actions are to be performed

More information

CSE 390a Lecture 2. Exploring Shell Commands, Streams, Redirection, and Processes

CSE 390a Lecture 2. Exploring Shell Commands, Streams, Redirection, and Processes CSE 390a Lecture 2 Exploring Shell Commands, Streams, Redirection, and Processes slides created by Marty Stepp, modified by Jessica Miller & Ruth Anderson http://www.cs.washington.edu/390a/ 1 2 Lecture

More information

Linux & Shell Programming 2014

Linux & Shell Programming 2014 Practical No : 1 Enrollment No: Group : A Practical Problem Write a date command to display date in following format: (Consider current date as 4 th January 2014) 1. dd/mm/yy hh:mm:ss 2. Today's date is:

More information

d. Permissions 600 on directory dir and 300 on file dir/foo. c. Permissions 700 on directory dir and 200 on file dir/foo.

d. Permissions 600 on directory dir and 300 on file dir/foo. c. Permissions 700 on directory dir and 200 on file dir/foo. Ian! D. Allen Winter 2012-1- 45 minutes Test Version: Print Name: Multiple Choice - 42 Questions - 25 of 25% 1. Read all the instructions and both sides (back and front) of all pages. 2. Put the Test Version

More information

Shell. SSE2034: System Software Experiment 3, Fall 2018, Jinkyu Jeong

Shell. SSE2034: System Software Experiment 3, Fall 2018, Jinkyu Jeong Shell Prof. Jinkyu Jeong (Jinkyu@skku.edu) TA -- Minwoo Ahn (minwoo.ahn@csl.skku.edu) TA -- Donghyun Kim (donghyun.kim@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu

More information

CSCI 2132 Software Development. Lecture 4: Files and Directories

CSCI 2132 Software Development. Lecture 4: Files and Directories CSCI 2132 Software Development Lecture 4: Files and Directories Instructor: Vlado Keselj Faculty of Computer Science Dalhousie University 12-Sep-2018 (4) CSCI 2132 1 Previous Lecture Some hardware concepts

More information

Introduction: What is Unix?

Introduction: What is Unix? Introduction Introduction: What is Unix? An operating system Developed at AT&T Bell Labs in the 1960 s Command Line Interpreter GUIs (Window systems) are now available Introduction: Unix vs. Linux Unix

More information

5/8/2012. Exploring Utilities Chapter 5

5/8/2012. Exploring Utilities Chapter 5 Exploring Utilities Chapter 5 Examining the contents of files. Working with the cut and paste feature. Formatting output with the column utility. Searching for lines containing a target string with grep.

More information

Basic Unix Command. It is used to see the manual of the various command. It helps in selecting the correct options

Basic Unix Command. It is used to see the manual of the various command. It helps in selecting the correct options Basic Unix Command The Unix command has the following common pattern command_name options argument(s) Here we are trying to give some of the basic unix command in Unix Information Related man It is used

More information

CS Unix Tools. Lecture 2 Fall Hussam Abu-Libdeh based on slides by David Slater. September 10, 2010

CS Unix Tools. Lecture 2 Fall Hussam Abu-Libdeh based on slides by David Slater. September 10, 2010 Lecture 2 Fall 2010 Hussam Abu-Libdeh based on slides by David Slater September 10, 2010 Last Time We had a brief discussion On The Origin of Species *nix systems Today We roll our sleeves and get our

More information

Unix Tools / Command Line

Unix Tools / Command Line Unix Tools / Command Line An Intro 1 Basic Commands / Utilities I expect you already know most of these: ls list directories common options: -l, -F, -a mkdir, rmdir make or remove a directory mv move/rename

More information

Linux Shell Scripting. Linux System Administration COMP2018 Summer 2017

Linux Shell Scripting. Linux System Administration COMP2018 Summer 2017 Linux Shell Scripting Linux System Administration COMP2018 Summer 2017 What is Scripting? Commands can be given to a computer by entering them into a command interpreter program, commonly called a shell

More information

When talking about how to launch commands and other things that is to be typed into the terminal, the following syntax is used:

When talking about how to launch commands and other things that is to be typed into the terminal, the following syntax is used: Linux Tutorial How to read the examples When talking about how to launch commands and other things that is to be typed into the terminal, the following syntax is used: $ application file.txt

More information

Introduction to Linux

Introduction to Linux Introduction to Linux The command-line interface A command-line interface (CLI) is a type of interface, that is, a way to interact with a computer. Window systems, punched cards or a bunch of dials, buttons

More information

Recap From Last Time:

Recap From Last Time: Recap From Last Time: BGGN 213 Working with UNIX Barry Grant http://thegrantlab.org/bggn213 Motivation: Why we use UNIX for bioinformatics. Modularity, Programmability, Infrastructure, Reliability and

More information

COMP2100/2500 Lecture 17: Shell Programming II

COMP2100/2500 Lecture 17: Shell Programming II [ANU] [DCS] [COMP2100/2500] [Description] [Schedule] [Lectures] [Labs] [Homework] [Assignments] [COMP2500] [Assessment] [PSP] [Java] [Reading] [Help] COMP2100/2500 Lecture 17: Shell Programming II Summary

More information

BGGN 213 Working with UNIX Barry Grant

BGGN 213 Working with UNIX Barry Grant BGGN 213 Working with UNIX Barry Grant http://thegrantlab.org/bggn213 Recap From Last Time: Motivation: Why we use UNIX for bioinformatics. Modularity, Programmability, Infrastructure, Reliability and

More information

Assignment clarifications

Assignment clarifications Assignment clarifications How many errors to print? at most 1 per token. Interpretation of white space in { } treat as a valid extension, involving white space characters. Assignment FAQs have been updated.

More information

More Scripting Techniques Scripting Process Example Script

More Scripting Techniques Scripting Process Example Script More Scripting Techniques Scripting Process Example Script 1 arguments to scripts positional parameters input using read exit status test program, also known as [ if statements error messages 2 case statement

More information

Introduction to Linux

Introduction to Linux Introduction to Linux M Tech CS I 2015-16 Arijit Bishnu Debapriyo Majumdar Sourav Sengupta Mandar Mitra Login, Logout, Change password $ ssh, ssh X secure shell $ ssh www.isical.ac.in $ ssh 192.168 $ logout,

More information

Introduction To Linux. Rob Thomas - ACRC

Introduction To Linux. Rob Thomas - ACRC Introduction To Linux Rob Thomas - ACRC What Is Linux A free Operating System based on UNIX (TM) An operating system originating at Bell Labs. circa 1969 in the USA More of this later... Why Linux? Free

More information

Unix Shell scripting. Dr Alun Moon 7th October Introduction. Notation. Spaces

Unix Shell scripting. Dr Alun Moon 7th October Introduction. Notation. Spaces Unix Shell scripting Dr Alun Moon 7th October 2017 Introduction Shell scripts in Unix are a very powerfull tool, they form much of the standard system as installed. What are these good for? So many file

More information

LOG ON TO LINUX AND LOG OFF

LOG ON TO LINUX AND LOG OFF EXPNO:1A LOG ON TO LINUX AND LOG OFF AIM: To know how to logon to Linux and logoff. PROCEDURE: Logon: To logon to the Linux system, we have to enter the correct username and password details, when asked,

More information

Introduction to Linux

Introduction to Linux Introduction to Linux Mukesh Pund Principal Scientist, NISCAIR, New Delhi, India History In 1969, a team of developers developed a new operating system called Unix which was written using C Linus Torvalds,

More information

I/O and Shell Scripting

I/O and Shell Scripting I/O and Shell Scripting File Descriptors Redirecting Standard Error Shell Scripts Making a Shell Script Executable Specifying Which Shell Will Run a Script Comments in Shell Scripts File Descriptors Resources

More information

Lecture 5. Essential skills for bioinformatics: Unix/Linux

Lecture 5. Essential skills for bioinformatics: Unix/Linux Lecture 5 Essential skills for bioinformatics: Unix/Linux UNIX DATA TOOLS Text processing with awk We have illustrated two ways awk can come in handy: Filtering data using rules that can combine regular

More information

Introduction to remote command line Linux. Research Computing Team University of Birmingham

Introduction to remote command line Linux. Research Computing Team University of Birmingham Introduction to remote command line Linux Research Computing Team University of Birmingham Linux/UNIX/BSD/OSX/what? v All different v UNIX is the oldest, mostly now commercial only in large environments

More information

d. 1 e. test: $a: integer expression expected

d. 1 e. test: $a: integer expression expected 102 M/C Questions -1- PRINT Name: LAB Section: Test Version: 030 One-Answer Multiple Choice 102 Questions Read all the words of these instructions and both sides (back and front) of all pages. Use your

More information

Recap From Last Time: Setup Checklist BGGN 213. Todays Menu. Introduction to UNIX.

Recap From Last Time: Setup Checklist   BGGN 213. Todays Menu. Introduction to UNIX. Recap From Last Time: BGGN 213 Introduction to UNIX Barry Grant http://thegrantlab.org/bggn213 Substitution matrices: Where our alignment match and mis-match scores typically come from Comparing methods:

More information

UNIX files searching, and other interrogation techniques

UNIX files searching, and other interrogation techniques UNIX files searching, and other interrogation techniques Ways to examine the contents of files. How to find files when you don't know how their exact location. Ways of searching files for text patterns.

More information

Introduction to UNIX. Introduction. Processes. ps command. The File System. Directory Structure. UNIX is an operating system (OS).

Introduction to UNIX. Introduction. Processes. ps command. The File System. Directory Structure. UNIX is an operating system (OS). Introduction Introduction to UNIX CSE 2031 Fall 2012 UNIX is an operating system (OS). Our goals: Learn how to use UNIX OS. Use UNIX tools for developing programs/ software, specifically shell programming.

More information

Introduction to UNIX. CSE 2031 Fall November 5, 2012

Introduction to UNIX. CSE 2031 Fall November 5, 2012 Introduction to UNIX CSE 2031 Fall 2012 November 5, 2012 Introduction UNIX is an operating system (OS). Our goals: Learn how to use UNIX OS. Use UNIX tools for developing programs/ software, specifically

More information

Chapter 1 - Introduction. September 8, 2016

Chapter 1 - Introduction. September 8, 2016 Chapter 1 - Introduction September 8, 2016 Introduction Overview of Linux/Unix Shells Commands: built-in, aliases, program invocations, alternation and iteration Finding more information: man, info Help

More information

Appendix B WORKSHOP. SYS-ED/ Computer Education Techniques, Inc.

Appendix B WORKSHOP. SYS-ED/ Computer Education Techniques, Inc. Appendix B WORKSHOP SYS-ED/ Computer Education Techniques, Inc. 1 Introduction There are no workshops for this chapter. The instructor will provide demonstrations and examples. SYS-ED/COMPUTER EDUCATION

More information

UNIX COMMANDS AND SHELLS. UNIX Programming 2015 Fall by Euiseong Seo

UNIX COMMANDS AND SHELLS. UNIX Programming 2015 Fall by Euiseong Seo UNIX COMMANDS AND SHELLS UNIX Programming 2015 Fall by Euiseong Seo What is a Shell? A system program that allows a user to execute Shell functions (internal commands) Other programs (external commands)

More information

Set 1 MCQ Which command is used to sort the lines of data in a file in reverse order A) sort B) sh C) st D) sort -r

Set 1 MCQ Which command is used to sort the lines of data in a file in reverse order A) sort B) sh C) st D) sort -r 1. Which symbol will be used with grep command to match the pattern pat at the beginning of a line? A) ^pat B) $pat C) pat$ D) pat^ 2. Which command is used to sort the lines of data in a file in reverse

More information

Chapter-3. Introduction to Unix: Fundamental Commands

Chapter-3. Introduction to Unix: Fundamental Commands Chapter-3 Introduction to Unix: Fundamental Commands What You Will Learn The fundamental commands of the Unix operating system. Everything told for Unix here is applicable to the Linux operating system

More information

Topic 2: More Shell Skills

Topic 2: More Shell Skills Topic 2: More Shell Skills Sub-topics: 1 quoting 2 shell variables 3 sub-shells 4 simple shell scripts (no ifs or loops yet) 5 bash initialization files 6 I/O redirection & pipes 7 aliases 8 text file

More information

Linux shell scripting Getting started *

Linux shell scripting Getting started * Linux shell scripting Getting started * David Morgan *based on chapter by the same name in Classic Shell Scripting by Robbins and Beebe What s s a script? text file containing commands executed as a unit

More information

commandname flags arguments

commandname flags arguments Unix Review, additional Unix commands CS101, Mock Introduction This handout/lecture reviews some basic UNIX commands that you should know how to use. A more detailed description of this and other commands

More information

ADVANCED LINUX SYSTEM ADMINISTRATION

ADVANCED LINUX SYSTEM ADMINISTRATION Lab Assignment 1 Corresponding to Topic 2, The Command Line L1 Main goals To get used to the command line. To gain basic skills with the system shell. To understand some of the basic tools of system administration.

More information

Using bash. Administrative Shell Scripting COMP2101 Fall 2017

Using bash. Administrative Shell Scripting COMP2101 Fall 2017 Using bash Administrative Shell Scripting COMP2101 Fall 2017 Bash Background Bash was written to replace the Bourne shell The Bourne shell (sh) was not a good candidate for rewrite, so bash was a completely

More information

EECS 2031E. Software Tools Prof. Mokhtar Aboelaze

EECS 2031E. Software Tools Prof. Mokhtar Aboelaze EECS 2031 Software Tools Prof. Mokhtar Aboelaze Footer Text 1 EECS 2031E Instructor: Mokhtar Aboelaze Room 2026 CSEB lastname@cse.yorku.ca x40607 Office hours TTH 12:00-3:00 or by appointment 1 Grading

More information

ITST Searching, Extracting & Archiving Data

ITST Searching, Extracting & Archiving Data ITST 1136 - Searching, Extracting & Archiving Data Name: Step 1 Sign into a Pi UN = pi PW = raspberry Step 2 - Grep - One of the most useful and versatile commands in a Linux terminal environment is the

More information

Linux Essentials. Programming and Data Structures Lab M Tech CS First Year, First Semester

Linux Essentials. Programming and Data Structures Lab M Tech CS First Year, First Semester Linux Essentials Programming and Data Structures Lab M Tech CS First Year, First Semester Adapted from PDS Lab 2014 and 2015 Login, Logout, Password $ ssh mtc16xx@192.168.---.--- $ ssh X mtc16xx@192.168.---.---

More information

Essential Unix and Linux! Perl for Bioinformatics, ! F. Pineda

Essential Unix and Linux! Perl for Bioinformatics, ! F. Pineda Essential Unix and Linux! Perl for Bioinformatics, 140.636! F. Pineda Generic computer architecture Memory Storage Fig. 1.2 From Designing Embedded Hardware, 2 nd Ed. by John Catsoulis OS concepts Shell

More information

CS 25200: Systems Programming. Lecture 10: Shell Scripting in Bash

CS 25200: Systems Programming. Lecture 10: Shell Scripting in Bash CS 25200: Systems Programming Lecture 10: Shell Scripting in Bash Dr. Jef Turkstra 2018 Dr. Jeffrey A. Turkstra 1 Lecture 10 Getting started with Bash Data types Reading and writing Control loops Decision

More information

Week 2 Lecture 3. Unix

Week 2 Lecture 3. Unix Lecture 3 Unix Terminal and Shell 2 Terminal Prompt Command Argument Result 3 Shell Intro A system program that allows a user to execute: shell functions (e.g., ls -la) other programs (e.g., eclipse) shell

More information

Basic UNIX Commands BASIC UNIX COMMANDS. 1. cat command. This command is used to create a file in unix. Syntax: $ cat filename

Basic UNIX Commands BASIC UNIX COMMANDS. 1. cat command. This command is used to create a file in unix. Syntax: $ cat filename Basic UNIX Commands BASIC UNIX COMMANDS 1. cat This is used to create a file in unix. $ cat >filename This is also used for displaying contents in a file. $ cat filename 2. ls It displays the list of files

More information

Computer Systems and Architecture

Computer Systems and Architecture Computer Systems and Architecture Stephen Pauwels Computer Systems Academic Year 2018-2019 Overview of the Semester UNIX Introductie Regular Expressions Scripting Data Representation Integers, Fixed point,

More information

Mills HPC Tutorial Series. Linux Basics I

Mills HPC Tutorial Series. Linux Basics I Mills HPC Tutorial Series Linux Basics I Objectives Command Line Window Anatomy Command Structure Command Examples Help Files and Directories Permissions Wildcards and Home (~) Redirection and Pipe Create

More information

Introduction to the UNIX command line

Introduction to the UNIX command line Introduction to the UNIX command line Steven Abreu Introduction to Computer Science (ICS) Tutorial Jacobs University s.abreu@jacobs-university.de September 19, 2017 Overview What is UNIX? UNIX Shell Commands

More information

: the User (owner) for this file (your cruzid, when you do it) Position: directory flag. read Group.

: the User (owner) for this file (your cruzid, when you do it) Position: directory flag. read Group. CMPS 12L Introduction to Programming Lab Assignment 2 We have three goals in this assignment: to learn about file permissions in Unix, to get a basic introduction to the Andrew File System and it s directory

More information

Perl and R Scripting for Biologists

Perl and R Scripting for Biologists Perl and R Scripting for Biologists Lukas Mueller PLBR 4092 Course overview Linux basics (today) Linux advanced (Aure, next week) Why Linux? Free open source operating system based on UNIX specifications

More information

Shell script/program. Basic shell scripting. Script execution. Resources. Simple example script. Quoting

Shell script/program. Basic shell scripting. Script execution. Resources. Simple example script. Quoting Shell script/program Basic shell scripting CS 2204 Class meeting 5 Created by Doug Bowman, 2001 Modified by Mir Farooq Ali, 2002 A series of shell commands placed in an ASCII text file Commands include

More information

Introduction to Linux

Introduction to Linux Introduction to Linux January 2011 Don Bahls User Consultant (Group Leader) bahls@arsc.edu (907) 450-8674 Overview The shell Common Commands File System Organization Permissions Environment Variables I/O

More information

CS 25200: Systems Programming. Lecture 11: *nix Commands and Shell Internals

CS 25200: Systems Programming. Lecture 11: *nix Commands and Shell Internals CS 25200: Systems Programming Lecture 11: *nix Commands and Shell Internals Dr. Jef Turkstra 2018 Dr. Jeffrey A. Turkstra 1 Lecture 11 Shell commands Basic shell internals 2018 Dr. Jeffrey A. Turkstra

More information

Operating Systems, Unix Files and Commands SEEM

Operating Systems, Unix Files and Commands SEEM Operating Systems, Unix Files and Commands SEEM 3460 1 Major Components of Operating Systems (OS) Process management Resource management CPU Memory Device File system Bootstrapping SEEM 3460 2 Programs

More information

Scripting Languages Course 1. Diana Trandabăț

Scripting Languages Course 1. Diana Trandabăț Scripting Languages Course 1 Diana Trandabăț Master in Computational Linguistics - 1 st year 2017-2018 Today s lecture Introduction to scripting languages What is a script? What is a scripting language

More information

Open up a terminal, make sure you are in your home directory, and run the command.

Open up a terminal, make sure you are in your home directory, and run the command. More Linux Commands 0.1 wc The Linux command for acquiring size statistics on a file is wc. This command can provide information from line count, to bytes in a file. Open up a terminal, make sure you are

More information

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (( )) (( )) [ x x ] cdc communications, inc. [ x x ] \ / presents... \ / (` ') (` ') (U) (U) Gibe's UNIX COMMAND Bible ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The latest file from the Cow's

More information

Outline. Structure of a UNIX command

Outline. Structure of a UNIX command Outline Structure of Unix Commands Command help (man) Log on (terminal vs. graphical) System information (utility) File and directory structure (path) Permission (owner, group, rwx) File and directory

More information

EECS 470 Lab 5. Linux Shell Scripting. Friday, 1 st February, 2018

EECS 470 Lab 5. Linux Shell Scripting. Friday, 1 st February, 2018 EECS 470 Lab 5 Linux Shell Scripting Department of Electrical Engineering and Computer Science College of Engineering University of Michigan Friday, 1 st February, 2018 (University of Michigan) Lab 5:

More information

Do not start the test until instructed to do so!

Do not start the test until instructed to do so! Instructions: Print your name in the space provided below. This examination is closed book and closed notes, aside from the permitted one-page formula sheet. No calculators or other electronic devices

More information