You are on page 1of 20

UNIX Learnings

Intoduction of UNIX Shell

1.What is Shell? ->Shell is the command interpreter for Unix systems. 2.What is shell-scripting? A shell scripting is a text file with set of Unix commands in it. Shell scripts usually begin with a #! and a shell name(Complete pathname of shell). Example:

#!/bin/ksh (Called as magic line.Must be first line in the shell scripting.) We can interact with Kernel using different shell commands such as sort,ls,grep etc.

Fig : UNIX Architecture

Basic Unix Commands:

Unix commands are categorize into different types as shown in fig.

Fig : Categorizes UNIX Commands Descriptions of Unix commands Sample files :

1. Sample.txt Content:
In Xanadu ,did Kubla Khan Where Alph , the sacred river, ran Through, caverns measureless to man Content:

7*8 quit 3.

1.txt Content: aaa bbb ccc ddd eee fff ggg 2.txt content: bbb cc ddd eee fff ggg hhh sdf sdf dsf sdf

5. Uniq.txt content : ram ram shyam shyam abhijit pooja


Com man d Nam e

Descript ion




Gener al Purpo se

Comm ands date print or date set the system date and time Display echo message Text/exp on screen ression An bc arbitrary expressio precision n calculator language bc filename Mailx is used for sending mail/atta chment to particular email id mail x s Subj ect infor matio n email id Tue Oct 27 15:35:08 CDT 2009 echoW elcome bc 7*8 quit Welcome





bc cal.txt 56 (mentioned on top) mailx s Test Mail send to Subject m

Handl ing Files Comm ands pwd Short for print working directory the pwd comman d displays the name of the pwd pwd / appldata/d ownload Gives Current Directory


current working directory Change Directory

cd pathnam e

cd /appldata/dow nload

Directory change to download

cd ~ or cd !

Directory shortcut to change home dir(~) to Home directory Back one step Current directory is previous directory tmp directory is created in the current directory path tmp directory removed from current directory path cat In Xanadu ,did Kubla Khan on
Where Alph , the sacred river, ran Through caverns measureless to man

cd .. mkd Create a ir directory mkdir tmp


director y name

rmdi r

Remove a directory

rmdir tmp
rmdir directory name


The cat command concatenat es and display files

cat filename

sample.txt (content top)


Copies files from one location to another. Rename s a file or moves it from one director y to another director y.

cp /appldata/dow cp oldpathnam nload/sample.t xt e /appldata/ON newpathna COP me

File sample.txt copy to /appldata/ ONCOP


mv oldname newname

mv abc.txt Rename bcd.txt abc.txt to bcd.txt

Move the file myfile.txt to newdirector y

mv myfile.txt newdirectory Myfile.txt move to /

newdirecto ry


Short for word wc count, filename wc displays a count of lines, words, and characte rs in a file.

wc sample.txt

3 17 98 sample.txt5

wc l (Total 3 = Lines number of 13 = Words lines) wc c (Total 98=Character number of Character)


Compar es two cmp files and file1 tells you file2 what line number s are different Displays two files diff file1 and file2 prints the lines that are different .

cmp 1.txt 2.txt

1.txt 2.txt differ: char 1, line 1


diff 2.txt


1d0 < aaa 3c2 < ccc --> c c 7a7 > hhh

d a line was deleted c a line was changed a a line was added lines with< or > are the difference themselves

com m

For Commo comm n data file1 between files

comm 2.txt


aaa bbb

c c

ccc ddd eee fff ggg hhh ---------------Hint: 1)comm -1 fil1.txt file2.txt ->select lines common to

2) comm -2 fil1.txt file2.txt ->select lines common to

file2 3) comm -3
fil1.txt file2.txt ->select lines not common to

both files

gzi Gzip redu ces the gzip size of filename the named files using LempelZiv coding (LZ77). Wheneve r possible, each file is replaced by one with the extension .gz, whil e keeping the same ownershi p modes, access and modificati on times

gzip 1.txt


gunzi To decompre p ss files.

gunzip 1.txt.gz 1.txt

gunzip filename .gz OR gzip d filename

.gz OR gzcat filename .gz


To compres zip s files zipfilena ml file2.txt

1.txt 2.txt sample.txt

