bif713 additional utilities. linux utilities you have learned many linux commands. here are some...

40
BIF713 Additional Utilities

Upload: kathlyn-townsend

Post on 03-Jan-2016

220 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

BIF713

Additional Utilities

Page 2: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

Linux Utilities

You have learned many Linux commands. Here are some more that you can use:

Data Manipulation (Reg Exps) Miscellaneous Printer Commands

Page 3: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

Data Manipulation

grep - print lines matching a pattern head - output the first part of files tail - output the last part of files sort - sort lines of text files diff - find differences between two files file - determine file type

Page 4: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

4

Regular Expressions

Definition:

A Regular Expression refers to a set of one or more strings of characters.

Regular expressions can be used with Linux / UNIX commands such as grep, egrep, man, more, less, vi.

Page 5: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

5

Regular Expressions

Simple Regular Expressions

A Simple Regular Expression is a considered to be a “simple” match using patterns involving all or portions of characters

Here are some examples:

grep –i “435” course_codes (Matches strings of text containing 435 such as “OPS435”)

grep –i “there” file.txt (Matches strings of text containing pattern “there”

such as “there”, “therefore”, “there they go again…”

Page 6: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

6

Regular Expressions

Complex Regular Expressions

A Complex Regular Expression uses special characters with letters and numbers in order to provide an ambiguous regular expression match.

This is similar to File Name Expansion, except we are matching strings (not filename), and the rules for searching symbols differ…

Page 7: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

7

Regular Expressions

Complex Regular Expression Symbols:

. Matches any character

* Matches one or more occurrences of that preceeding character

^ Anchors search to beginning of character string

(line)

$ Anchors search to end of character string (line)

[ .. ] Matches any single character that belongs in square brackets. For opposite, use the notation [^.. ]

Page 8: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

8

Regular Expressions Complex Regular Expressions - Examples

Explain what the following Linux commands using complex regular expressions will do:

grep “^the” file.txt

grep “the$” file.txt

grep “^the$” file.txt

grep “^[0-9]*” file.txt

grep “^[0-9]*$” file.txt

grep “^[0-9].*$” file.txt

Page 9: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

9

Regular Expressions Complex Regular Expressions – Examples / Continued…

Explain what the following Linux commands using complex regular expressions will do:

var=“I am hungry”; echo $var | grep “^[A-Z].*[a-z]” file.txt

var=“I am hungry”; echo $var | grep “^[a-z].*[a-z]” file.txt

var=“I like OPS435”; echo $var | grep “^[^0-9].*[0-9]” file.txt

var=“OPS435”; echo $var | grep “..” file.txt

var=“OPS435”; echo $var | grep “^..$” file.txt

var=“OPS435”; echo $var | grep “^……$” file.txt

var=“OPS435A”; echo $var | grep “^……$” file.txt

Page 10: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

10

Regular Expressions

Extended Regular Expressions

Symbols to include advanced (extended) features such as repetition, and grouping.

Use egrep or grep –E when using grep with extended regular expressions.

You can use complex and regular expressions together as long as you use grep command as egrep or grep –E…

Page 11: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

11

Regular Expressions Extended Regular Expression Symbols:

{1,} One or more occurrences of preceding character

{0,1} Zero or one occurrence of preceding character

{2,5} Between 2 and 5 occurrences of preceding character

(pattern){1,} One or more occurrences of “pattern”

NOTE: There are some short-cut symbols:

+ = {1,}

? = {0,1}

Page 12: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

12

Regular Expressions Extended Regular Expressions - Examples

Explain what the following Linux commands using extended regular expressions will do:

grep “^[+-]{0,1}[0-9]{1,}$” file.txt

egrep “^[+-]?[0-9]+$” file.txt

egrep “^[+-]?[0-9]?$” file.txt

grep -Ei “^(the){2,}” file.txt

Page 13: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

13

Regular Expressions

Other Utilities (vi):

Regular expressions can be used with the vi editor to make it easier to search for complex patterns that are contained in files.

The commands to search and replace regular expressions are typed in “last-line mode”

Page 14: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

14

Regular Expressions

Examples (using vi within “last-line” mode):

:s/pattern1/pattern2/ - substitutes pattern2 for the first occurrence of pattern1

:1,$ s/pattern1/pattern2/ - substitutes pattern2 for the first occurrence of pattern1 in each line of the file ($ means last line, . means current line)

:.,.+10 s/pattern1/pattern2/ - substitutes 11 lines starting with current line

:s/pattern1/ *** & ***/ - & is the value of the string

matched by pattern1, and is the only character with special meaning in the second pattern

Page 15: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

15

Regular Expressions

Other Utilities (man, more, less):

Regular expressions can be used with the man, more and less utilities to navigate to a location that matches a pattern

Examples:

/^The/ /ward$/ /^[0-9].*[0-9]$/ /therefore.*done/

Page 16: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

Miscellaneous

who – show who is logged in date – print or set the system date and time which – show the full path of (shell) commands finger – user information lookup program

mail – send and receive mail

Page 17: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

Print commands

lpr – print files lpq – show print queue status lprm – cancel print jobs

Page 18: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

grep

grep takes a pattern, read standard input or a list of files, and outputs the lines containing matches for the pattern.

Example:grep foo *

Print lines in any of the files in the current directory that contain the pattern “foo”.

Page 19: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

grep options

Major options for grep:

-l display name of the file that has matching line

-rsearch all the files in the current directory and all its subdirectory for the given pattern

-n prefix each output with line number -w search for matching word

-v output lines that do not contain the given pattern

Page 20: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

grep examples

grep -r foo .

Print all the lines in all the files in the current directory and all its subdirectories that contains the pattern “foo”.

grep -lr foo .

Similar as above but only print the names of the files that contains the pattern “foo”

Page 21: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

grep examples

Print all the lines in the file “bar” that contains the pattern “foo”

[uli@seneca misc]$ grep foo barThis line contains the word foo and bar.Do you like to play football or basket ball?

Same as above but prefix each line of output with the line number within the file “bar”

[uli@seneca misc]$ grep -n foo bar 3:This line contains the word foo and bar. 4:Do you like to play football or basket ball?

Page 22: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

grep examples

Print all the lines in the file “bar” that contains the word “foo”

[uli@seneca misc]$ grep -w foo barThis line contains the word foo and bar.

Print all the lines in the file “bar” that does not contain the pattern “foo”

[uli@seneca misc]$ grep -v foo bar The name of this file is called bar. This file has only five line. This is the end of the file.

Page 23: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

head & tail

head bar Display the first 10 line of the file “bar”

head -5 bar Display the first 5 lines of the file “bar”

tail bar Display the last 10 lines of the file “bar”

tail -5 bar Display the last 5 lines of the file “bar”

Page 24: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

sort

Sort line of text filecat numbers2314 5678

345 2231

101 984

4842 6543

98 11001

[root] sort numbers101 9842314 5678345 22314842 654398 11001

[root] sort -n numbers98 11001101 984345 22312314 56784842 6543

Numeric order

Stringorder

Page 25: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

sort examples

cat numbers2314 5678

345 2231

101 984

4842 6543

98 11001

sort numbers101 9842314 5678345 22314842 654398 11001

sort -k2 numbers98 11001345 22312314 56784842 6543101 984

Sort by the 1st field

Sort bythe 2nd field

Page 26: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

sort examples

cat numbers2314 5678

345 2231

101 984

4842 6543

98 11001

sort numbers101 9842314 5678345 22314842 654398 11001

sort -r numbers98 110014842 6543345 22312314 5678101 984

Sort inreverseorder

Page 27: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

diff

Display the differences between two files

Syntax: diff [options] file1 file2

When using “diff” without any options, it produces a series of lines containing:

Add (a) Delete (d), and Change (c) instructions

Each of these lines is followed by the lines from the file that you need to add, delete, or change to make the files the same.

Page 28: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

diff examples

cat file1blueredwhiteyelloworange

cat file2blueyellowblackredorange

$diff file1 file22,3d1< red< white4a3,4> black> red

1. Delete line 2 through 3 from file1

2. Append lines 3 through 4 from file2 after line 4 in file1

Steps to convert file1 to file2:

Page 29: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

file

Displays the classification (type) of a file. Considered useful if a file extension is missing, or if user is unsure of file extension.

Syntax: file [option] file-list

Examples:file assign01.html

assign01.html: HTML document text

file a.out

a.out: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), not stripped

