BIF703 Miscellaneous Commands. File related commands grep - print lines matching a pattern head -...

Preview:

Citation preview

BIF703

Miscellaneous Commands

File related commands

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

Utility commands

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

Print commands

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

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”.

grep options

Major options for grep:

-l display name of the file that has matching line

-r search 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

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”

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?

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.

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”

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

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

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

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.

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:

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

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

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.

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

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

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)

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.

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"

Sending mail

To send a file called “letter” through email on

phobos to the user “rchan”:

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

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

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

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

Additional Resources Here are some Related-Links for Interest

Only:

Linux manual pages (online): http://man.he.net/

Recommended