archive.zi p Hint: If already exists .Zip command does not overwrite . If file exists then file will either updated or appended to archieve. zip 1.txt 2.txt Sample.t xt

unzi To decompre p ss files.

unzip archive. zip


Basic Files Comm ands


ls l Listing File ls attribute (option) s filename (optiona l)

apdmd51 7:/home/ myscetl>l s -l total 12434 -rw-r--r-1 myscetl dstage 28 Oct 17 06:09 1.txt -rw-r--r-1 myscetl dstage 28 Oct 17 06:09 2.txt drwxr-xrx 3 myscetl dstage 96 Sep 29 23:44 Abhijit Hint: The list preceded by the words total

ls lrt filename
ls lrt 1.txt


-rw-r--r-1 myscetl dstage 28 Oct 17 06:09 1.txt

Simpl e Filteri ng

hea Displays

head 1.txt

aaa bbb ccc ddd eee fff ggg

the first few lines of a file

head filename

head -2 1.txt

aaa bbb Hint : head n filename Display only n number of lines ggg (Last line only)


Displays the last tail few filename lines of a file.

tail -1 1.txt

Hint: Take only last line only --------------------------------

tail +2 1.txt ccc Hint: Line start from ddd 3 to last line



Helps split the lines of a file(verti cally)

cut delimiter -field number filename

ggg cut d , -f1 In sampl.txt Xanadu

Hint: Delimiter Where is comma (,). Alph Default delimiter is Through tab. ----------------Cut c 1-5 In Xa sample.txt Hint: -c option is for specific column only (1 to 5 column).

Wher Thro

past e

Joins the lines of different files

paste file1 file2 file3

paste 2.txt

1.txt aaa

bbb bbb ccc ddd ddd eee eee fff ggg hhh fff ggg cc

Sorts files, merges files that are already sorted, and checks files to determi ne if they have been sorted uni Reports q or deletes repeate d lines in a file.

sort sample.txt Through

sort filename

caverns measurel ess to man Where Alph , the sacred river, ran In Xanadu , did Kubla Khan
uniq uniq.txt

Ram shyam abhijit pooja

Uniq filename


Translat es tr characte options rs. expr1 expr2 standard input

[Only unique values ] tr "[A-Z]" "[a- in xanadu z]" ,did kubla <sample.txt khan
Hint: where Replace all alph , the capital character with sacred river, ran small character

through caverns measurel ess to

Filteri ng Using Regul ar Expre ssion egre Searche p s a file

for a pattern. Extende d version of grep.Egr ep is basically used for regular expressi on. gre Used for grep i AAA aaa p filename pattern grep matchin option g filename

egrep option filename

egrep 1.txt

"a+" aaa

A stream editor

sed pattern {Action; Hint: Replace } Khan with Don filename

sed 's/Khan/Don/' sample.txt

In Xanadu , did Kubla Don Where Alph , the sacred river, ran

Through caverns measurel ess to man

Proce ss Comm ands ps

Shows status of process es Runs a comman d without hangups .

ps f

Ps -option

nohu p

Hint: Full listing showing the PPID of each process nohup nohup.ou

nohup sciptna & Hint: Gives process id (ps id) and create nohup.o ut for output of the running status. We can cat nohup.o ut in

t (for output)

order to see the status

Shell progr ammi ng comm ands read read name The read read stateme variable nt is the name shells internal tool for taking input from the user. exist 0 To exist exist Hint: number( exit 0 0/1) Everthin g is fine

echo $name



exit 1 When somethi ng went wrong The expr expr comman number d reads the

expr 3 + 5


Expressi on paramet er, evaluate s it, and writes the result to standar d output. To check the conditio n

1 (space) operator (+/-/*) (space) number 2

if [conditio n] then Expr fi

if [ $count = 10 ]; then echo "Number=10" fi;

Number= 10


The case st atement is always preferred when there are many items to select from instead of using a large if/elif/else statement

Case expr value In Case1) expr ; Case2: expr; esac

NUM =10 case $NUM in "nine" ;; 10) echo "ten" ;; *) echo "INVALID NUMBER!" ;; esac



While {conditi on} do expressi

Alphabet=a b c d e Count=0 while[$Count lt -5]

on done

do Count=`expr $Count + 1` done