file mydoc.doc

mydoc.doc: Microsoft Office Document

file 1

1: empty

Page 30: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

who

Shows which users are logged on to serverPhobos: /home/rchan>$ who

rchan pts/0 Oct 30 02:08 (toronto-hse-ppp3)

sslui pts/1 Oct 30 01:11 (CPE00112f0fe590-)

Phobos: /home/rchan>$ who -H

Name Line Time Hostname

rchan pts/0 Oct 30 02:08 (toronto-hse-ppp3)

sslui pts/1 Oct 30 01:11 (CPE00112f0fe590-)

Phobos: /home/rchan>$ who -qH

Name Hostname

rchan (toronto-hse-ppp3)

sslui (CPE00112f0fe590-)

Total users: 2

Page 31: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

who options

Major options for grep:

-H displays column headings

-T includes message reception status: + message reception on - message reception off

-i includes column indicating number of minutes

of user inactivity.

Page 32: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

who examples

Show who is logged on who -H

Name Line Time Hostname

root pts/0 Mar 02 09:11 (142.204.20.17)

msaul pts/1 Mar 02 09:21 (CPE0040f4df2fef-)

who -i

root pts/0 Mar 02 09:11 0:03 42368 (142.204.20.17)

msaul pts/1 Mar 02 09:21 . 37790

who -T

root - pts/0 Mar 02 09:11

msaul + pts/1 Mar 02 09:21

Less than 1 minute inactivity

Allows message reception

Column headings

Page 33: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

date

Displays the system time and date[ray@localhost week8]$ date

Sun Oct 30 01:48:10 EST 2005

[ray@localhost week8]$ date +"%D"

10/30/05

[ray@localhost week8]$ date +"%T"

01:54:05

[ray@localhost week8]$ date +"%D %T"

10/30/05 01:54:13

Refer to the man page for more formatting codes

Page 34: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

which

Shows the full path of (shell) commands

[ray@localhost week8]$ which mkdir/bin/mkdir[ray@localhost week8]$ which type/usr/bin/which: no type in

(/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/ray/bin)

Page 35: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

finger

User information lookup program

Phobos: /home/rchan>$ finger rchan

Login name: rchan In real life: Raymond Chan

Directory: /home/rchan Shell: /usr/bin/ksh

On since Oct 30 02:08:55 on pts/0

from toronto-hse-ppp3

(messages off)

No Plan.

Page 36: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

mail

Send and receive mail To read your mail on phobos, type the “mail”

command by itself:

Phobos: /home/rchan>$ mailMail [5.2 UCB] [AIX 4.1] Type ? for help."/var/spool/mail/rchan": 1 message 1 new>N 1 rchan Wed Oct 26 00:24 10/340 "Mail testing"

Page 37: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

Sending mail

To send a file called “letter” through email on

phobos to the user “rchan”:

Phobos: /home/rchan>$ mail -s “subject” rchan < letter

Page 38: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

lpr, lpq, lprm

lpr – submit file for printing

lpr [ -P printer-name ] [ -# copies ] file-name

[ -P printer-name] : send files to the named printer

[ -# copies ] :sets the number of copies to print between 1 and 100file-name : name of file to be printed

Page 39: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

printer queue status

lpq - show printer queue status

lpq [ -P printer-name] [ -a ] [ -l]

[ -P printer-name] : show status on the named printer

[ -a ] : reports jobs on all printers[ -l ] : display more verbose (long) format

Page 40: BIF713 Additional Utilities. Linux Utilities  You have learned many Linux commands. Here are some more that you can use:  Data Manipulation (Reg Exps)

Cancel Print Jobs

lprm – cancel print jobs

lprm [ - ] [ -P printer-name] [ job ID(s)]

[ - ] : all print jobs[ -P printer-name] : print jobs on the named

printer[ job ID(s) ]: jobs to be cancel