132

ð£ì‹ 3
Lù‚v
3.J emóum o)em_
oc¬ C.+ac+o.¬ (Linus Torualds). .cco+++oco Cco
+co+ .o+.oo +±+++o .±++o C++=±c++C.++. ...o
+.oo+±+++c c+c.++oc.± .ca cc +....=.a (Project)
tcc+o+ Cc=±ac+++. .o++o+..++o. C.a++)aa _=.=
c¬. C.cc.+± (Prof.Andrew S. Tannenbaum) .ca+c tcc+o+a.
aco¬c cc c±c±+c '±co¬'(Minix) .ao+ c.+.±.a
±+=ca+c .ac.(++ c++ca. ±co.¬. .±++cc. .+c
++a+c aco¬c C+a++a± C+ao++=± oc.¬ Cc=c++o
+ca++c. aco¬ .ao+ c.+.±. C+c ++±+c (Ken Thompson)
.ca+oc ca++a+o tcc+o+....+. ±co¬ .aca+«o+++.
G+ao C+ao..o +±a C+ao++c ±o+ aco¬ .+... tc
c+o+ oc¬ C.+ac+o.¬ +a±+c+++a. .++ .ao+ c.+.±o=+
+c=..a c+o C.aCa+( aco¬c ±co¬c ccc± C++co
o+± +..+ c.+.++ C+a++ 'oco¬' (Linux) cc. C.a)..+a.
i¯¯i _± _=±o .+c c+o .+.. ..ii¿ Ccoa..+a. oco¬.
..=a± c±a++. .aco++ ccCa++o+....+. C++.a++
_=(+oo +aoa+c .oa .+a .ao+ c.+.±a+c oco.¬+
C+..±..(++ca. aco¬ c.+.±+oo ++=.... +o .=.o
+_+.o+ C+a++ca. to+± c.c+occo _ac± ±o+ +a
oa+c oco¬c C±±.+.(o+++ .caca .++o...+ C+o++
ca. .++ c.+ao. oco¬. c+ .ao+ c.+.±+.oc.+ +c++
.=+o± C.+_co+. C.++c++. .ao+ c.+.±+c +.(+
+..±+c =±+.oao tcc+o+..(+c+c. c.o =+c.+
ao± (entire code) ++=..(± c.±+.oo =+.c.. ++ooC+(co=c
+.oc++=. ca±.o=.... c==o.+ao+c +aoa+Co .=
±+o+..(ca. _c+o oco¬ =+c.+Ca+ ..ccco=± +..o
+++. .ca+c. ccc+o +.(..+(± .c++ C++±.±a+c =±oo
.+oco c.±+.oo +=.+++ +c++ c±a±.
oco¬. .+c ±+ coa c±c++o. .a+=c++= Cc_±Cc
: c±c +.cc+± ±.(C± .c+++o C.++±. .++ .ao+ c.+.±
.+c ..c++ c+++Co+(± .++ .oco=o =.+++ +.cc
133
++.+Ca c(++oC++c+++ cc.+ ca++= C+a+a+=±. .+c
++a=±++. oco¬c +.o.._+Ca+ (Stability) Cc+C±+ (Speed)
.++o+...co.o.
to+± c.c+occo c++.cCa+ +aoa+oc .++o.
co oco¬ tccc+o+....C.++±. .+c c±c± +.+++ C.++
co.o. cc +.(oC++..o=cCoCa .c++ cc+++. c+..
++o± C++.( oco¬. aco¬o++c .c+ (ANSI) +a..+.++o
+c+..(± C.++o¬(POSIX- Portable Operating System Interface for Com-
puter Environments) c.ac.++«o= t...C. tcc+o+....+.
=+..++. .cC.o .±....ao+c G++«oC+cC+ oco¬ c±
c.±o+...(co+.
oco¬c ccCc+c Ccoa.(o=± .a=( .+..+c tc
oc. .c+_c cc_ +.o++ .+.. (Stable version) ±+++ .)C+++
.c. (beta) .+..+=±. n.x.y cc=± .+.C.==o. c+o c= n,
.+.. c=.=o =+o+++. .a=.+± c= x, .a.......a++
.c.cc .+ +.o++ .+... .o.oCao .+ .)C+++.c.
.+... c(++o++..++. z.z.z· cc.+o x=2 _=±. ccCc .+
cc +.o++ .+...
oco¬c coa++o= ..=a± cc ca±++ ..±++co+.
to+± c++o± tco +=.C.++ coo+a+c oco.¬ coa+
C+(o=± C.+c.(. c+Ca+( ..=++ .=a+++ ..=a±
c±c=++co+. .c.+o=. .o +_cc++c ..=a± c±a++
oco¬o= _+ac +o+ cc+c+c. ..=a++o ca+o±+c
oco¬ =.o+c C+ao..( cc+c+c. .++ ..±..+oo .+c
C+a+ C++coo +..=± c+c±o.o. +++c t_.cca++. .++o
=.o+o.±c++ oco¬ .++a ±+ .=.±a+ (latest) ++co
+.o. C.+c±a±.
3.2 emóud eouæoqm OooC±_oqm
(Logging in / Logging out of Linux)
oco¬ c.+.± .o .aca+c cCa C+a++o .=a+++ .=
±+o+++. .aca C.c±.+o± .aca c.ca++o (user terminal)
.=a++_c+a. c+oo +++c oco¬ c.+.±Ca+( ..=...
c+.(++o C++coCc=(±. oco¬ c.+.± +o ++co+.oo
++.± c±++cc. tc.= +=±.ao (prompt) ++.(±. '+=±'
134
cc.+ +=(=+ .oo+ +=( C+a+a+=±. .+C+ t++
oc tc.= C.a.a (login name) tco. Cc=(±. tc.= C.aa
cc.+ t++«o=)a .aca C.aa (username) _=±. 'o++c'
(Login) cc+ C++o.oo +=( .·++ C+.cao.o. .+C+ '.a
ca' cc+ C.+c.o+ +c+++. .ccoc++c|
cc c.±o .o ..++c tcoc. ca ..+ao cc+.a cc+
+++acoca. ccCc+a ..+ao± ±+..±o+ ..+ao .c..
+++o C++cCc+±. .++ c.±oco ccCc+a ..+.aa± ++++o
C++cc+ c..±¯ c.(o=c a.±c++++c cCa C.++ c+c
++c t..+± ++o....(co+. ++coa ccca +a±o+... Cc=
(±. +++c c.(o=c a.±a Cc=(± cco .c).± t++c
C.a.aa± t++«o=)a a++a ...a+oo =+a...a± ++
Cc=(±. c.±o =±ac.C.+a ..cc)c C.aa+c ±+_±
C.aa+Co+( C++.a...a ...a+oo =+a( _+a.c ..+
+a ..±ao cc.+ .c++c..+a. +++c +_± C.ac± ...
a+oo =+a(± .++. ..±aoo .co=C±co. .c+++o ±.
(C±. t++c ..+o=c a.±a .=±+ +cc+a. ..±aoo
.o.o cco. t++c C.a.aa± ...a+oo =+a...a± +c±
.c± +_±.± C++oc+a. +++c +)a+++ C++oo±c.a .cc+_
++c C++oc+a. tcCo .=±+o+±+..+a.
oco¬o± .cc+C+ ++±+++. oco¬ c.+.±a.c
..=++oC++=.+±. tc.= +=( C+a+ao (Login prompt) t+
+oc tc.= C.a.a (Login name) tco(±+_ C+.(o C++co.
.(ca+c. t++«o=)a tc.= C.a.a tco.Cc=(±. .(++.
+.c+C++o +=(C+a+ (Password prompt) ++....(±. t++«o
=)a +.c+C++o.o tco(++c. t++c +.c+ C++o a++a
±++. .++++o+...Cc=(±. ccCc. oco¬ c.+.±. +++c
+c± +.c+C++o.o +.aao ++..++. t++c C.ac± +.c+
C++oo± c.+.±o C++..+ooco cca++«.c c.c.. .(±.
C.+c++± cca± ++=...co.o cco. .++ .a=( cca+
+.oa± ±=(± +aCc=(±. .C+ Cc.oao. C.+c++± cca±
++=..±c. ôC±aco+C.+c+ C+a+ ++....(±.
[ilamathi@localhost ilamathi]$
.+o .o±+ cc.+. t++c tc.= C.aa cco +c+o
C++c+. ++a c.++ (lowercase) ±+_± C.)a c.++ (upper case)
135
+oo ±+c± +cc±++ .co+Cc=(±. ++a=± oco¬ c.+.±
c.++ c±c t=acco+ (case sensitive). .=±+aoo++ +.a+c
t++c C++..+++c (directories) .oo+ C++..+.o (files) .o+
c±a++. C.++c++. cc .ac)c C.aCa .c)c tc.= C.aa++
.co+Cc=±a C+.cao.o. cc .aca c+c c.+a++ c.+
.±a=c a.±a±C.++. .cco=)a .ooo C++..+± (Home
Directory) c.+.± +ac++a+o (System Administrator - SA) c+o+..(
+++. c¬c .++. c+= ++Ga+c.
OooC±_ Oo±daæm (Logout Process)
t++c .ooo C++..++.+ -.+±o c.+.±.a c.(
CcoCa c+++o. ±++ca+c t++c ++co+«o=+ ++= c.o
co+o+(±. ccCc. oco¬ c.+.±.ac.( c.+..± Cco
Ca_c+ (logout) +..+a±+=±. +...o+ +=(=+ao(Command
Prompt) exit .oo+ logout cc tco..+o. t++oc +... oco¬
.±ac c±co= cc±. .(++. c.+.±. c+ .aca+«o+++
tc.= +=(=+.a +.aao ++.(±.
ocoòOomdæe mmm_od (Changing the password)
a+Ca+ ccca t++c +.c+C++o.o .+++c..+Ca+ cc
++ ±c t.oc t++«o= c+.(c+++ .c++oC++cCc+±.
c+=. .aCcoo+± +o+±oo+±o +co+ C+)(±. oco¬ .ao+
c.+.±. t++c +o+.o+ +a..++=+ ++++ c±c.+.a c±+=
+++. t++c +.c+ C++o.o ±+++oC++co .=±+o+++. passwd
cc=± +...o -o± cc .aca .cc..a +.c+C++o.o
±+++o C++coo+±. .o±+ cc=± .aca +c=..a +.c+
C++o.o ±+++oC++co. cc.++a .±+.o+c ôC± +a...
(coc. t++c +=.C.++ao ++=.+ ..+Ca++C+ .co=±.
m1óoóom´1:
[ilamathi@localhost ilamathi]$ passwd
Changing password for ilamathi (current ) password:
.aca +c ++C.+.+a +.c+C++o.o tco(+++a
New password: .aca .+a +.c+C++o.o tco(+++a
Retype new password:
.aca .+a +.c+C++o.o ±=(± tco(+++a
136
passwd: all authentication tokens updated successfully
[ilamathi@localhost ilamathi]$ _
passwd +...o ..±a +.c+C++o.oo C+.=±. .ac)c
++c_+.a+ +).+ao+ .++o +...o .c+a± _=±. .o.o
Cao ++C+==± C++=C.+a c+ .aca+oc .=ao C.a±
c+.o c+.(++c±a±. .+a +.c+C++o.o. .++. .acco=
+ao+±+c c±cco+Cc=(± cc c.+.± c+a.+ao+++. cc
Cc++c .+a +.c+C++o.o .cc.+ +a+C++ooo C+.+++.
c(++o++.(.
[ilamathi@localhost ilamathi]$ passwd
Changing password for ilamathi
( current ) password:
.aca ++C.+.+a +.c+C++o.o tco(+++a
New passwd:.aca .+a +.c+C++o.o tco(+++a
Retype new password: .aca c.±a+c +.c+C++o.o +c+++a
Sorry, passwords do not match
New password:
++C.+.+a +.c+C++o.o +++c ±+++ cc±.± +.c+
C++o tcc( C+aa±C.++. +c_ ..±.cc. +++c ++c__+
C.++ .aca .oo cc+++c(±. ccCc. +++c Cc_ ccc)c
+.c+C++o.o ±+++ cao+¹a+c cc++ ¿a± c+..(c(±.
ccCc. +.c+C++o.o ±+++ t++«o= .=±+ c±++...
±+..++. .cc.+ +c+c+ .+a +.c+C++o c++.C.++co.o
cco. c.+.± =±..±..++ c(±. c++o +.c+ C++o.o
c+_oC++cc+ cc..+ c.+.±a+o +a±+co+ c±a++. ++
+c +c± .+a +.c+C++o cCaa±a+a+ +c«.± C+aa..(±.
ccCc. ..±a +.c+C++o ±.(±c+ .+a +.c+C++o.oa±
+cc++.c +aCc=(±.
+.c+C++o.o ±++_c+ C++.a.+c c+c.++«c +o.
® +.c+C++o __ c.+++«o=± =.+c+c +o++.c
.co+o+.++.
® +.c+C++o.o ±++_±C.++. .+a +.c+C++o ..±a
137
+.c+ C++oooc++ -c_ c.+++o+c+ ±+_..±co+
Cc=(±.
® +.c+C++o .ac)c tc.= C.a)oc++ Cc_..±co+
Cc=(±.
® .+a +.c+C++oo± ..±a +.c+C++oo± cc+++ .co+
c±a++. cc +.c+C++o.o .C+ C++oo+o ±+++ c.c
c+ +.+.c+=)a+ .ooc+¯
® c.+.± +ac++a+cca c.+.± c.c+c ±+± +.(.
.+( C+o++ cooca. ccCc. oco¬ c.+.±ao .ca
c++. .ac)c +.c+ C++o.oa± ±+++a.±o+c±a±.
3.3 emód Comùu aæmæm (The Linux File System)
++co+.o .±++c.+±o +o+.c++oC++co cc±.+¹a
+o+¯ ...±Caco .c+.+o +=.C.++ao ccc+_ C+±.
Ga+c¯ ++c.o cc C++.co C+±++ .co+ c±a±. _c+o.
C++.. cc.+ a++¯
C++.. cc.+ c(+oc C++=... c( cc.+ ca tcC.+cc
(entity) .++a ++c.o+ +c+++. tcC.+cc cc.+. cc ±+=
ca++ .co+o+± .oo+ .a=± C+aa± cc aao .a=a++
.co+o+±. t++oc ±+.C.= ++«± ca c(++c. c( cc.+
.o++.oo C++=±co=±. ±+ .±....a+c .o++.o.
C.+cc co+=±+_ C±o± +_ .o++o++. c)o+ c±a++.
C.aa. c).+ c= _+a.c .o++«o= c(++o++.(+o+
=±. t++c c=..+ C++±a+c ..cc)c ±+.C.= ++c+oc
C++=... C++..o= c(++o++..+=±.
t++c .coao tco ..c++ ±+=ca+oc ±+.C.=
++c+oc C++=... c(++oC++cCc+±. .+ C++..+oc
C++=..+=±. .+ C++..+± (Directory) cc_ ..±o+..(+++.
±+.C.= ++.o. C.+c_ .o C++..+c t++c .coao .co+
c±a±. c(++o++..++. ±++_+ ++c++± C++... +±.oo +=o=o
C++... .c=± c+. ..c +cCa +.o.c.( C+±o+...
Cc=(±. ±++_+ ++c++.o+++. ccCc+c ±+=c.a. .++a±
.coao ++co .co=±. ccCc+c c=..o=± t)a ++co
cc C++..++ .co=±.
cCa c.+.a+ ++a++ C++..+oc C++=.. c+C+cCc ++a
138
.± 'C++..+±' cc..(±. .++ c.+ao. cc .coao .oCc_
C++=++o++o C++..+c .co+ c±a±. ±+.C.= ++c+.oo
C++=. C++... ±++_+ ++c++.o++c ++co C++.coc++
c)o+...Cc=(±. ccCc. C++..+oc c+ C++=++ooc++
±+.C.=++c C++..+.o .co +ac++± +cCa .a+±)o+
Cc=(±. cCa c.+a+c C++..+oc C++=+ cc C++..+++o
.c++...Cc=(±. cc +.oc.±o _aao+=o++c C++..
+.o+ C+±o+ c±a±. C±Co ++acoc+_ C++..+.o c.++
.±.cc. =+.c.. C++.c.c+ C+±o +=.+c+ co+++ .co=±.
..c++o C++..+«± c.±co. '-oo C++..+±'(root direc-
tory) cc..(± c+c.±a+c C++..+++c ô± C+±o+..(+c+c.
±a± C.+c+ +...±.co C++..+c c.++.±o+..(+c+c.
+.oô±++ +c_C++=( cc .±±a± .oo++ ±a+.+. .+c++c.
±a++c Cca t++ao .co=±. .+oc++ +.o+c ..a++
co=±. +.o+oo +_ +_ +.o+c +.o++co=±. ._+ao
..o+c .co=±. ..o+c C++..+.o tcc+..(+++c+c.
+.o+c. C++..+++.oa± (directoreis) tcC++..+++.oa± (sub-
directories) tcc+..(+++c+c. ±a++c Cca++c -oo C++..
+± (root directory) cc..+ +++Co ±+++c.Ga+c.
mcm 3.J emód Comùmoó o´cæmùu
139
-oo (root) C++..+±. bin, boot, home, usr, etc, lib, dev, tmp C.+c+
C++..+++o++. c)o+..(+c+c. .ooo C++..+± (home direc-
tory) /home cco =+o+..(+++. .ooo C++..+± cc.+ / (root)
cc=± -ooC++..+++c 'C+a' cc..+ t=a+++++. -oo
C++..+±. .ooo C++..+++c '++a' _=±. -oo C++..+++o=+
'++a' +..a++.
cc =±+.+ c+++c.c .++=. C.aa =..Cc=(±. .+
C.+o cc C++.c.c tcc+o=±C.++ .++=. C.a).Cc=
(±. cc C++.c.c tcc+o=±C.++ ôC± ++o± c+c.+
+.o. cc.++Cc=(±.
C++.cc C.aa
i . c.+++c. .±oô_+c (underscore), c=+c. .co+c.
+++.co+.oo C++=±co+o+±.
z . z·· c.+++c c.a .co+o+±.
¯. c+Co.++. c==++ .co+o+.++.
:. .coa.c C++.++o+.++.
(+o =+.c.. =±+.o+oo. .coa.c C++.+=± C.a.a
cc C++..o=+ =..o+± cc+ C.++o±. .cc+_ =..+±o
.c..C+ +oo+. .coa.c C++.+=± C.aaC++=. C++..
.coo C++.. (dot file) cc+.±o+..(+++. .coo C++..+c C.c±
.+o± c.+.± .ac.(++++ C++..+o+=±).
·. ++aco C++( (Slash). C+cco=+. +.+++ao=+
..±C.+o+.++.
·. +...o+ C++oo++ .co+o+.++.
C++.cc C.aa cc c+c.o. C.aa (Primary name) . cc
+.=+.o. C.a.ao (Secondary Name) C++=±co+o+±. .coo=
c+.+a C.aa c+c.o. C.aa+=±. .coo=. c+.+a C.aa
+.=+.o. C.aa .oo+ +.±.. (extension) cc..(+++. C++.
.+.o c.+..(++c++= +.±.. .ac.(+++. c(++o++..++.
C cc+ +.±..o C++=. C++..+.o C C++..+c c(++oC++c
Cc+±. ..c +C±+±ao c.+.... +ao C++..+.oo =+o
+c+c.
140
cc C++.. .oo+ C++..++.+ tcc+o=±C.++ +++c
=.(± C.aa .+c c..C.aa _+++. cc C++.. .oo+
C++..+++c c..C.aa cc.+ .+c c.. .+.+.aa± tc
o.o+a++=±. cc C++.. .oo+ C++..++.+o =±..±c+
...a+o+++... C++.. c.+.±ac ±ao+...±.... .ac
.(++oC++co c±a±.
ⴈ¶‚裆ì£è, cprogramming cc+ C++.cc c..C.aa.
/home/kumaran/cprogramming
_=±.
3.4 m±m!oom oæooo
oco¬ c.+.±ao ++c= c.+a+c .aca+c tcoca.
J. aæmæm m!omJ ±deo meù m±m!
(System Administrator or the Root user)
c.+.±ac +c+±+c C+ao.+.(o= c.+.± +ac++Ca
c¬c c+c.±a++. C.+_.C.++++a. c¬c. .aca+oc /home
C++ ..+++.o tcc+ o=+++ a. .aca+oc =.o+«o=
c.+.±ac ++a.+++ C+.c .)+++a. +=.C.++ao C++±c.(
±+_± +±Ca+± c.(+.o .ca±.(C± .ac.(++ c±a±.
+=.C.++ C+ao±++ C.+=±C.++ c+.(± ++co .±..
+.o+ +cao+o ++..++o+.o .ca c(o+++a. oco¬o .ca.
-o. .aca (root user) .oo+ ±. .aca (super user) cc_ ..±o+.
.(+++a. -o. .acco++c +=(=+ (prompt), # _=±. c+
.aca+«o= $ _=±.
2. Comùu e1æm±mo! (File Owner)
cc C++.c.c tcc+o=± .aca .++o C++.cc t)
.±a+oa cc..(+++a. cc C++.cc t).±a+oa. .++o C++.
c.c ++Co(++o. .±++o. +c+++o C.+c+ c+++ C+ao
.+...a± C±+C++co c±a±. chmod +...o -o± C++.cc
.o= .=±+.a ±+++a.±++. .+.c .ao+ (execute) c±
a±. chmod +...o.++. c+= .±.Ga+c.
3. æa e1æm±mo! (Group Owner)
cc =+.c.. +....=ao .=a+++oC++=±co=± =.
141
cca .a=_+ +c+ .ca+«..a C++..+.o. .+a++oC++co
Cc=(±. .++o C++..+c =.+ +.oc)c /home C++..+++o
tcc+o+..(+c+c. .o=.cc ..c++ t_.cca+«± +±
C++..+.o. .+a++ C++c+++a+c. .++o =.cca =.. .a
ca+c(group users) cc_ ..±o+..(+c+c. cc .acco=.C.aa
.c..+ C.+o. .aca+oc =.co=± cc C.aa =....(
+++.
4. mm m±m!oo (Other users)
c.+.±ao .=a++_++. cc +....=o =.co t_.c
ca++ .oo++ .aca+c ..ccc± .o=.cc C++..+.o.
C.+_++±.±o 'c+ .aca+c' ccC+ =+o+..(+c+ca. =+.
c.. =.co t_.ccaoo++ .aca+c .o=..c. C.+_++
±.±o 'c+ .aca+c' _ca.
3.5 Comùmoó o´cæooo (Directory Commands)
o´cæooom Ommoo±om
+...o+.o. .++o ++.++= cc.++. +...o+c .++a
+o .±....a+c +c++co+.o (Concepts) +++c .+++C++co
Cc=(±. cc +...oac C.++c+c c±c.±.. .+.
o´cæo [Co!o] [Oo±qmu]
(Command [option] [argument]
coo+o +...o+«o=± C+ac (option), C+aoc. (argument)
.a=(± .co+ Cc=(± cc++ +..+a±o.o. +o +...o
+«o=+ C+ac±.(± C+.c...o+±. Cc_ +oc+_o=+ C+ao
c. ±.(± C+.c...o+±. .c=± +oc+_o= .a=(C±
C+.c...o+±. c(++o++..++. ls +...o. C+ac. C+aoc.
.a=(± .oo+±o± C+ao.(±. C+ac ±.(± .c+++o±. C+a
oc. ±.(± .c+++o±. .a=(C± .c+++o± C+ao.(±. [ls
cc.+ list cc.+c +co+±. _c+o. ls cc.++=. .+o++. +=.
C.++o=. .)a.(C± cc+ c==++o list cc+ +ao+.++.
t++c +oCo==++o=. c.±+.(± C+a+Ca (error message )
.)+++o +..o=±. ls +...o C±o± .a=( c.+++c c.+
.+c (typing) C+ac.+ ±++..(+++++. .C+ Cc.oao t++c
+.cc+++o=+ +.± c+_+++].
142
m1óoóom´1:
+...o C+ac C+aoc.
ls
ls -l
ls ¬.C
ls -l file1
.o+...o .++. ccc+o c)c++. .±o+ .co+C++±.
+...o cc.+ c+.++ C++oo+o _c+. +...o C.++
c++ ca c.++o C++.+=±. +...o+ C++++.o. C.+_++
c.a t++«o=+ ++..+ +o.+ c+c± +..a++. C++ooc
c.+++o++.+a± (spelling). c.+++oc c±c+.+a±(case) tco+
tco.±Ca +aCc=(±.
+...oao C+ac (option) cc.+ cc +±++o (dash) =+a.c
C++.+=±. ..++ C++.a++ cCa.++ ..±C._±. _c+o cc
_o= C±+... C+ac+.o+ C+a++ cc+++o =+.c.o+±. c.+
+c c±c±(case) ±+c± co+a±+c+. +±++o =+o=± .(++
cc± cCa.++o=± ...Ca Cc+_ ..Cco (Blank space) .co+o
+.++. +±++o =+Ca. +...o ±+_± C+aoccoc++ Cc_
.(+++ 'C+ac'(option) cc t=a+++++. cCa C+ac CccCc_
+...o+oo cCa ±++)a+++ C+ao.(± cc c+a .+ao+c±a++.
C+aco= cc ++=± +...o+ C++oCo C+acc ±+ ++o+±
C+o+++++. c(++o++..++. -a cc=± C+ac ls +...oao (ls
-a). ±.+o+.... C++..+c t... +...o C++..+++oco
..c++o C++..+oc cca++.oa± c(++o++.(±. _c+o.
.C+ -a cc++ C+ac [$mark - ge 81 -a $mark -le 100] cc=± +...o
ao '+co+c.+ t±' (logical and) cc=± C.+c.o+ +c+++.
C.++c++. C+aoc. cc.+. c++o C++.cc ±+ +...o
C+ao.(++..(++C++ .++o C++.cc C.aa++ .co=±. .+
c.C.++± ca c.++.c (alphabet) C++.+=±. '.coo C++..+c' (dot
files) cc ..±o+..(± +o c.+.±o C++..+oc C.aa+c
.coao . C++.+=c+=(.
..± ¯.i o .a=( bin ±+_± .a=( personal C++..+++c
.c++C.++o±. .c++c .+.+. C.aa (path name) ++a=±++.
143
c.+.±. .c+.++ +c++ ...a+o± ++o±. bin C++..++
+oc .+.+. C.aa+c /bin ±+_± /usr/bin _=±. c+o ++aco
C++( c.C.++± -oo C++..++.+ t=a+++++. .+C.+oCc.
personal C++..+++oc .+.+. C.aa+c /home/kumaran/personal ±+_±
/home/ilamathi/personal _=±. /home c.aaco .+.+ .a=( personal
C++..+++«o=± C.++c++ .c++C.++o±. .+cc+= .a=(±
CccCc_ .+.+.ao C++=(coc. .++.+a ±acco +..
.±.. (tree structure) C.aa+«o= ...Caa+c C±++.o+ +cao
+c+c.
..c++o C++..+.oa± cCa ..++o C+±++ .c+++o.
cCa C.a.a C++..+«o=. .ac.(++ c±a++. C±o± cc
=+.c.. C++.c.c+ C+±o +=.+a .++ C+a± c±o=±.
oco¬o .+.+ac C.a.ao =+.c(±C.++. ...+.+ao ..±
C._± C++..+++.o cc++acoC++( (Forward slash) -o± c)o+
Cc=(±. c+C+cCc ++a.±. .+.+ao c+o C++..+++c
cccco=± ++acoC++( -oo C++..++.+o =+o+++. .+.+.
C.aa+c C++..+«o=± C.+c+++c+c. cc C++..+c+. cc
C++..+++o=c. cc C.aa =+.c.( tcc+o+..(+++. C++.
cc C.aCa+( -oo C++..+± C++.++. .oC++.. .co=±
C++..+± c.aao+c ..c++o C++..+++oc .+.+Ca+(
C+a+C+. c.+.±a+c+. .oC++.c.c ...a+o± ++=+++.
.+.+. C.aa+c .c c.+..(±. ..c.
i. c+_+.o. .+.+.C.aa (Absolute Path name)
z. ++a.+.o. .+.+.C.aa (Relative Path name)
-oo C++..+++.c C++.+=±. cc C++.. .oo+ C++.
.+++c c..±a+c .+.+. C.aa. c+_+.o. .+.+.C.aa
cc..(+++.
++a.+.o. .+.+.C.aa +++c ++C.++ .=.)a± C++.
.+++o C++.+=±. +++c .=a++_± C++..++.++ ++a++. .+c
c+= ..±a± .+.+.a ±.(± =+o+++.
..± ¯. io ++o± C++..+o +...±.cc.±. +++c .=
.)a± C++..+± kumaran cco. job cc=± C++.cc ++a.+.o.
.+.+. C.aa /personal/job _=±. .C+ C++.cc c+_+.o.
.+.+. C.aa /home/kumaran/personal/job _=±.
144
+++c ++C.++ .=.)++ C++=±co=± +...o C++..+.
.+.+.a ccc+_ +=.+ca+c¯ +o Cc.o+oo. C++..+
..±.co. +++c c++o C++..+++o .=.)+¹a+c cc.+
C+)a+±o C.++o+±. ...±.... =±+.o+oo pwd +...o (print
working directory or path of working directory or present working directory)
.+C++(o=±. .o±+ cc.ca. c.+.±ao tc.=++ (logged on),
$ +=(=+ao pwd +...o.a .cc+_ +c+++a cc .c++o
C++cCc+±.
[ilamathi@localhost ilamathi] $ pwd
/home/ilamathi
[ilamathi@localhost ilamathi] $
cc+ +.aao ++.(±. /home/ilamathi cc=± .a=.+c+ c) c.+
.±ac .+o.a _=±. .++c+. .o±+ac .ooo C++..++
+c (home directory) c+_+.o. .+.+.C.a.a+ +++co+. Cc_
++co =+.c.(+ C++oo...++C.++. +...oo= .(++ cc±
c)Ca. .o+...oac c.. _=±.
mcùuó Comùmoóæo mmm_od (Changing Current Directory)
cd (change directory) cc=± +...o. +...o C++..+++oc++.
=+.c.. C++..+++o= ..±+++ C+oo±. c(++o++..++.
..C.+.+a .aca .o±+ .ca+ .ooo C++..+++oc++.
/usr/bin C++..+++o= ±++ cc±.+++a. .ca c+oo. ++c c+
=cCo+± cc..+ .+++C++co. +...o C++..++.+o +=.
+++. c+= /usr/bin C++..+++o= ±+_c+a. +...o+ +=(=+
ao ô±o++o± +...o+.o+ C+ao.(++c+a.
[ilamathi@localhost ilamathi] $ pwd
/home/ilamathi
[ilamathi@localhost ilamathi] $ cd /usr/bin
[ilamathi@localhost bin ] $ pwd
/usr/bin
.(++. +...o C++..+++c ++ao C++..+++o=+ (parent
directory) C+oo cc±.+++a cco. $ +=(=+ao. cd.. cc=±
+...o.a. .ac.(++c+a.
145
æ¶ùu: .a.....co+c .. ++ao C++..+++c .+.+
.ao =+o+c+c. c+.+..co . .C+ C++..++.+o
=+o+++. cd ±+_± .. _+ac+_o+..Ca cc Cc+_
..Cco (space) .co+ Cc=(±. _c+o .a=( .co
+«o= ...Ca Cc+_ ..Cco .co+o+.++.
m1óoóom´1:
[ilamathi@localhost bin] $ cd ..
[ilamathi@localhost /usr] $ pwd
/usr
[ilamathi@localhost /usr] $ cd ..
[ilamathi@localhost /] $ pwd
=±ac. c.+.±ao tc.=++. ++C.++ /usr/bin C++..++
+o tco+a cc .c++oC++cCc+±. .++. .aca ..C.++
+c=..a .ooo C++..+± C+oo cc±.+++a. Cc_±Cc cd
cco +...o ++++o C.++±. .o+...o .c.a. .ca+ .ooo
C++..+++o= ..(+ C+oo±.
m1óoóom´1:
[kumaran@localhost bin] $ cd
[kumaran@localhost kumaran] $ pwd
/home/kumaran
æ¶ùu: .+.+. C.aa c+c± +a+±o C++(o+..(± cd
+...o. c.C.++± cc .ac.a .ca+ .ooo C++.
.+++o= ..(+ C+oo±.
=±ac ..C.++ /usr/bin C++..+++o .co+++a. .ca+
personal C++..+++o=+ C+oo+ +a±+co+++a. .ca+ cc..+.+
+.+Cc++oC++co ±+ co.±a+c c±. /personal cc=± C++.
.+. C.a.a C+oco(~) =+Ca+( C+a+++ +aCc=(±.
[kumaran@localhost bin] $ ~/personal
[kumaran@localhost personal] $ pwd
/home/kumaran/personal
146
[kumaran@localhost personal] $ cd ~
[kumaran@localhost kumaran] $ pwd
/home/kumaran
æ¶ùu: C+oco =+. t++c .ooo C++..+++o=
±++++=±.
=±ac .cc..a personal C++..+++o .co+++a. .c
c..a health C++..+++o=+ C+oo cc±.+++a cco +c+o
C++cCc+±. cd.. +...o. /health cc.C++( C+a++ ...=.a
+.+Cc++ c±o=±. $ +=(=+ao ô±o++o± +...o.a .ca
+aCc=(±.
[kumaran@localhost personal] $ cd .. /health
[kumaran@localhost health] $ pwd
/home/kumaran/health
cc C++..+++c ô± .co=± .cCc+c C++..+± .o
C++..+++c 'tc C++..+±' (Sub - Directory) cc_ ..±o+..(
+++.
Comùmom emomóæod (Creating a Directory)
=±ac cc=± .aca. .cc..a health C++..+++c ô±
insurance cc=± C++..++.+ tcc+o+ cc±.+++a cco C++c
Cc+±. .ca c+C+cCc health C++..+++o tco+a. .ca mkdir
(make directory) cc=± +...o.a. .ac.(++ Cc=(±. mkdir
cc=± +...o+ C++ooo= .(++o =+.c(+c+ C.a)o
cc .+a C++..+±. +...o C++..+++c ô± tcc+o+..(±.
_c+o .++++ tcc+o+.... C++..+± ++c++Cc +...o
C++..+±++ ±++++. .++++ tcc+o+.... C++..+++o= ±++
cc±cc+o. cd +...o.a. .ac.(++o C++coCc=(±.
[kumaran@localhost health] $ mkdir insurance
.o+...o health cc=± C++..+++c ô± insurance cc=±
.+a C++..++.+ tcc+o=±. .+a C++..++.+ c+C+ tcc+o+
Cc=(± cc..+ c...+.+a.c mkdir +...oao =+.c.
c±a±.
147
Comùmoóæo móæod (Removing a Directory)
cc C++..++.+ tcc+o+ c±aco+++ cco. .+.c
+o+c± c±aco+Cc=(±. .++=)a +...o cccCcc_ t+
+o+o ±+o+ c±++++¯ _±. +++c +.c..+ +)Ca| rmdir
(remove directory) cc.+++c .o+...o.
m1óoóom´1:
[kumaran@localhost health] $ rmdir insurance
+++c cc C++..++.+ +o+ cc±.+¹a+c cco. .o
C++..+±.
i. ++oa++ (empty) .co+Cc=(±.
z. +...o C++..+±+a (current directory) .co+o +.++.
=±ac. insurance C++..+++o c.+a± C+±++ .co+
co.o. .+ ++oa++Cc tco+. C±o±. +...o C++..±++
.c..+ health-++c. insurance .oo. ccCc. insurance C++..++.+
.±o+ c±+++.
cC+=± C+±++ .co+...(co. ++oa++ .oo++ cc
C++..++.+ +o+ cc±cc+o c+oo rm +...o.a. .ac
.(++Cc=(±. .o+...o .++ c.aco .±.C.+±.
mkdir +...oao C.+oCc. rmdir +...oao± c+C+ tco
C++..+± cc..+ t=a++ c.. .+.+Ca+( =+.c.c±a±.
sm ComùmoóJm eoocóoóæoù m´±±ecd
cc C++..+++o tco C++..+c ±+_± tcC++..
+++oc C.aa+.o. ..±ao. cc±.+¹a+c. t++c cc.
.+.+ +.+Cc++ ls +...o ++++co+++.
c(++o++..++. .aca =±ac. /home/kumaran cc=± C++.
.+++oco C++..+c ±+_± tcC++..+++oc C.aa+.o
.+a cc±.+++a cc .c++oC++cCc+±. .ca +aCc=±a
+...o .+++c.
[ Kumaran@localhost kumaran]$ ls /home/kumaran
health cprogramming c++programming personal.
[kumaran@localhost kumaran] $ ls - F
health/ cprogramming c++ programming personal/
148
ls +...oao -F cc=± C+ac. ccCc+c C++..+ ±+
_± tcC++..+. C.aco=. ccc+o± / cc=± =+.a+
C+ao=±.
æ¶ùu: Cc_±Cc ls cco +...o ++++o± .C+ ..
±ao++c +..o=±. ++a=± =±ac. .cc..a /home
C++..+++o++c tco+a. / cc=± =+.a tcC++.
.+. C.aa+oc ._+ao C+ao+++.
+...o C++..+± .++a ++c.o .+a cc±cc+o Cc_±
ls +...o t++c C+.c.a +.+Cc+_±. C++..+c ±+_±
C++..+++c .++ C±o± cca++c C+.cCaco ls +...o
a.c -l C+a.c+ C+ao+ Cc=(±. -l C+ac. ±.+o+.... C++..
+c cc+.+a± ..±ao.++. _c+o. ls +...oa.c. a cc
=± C+ac. ±.+o+.... C++..+c t... ..c++o C++..
+c ±+_± tcC++..+++.o. ..±ao(±. -a ±+_± -l C+ac
+.o ..=++ cCa C+a++o .o c±+oo +ac±a±.
-al, -la, -a -l, -l -a
ls +...oa.c .ac.(++..(± C.++c+c C+ac
+.oo ôC± tco ...c.=ao ++=+.
Co!o Oo±dmm1
-a ±.+o+.... C++..+c t... ..c++o
C++..+.oa± ..±ao(±.
-F C++.cc c.+.a. C.ac.c ++.(±
C++..++.+o C++.coc++ c)++o++...
C++..+± ccCc+c+c C.aco=.
ccc+o± / cc=± =+.a+ C+a++o ++.(±.
-R .=.)a± C++.. ±+_± ..c++ tc
C++..+++oc tco.o++.+a± ..±ao(±.
-r C++..+c ±+_± tcC++..+++oc ..±a.o
+.oô± c).+ao ++.(±.
-s ..±a.o C++.cc .oco (size)
c).+..(++±.
-A . ±+_± .. C++..+++c +ca. ..c++o
C++..+++oo± tco C++..+.oo ++.(±.
149
3.0 mm o´cæooo
Jæ)æ±ó æo±maod
clear cc=± +...o +.a.a+ +..++c(±. tput clear
+...o -o±++c± .C+ .=.a +.+Cc++o+±.
tput cup z. z.
cc=± +...o. ++.±.a (cursor) +.o.+(row) z.. C+(o.+
(column) z. o +_++±. .o+...o +C±+± +ao+o+++oco
gotoxy(20,20) +...oo= ..=a+c+.
eomæ±ù Om_od
cC+=± cc +...o.++. c(++o++..++ ls +...o
.++a t+co =+..+.o. C.+ cc±cc+o man (manual) +...o
.a. .ac.(++Cc=(±. man +...o. ca 'c(c±' C.+o+ C+ao
.(±. coo+ c.+a+c Cc.o+.oa± C+aao+±a cc C.++
c+c Cc.oa+c .oo+ .=a+o.a _++o++o Man Friday
cc+.±..a .
m1óoóom´1:
$ man ls
man +...oa.±c++ +++c c+a.+ao=± t+c +.o
.aa± (level of help) =+.c. c±a±. .++ +.oo=)a c=.=.
man cc+ +...o+ C++ooo=±. t+c C.+ cc±.± +...o+
C++ooo=± +(co +aCc=(±. .c. ++±+.oao (online) t+c
+..o=±.
echo o´cæo
echo +...o. +C±+± +ao+o+++o .ac.(++..(±
printf() ±+_± ‘\n’ _+a.c .a=..a± ..=+++ C.+o+ C+ao
.(±. .acco= cc C+a+.a+ +.aao ++.. cc±cc+o.
echo +...o.a. .ac.(++o+±.
m1óoóom´1:
$echo “Please enter your name”
.o+...o. Please enter your name cc++ C+a+.a+ +.a
ao ++.(±. .(++ c)ao. ++.± (cursor) ++++co=±. .C+
150
c)ao C+a+.a .(++o ++.±.a +_++. echo +...oa.c
C+a++. -n C+a.c. .ac.(++Cc=(±.
$echo -n “Please enter your name”
.a... C±+C++c =++c (double quotes - “”) .±..++=
co.± C+ao+c+c. (improve read ability). ±++.±. C±Co tco +.
..o.a .cc+_ ..±+++Co C.++±.
$echo -n Please enter your name
Oomæùuæ)
® oco¬ c.+.±ao tc.=+o (logging on) -o±++. c c
oco¬ .±aco=c a.±a c±a±. logout .oo+ exit
+...o -o±++. oco¬ .±acoc++ CcoCa+o+±.
® t++«o=)a +.c+C++o.o ±+++ ..±o+o+±.
® C++..+.o Cc+±++ .o+ c.+C+aa± .±±a.o C++..
c.+.±.a (Hierarchial File System) oco¬ c±+=+++.
® oco¬o ++++a=o C++..+c (Ordinary Files). C++..+o
C++..+c (Directory Files). ++..o C++..+c (Special Files)
cc. .oCc_ c.+o C++..+c tcoc.
® C++..+.o. .ac.(++± .aca+c .o c.+..(ca.
v -o. .aca (Root user )
v C++.. t).±a+oa (File Owner)
v =. t).±a+oa (Group Owner)
v c+ .aca+c (Other users)
® cc +...oac C.++c+c c±c±.
+...o C+ac C+aoc.
Command Option Argument
® .±o+± .ac.(++..(± +o +...o+c.
v pwd ++C.++ .=.)a± C++..++.+o ++.(±
v man t+co =+..+.o c±+=±
v mkfs C++±c... c±c.±o=±
v cd ++C.++ .=.)a± C++..+++oc++ ±+_±
v mkdir cc .+a C++..++.+ tcc+o=±
151
v rmdir cc ++oa+c C++..++.+ +o=±
v ls -l cc C++..+++c tco.o++.+o ++.(±
v echo cc C+a+.a+ +.aao ++.(±
m±mJ mmmóoo
I. uoo±´c @cmoæo m)ùuo
i . _________ .ao+ c.+.±.a tcc+o+aca C+c ++±.+c.
z . ±co¬ .ao+ c.+.±.a tcc+o+aca _________.
¯. -o. .aca c¬c c++. .ac)c _________ a± ±++_
c++= .+++a± ...++ca _c+a.
: . cc .aca .cc..a _________ C.a.aa±.
_________a± +++ c.+.±ac tcCo a.±ao+±.
·. cc .aca +c=..a ..±a ..C.+.+a +.c+C++o
o.c _________ a± +++. .cc..a +.c+C++o.o
±+++a.±o+o+±.
·. oco¬ _________ .aca c.+.± _=±.
¯ . -o. .acco++c +=(=+ _________ _=±.
-. +...o C++..++.+o +=.+a _________ +...o .ac
.(+++.
¯ . cd ±+_± .. .a=(o=± ...Ca =.++++ cc _________
.co+Cc=(±
i .. _________ cc=± =+. t++c .ooo C++...+ac
c.. .+.+.a tcc+o+++.
II. o1 ±deo oo_ mmó æ¶ùm1o
i . C+c ++±.+c ±co.¬ tcc+o+c+a.
z . c+C+) ++ ...+ C+a++ cc +oCa oco.¬
C±±.(++ca.
¯. oco¬ .+c coa c±co : c±c +.cc++.+Ca
c(++oC++c«±.
: . n.x.y cc=± .+.C.==o x c+.+.... cco ...+..
+.o++ (stable) .+..+=±.
152
·. .aca. +.c+C++o.o ±.(± .ac.(++ tc.+ c±a±.
·. logout ±+_± exit _+a .c +...o+.oa± C+a++. .ac
.(++ CcoCa+ c±a±.
¯ . .aca ±.(C± .cc..a +.c+C++o.o ±+++ c±a±.
-. C+..o co.±..(++. oco¬o .±c.+o +...±..
.ac.(++..(+++.
¯ . c++ c+coo=± .c+. ..c++. .aca+«± $ +=(
=+.aCa C._+c+ca.
i .. c.+.± +ac++o= (System Administrator) '±. .aca'(Super
user) cc+ C.ac± t=(.
i i . cc C++..+++oc++ CcC++c C++..+++o= ±++. change
directory cc=± +...o.a. .ac.(++Cc=(±.
III. mæcomo
i . ±. .aca (Super user) cc.ca a+a¯
z . t++oc ++C.+.+a +.c+C++o.o ccc+_ ±+++
a.±.Ga+c¯
¯. t++c +.c+C++o.o ±+++a.±o=±C.++ cc.++
Cc=±a c+c.++c a+.c¯
: . +++c ++C.+ + .=.)a± C++ ..++.+ ccc+ _
.+++ C++cca+c¯
·. -o. .ac)c +o.+ t).±+c a+.c¯
·. ±.+o+.... cc C++.cc C.a.a ccc+_ .+ao+±¯
¯. t++c C++..+.o .occ .±....ao ccc+_
c).+..(++o ++.(ca+c¯
-. rmdir +...o.a. .ac.(++. cc C++..++.+ +o=
c++=+ C+.ca+c +.++.c+c c.c¯
¯ . C++±c.±o tco cc C++.c.c c.+.± +ac++ac
t+ca.c ccc+_ .ao=ca+c¯
153
i .. cc .+a C++..++.+ ccc+_ tcc+o=ca+c¯
i i . C++..+c. C++..+++c. tcC++..+++c _+ac+.+
ccc+_ ..±ao(ca+c¯
i z. man +...oac C+ao.+( ccc¯
3.7 Comùuó o´cæooo
Comùmm eoocóoóæoó om´1od
cat +...o C++.cc tco.o++.+ CcooC++=c±.
_c+o more +...o .c=± +.+a. .oc +c±. cat +...o.
=+.c.. C++.cc tco.o++.++ +.aao ++.(±. C++..
C.)a+ cco. tco.o+± +.aao Cc+±++ c± ++=±. c±co
+++c ++=.+ +..+. .o++.+ ±.(C±. .++.+a =±+.o+oo
more +...o .+C++(o=±. .+. cc C+a++o cc .o++.+
±.(C± ++.(±. .(++ .o+++o= .oo+ c+.+a .o+++o=
++a. c.+Ca f (forward) .oo+ b (backward) c.++.o ..++Cc=
(±. +++a+++ C++ocC+co. cat, more _+a.c c±+.±+c(filters)
_=±. ..c +±c±Ca C+oo± +ac+.o c±+.± .=..
+c+c.
tee cc=C±+c +...o t=(. cat +...oac .=.a.
C.+o .cCc_ .=+.o+ C+a+ c±o=±. tee +...o cc T
=±+aC.+o+ C+ao.(±. .++o =±+a .a=( =±o+o+o _c+.
c+o.=+ cc +..±..o =±o. .a=.+± .=+ cc C++=++o
=±o. T =±+a +..±..+ +o++o +.++....+ c±a++ +.a+
C+o++c+o cCa C+a++o +a +..±..±++c± C++=++++c±
.+a±. .C+C.+c_ tee +...o .±.... tcc..+++oc++
(Standard input) tcc.... C.+_. .++ cca++.o+ +.aao
++.(± cat +...o C.+o. .C+ cca++.o. tee +...o.a
.(++o =+.c...(± cc C++.co± C+±o=±. _+. tee +.
..o cCa C+a++o .a=( Cc.o+.o+ C+a+ c±o+++.
oco¬o ..c++o C++..+«± C++.a++a+c ...(
+oc ++.aa++ (stream) c.++.±o+...(coc. oco¬o. '...
++.ao C++..' (byte-stream file) cc_ C++oo..(± cCaCa+c .±.
... c.+o C++.. ±.(C± t=(. tcc.(+ +ac+ ++.a.
'.±.... tcc(' (standard input) cc_±. Ccoa.(+ ++.a. '.±.
154
... Ccoa(' (standard output) cc_± ..±o+..(±. tcc(
C+aa..(± +ac+c. C++.a++a+c ...(+ C++=+a+o _c
+ac+ ++.aa++ (data stream) ±+++..(+c+c. .+++c '.±....
tcc(' cc ..±o+..(+++. C.++c++ .±.... tcc(
cc.+ c.+..o.+Ca+( (keyboard) ..=o+...±co=±. .±.
... Ccoa( cc.+± C++.a++a+c ...(+ C++=+a+o _c
+ac+ ++.aCa _=±. C.++c++. '.±.... Ccoa(' cc.+
.++.C.++a.c ..=o+...±co=±. .±.... tcc...
C++±c.( C.+c+c+_o=+ +.++c.. c±a±. .C+ .+=ao.
.±.... Ccoa...a± =_c.(. C++±c.( C.+c+ cc
C+±..+ +++c++o=+ +.++c.. c±a±.
C±++=. +...o+«o=)a c(++o++.(+.oo ++=
.co+¹a+c. .cC±o. +=(=+a++ [ilamathi@localhost ilamathi]$
cc+ +cc++=. .+o++ Cc_±Cc $ =+ ±.(C± +...o c)ao
+a..(±.
file1 cc=± C++.cc tco.o++.++ +.aao ++=
cc±.+¹a+c. ôC±aco c(++o++.±o coo+...(co+C.+oo
+...o +aCc=(±. file1- c tco.o+±.
It is a fun.
You are encouraged to work with the Linux
cc_ .c..+++o C++cCc+±.
$cat file1
cc+ +...oac Ccoa(.
It is a fun.
You are encouraged to work with the Linux.
cc_ +..o=±.
file1 c tco.o++.++ +.aao. .o+± .o+±++. .+a
.ca. cc±.+¹a+c cco. +...o.a .cc+_ ..±o+
Cc=(±.
$ more file1
.+c Ccoa(.
155
It is a Fun
You are encouraged to work with the Linux.
.++c+. cat +...oo=± more +...oo=± Cc_.+(
c+c± ++= c±aco.o. _c+o. file1-c tco.o+± cc .o
+++o=± .++±++ .c.cc. cat +...oao +..+. .o++.+
±.(C± .+a.Ga+c. more +...oao .o+± .o++±++ +_++.
.+ao+c±a±.
+.++c..o (redirection), =±+a+ C+o++o (piping) .++o
++_oC++=. c+= cat, more, tee _+a +...o+«o= +.+a
c(++o++.(+.o. .+a.C.+±.
±.±+a C+±.. ..±.. .o.oCaco. c(+oc
C±+... ±+±+oo +a«+c+ ±.±+a C.c±.+o± C+co+oo
c...(+c+c. .++c+. C±+... ±+± C+±a+++ C+cCc+(
..=o+...(co+. ±.±+a C++)..+ +..± .+c+..(++.
...cc. ±.± C.aa±C.++ +a«+c+ +.a ±o+c. +=+_o=±.
C++)..o +.+=+«o=± +.++c.cc(+c+ca. oco¬ c.+
.±a±. Ccoa( .oo+ tcc(+.o +.a .oo+ c.+..o
.+o= .oo+±o C++..+«o=+ +.++c.. c±a±. oco.¬.
C.+_++c.a. .±.... tcc(. .±.... Ccoa(. +.aa+±.
c.+. .o.+ ..c+.+a± C++..+o++Cc +c+o C++c+++.
+.+ +c.. C+a+=+ (>) - “c..C.)+¨ =+a( Ccoa...+
+.++c..± .=.a+ C+a+++. ±+C++c +.+ +c.. C+a+=+
(<) - ¨c.++++¨=+a( tcc...+ +.++c..± .=.a+
C+a+++. Ccoa.(+ +.++c.. C+a+=+. ....o+± =+.
c...(± C++.cc > ...a+o++o= ccc++++ +a..(±
C++.cc tco.o++.+. co..o+± +a..(± C++..o= > ...
a+o++o=. c+= +a..(± C++..o= +.++c.c c(+++.
$cat file1
cc+ +...o file1- c tco.o++.++ +.aao ++.(+++ cc.
.+a+C++±. .++ Ccoa... file2 cc=± C++..o= .=.. +.+
+c.. cc±.+¹a+c cco ôC± ++o± +...o.a+ +a
Cc=(±.
$cat file1 > file2
$cat file2
156
cc_ +...o +++. file2 - c tco.o++.++ +.aao ++o++c.
.+. file1- c .....±+c ++o++ .co=±. C±++=. +...o
ac Ccoa( .±.... Ccoa.(o= .=....(+++. +.+
+c..o c+c± .o.o cc.++o. .±.... Ccoa( +.ao=+
+c.cc...(+++. _c+o $cat file1 > file2 +...oao. cat file1 cc
=± .=+. Ccoa... .±.... Ccoa.(o= .++c+ +.ao=
.=.c .co+++. _c+o. .(++co +.++c.. C+a+=+ (>)
+.ao= .=....(± Ccoa...+ +(++ +_++. .cCco
a... file2- o= .=.c.co+++. +.++c..+++ . f i l e2
c++cCc .o.oCaco. .++++ tcc+o+..(±. file1c tco
.o+±. file2-o ++Co(o+..(±. file2 cc=± C++.. c+C+cCc
.c+++o ccc _=±¯ .+oco cca++c .±o+...(. file1-c
cca++c .+o c.+..(±.
.o+...oao ++± +==o ++=..+c. C±o± .++±+c
ccc= cca++c tcoc. +...oao cat file1 cc+ .=+Ca >
=+o= c+oo .co+++. _c+o± file2 .=+Ca c+oo C+ao
.(++..(±. file2 c+C+cCc .co=± cco .+oco cca++c
.±o+..(±. ....o+± tco file1 C++.cc tco.o+±. .±.
... Ccoa.(o= .=.c .co+..(±. .++ CcoaC. filezo=
tcc.++ ..±+++. +c+++C++ooc. file1-c tco.o+± file2-o
c.+..(+++. C±++=. coo+++oc++. ôC± ++o± +...o
C+ao..++ cc..+ +++c .+ao+±.
$cat file1 > file1
C±++=. +...o.a+ C+ao.(++c+o. co..o+. .=+Ca
c+oo C+ao.(±. file1 c+C+cCc .c..++o .+=..a tc
o.o+± .±o+...(c(±. .c. ....o+. .=+ C+ao.(±.
file1 C++.co ..C.++ c+c± .co+++. ccCc +...o C+ao
..++.
.cc+_ +.++c..o C+ao.+( ++a=±++. c+C+cCc .co
=± C++.cc tco.o+± .±o+...(. .+a ++co c.+..(
c.++ +(..++= noclobber cc=± c++.a. .ac.(++oC++c
oo+±. .+. .co=± C++.co C±Co.+..(c.++ (overwriting)
+(o+++. ..++ +ca CcC++c c±a± tco+. c+C+cCc
.co=± C++.co C±Co.+..(c.++ +cao+. ccC+a..+
157
(append) C+a+=+.a. (>>) .ac.(++o+±. ccC+a..+ C+a+=+.
....o+± tco C++.cc tco.o++.+. co..o+± tco C++.
co. c+C+cCc tco cca++oc ô±+++ C+a++c(±.
c(++o++..++.
$cat file1 >> file2
cc=± +...o file1- c tco.o++.+. file2 - o c+C+cCc tco
tco.o+++c ô±+++ C+a++c(±.
±±ùmæc eoo1 (The Standard Input)
.o oco¬ +...o+c. .±.... tcc( c±a++Cc +ac
+.o. C._+c+c. .±.... tcc( cc.+ cc +++c++.c
.oo+ cc C++...c ..=o+...±co=±. cccao.++ (by
default) .±.... tcc(. c.+..o.+a.c ..=o+...(co+.
c.+..o.+ -o± .+c C+aa..(± c.+++c. .±.... tc
c.(o= c(+++ C+oo..(±. .+ccc +...oo= .=.c
.co+...(. .++C++. C+ao.(++..(±.
cat +...o ccc+ C+aoc.± .oo+c±o. .±.... tc
c.±oc++. tcc(+.o c+_oC++c«±. cat +...oo=)a ++
c.o c.+..o.+ac -o±++ tco.Cc=(±. ..c .±.
... tcc( c±a++ cat +...oo= c(+++C+oo..(±.
m1óoóom´1:
$cat
.o+...o.a+ +++c.c. ++.± (cursor) .(++c)o= c++
++++co=±.
This command expects data from the standard input
c.+..o.+ -o± tcc(
This command expects data from the standard input Ccoa(
Now you have to enter the data from the keyboard
c.+..o.+ -o± tcc(
Now you have to enter the data from the knewboard Ccoa(
Ctrl+D
$
158
cat +...o.a+ +++cc. c.+..o.+aoc++ cc c).a
tcc.+++ +c+¹a+c. c+oc) c±+++±. .+C+a+ ...a++
+oc++ (buffer) .±.... tcc.(o= c(+++C+oo..(+++.
.++c++ cat +...oo= tcc.+++ +a..(+++. .+C+ +.+
+c.. C+a+=+ .o.o cc.++o .+C+a+.a cat +...o
+.aao ++.(+++. C±Co .a=.+c+++ ..±C.+_co c). cat
+...o -o±. .±.... tcc( c±a+++ +.ao= .=...
...++=±. .C+C.+o. -c++c+ c). .aca c.+..o.+ -o±++
tcc( +++++=±. ++c++c+ c). c.+.±ac .+o.aa+=±.
t++c .=.a c±++c+=. +++c .=.a c±++c.±a+c cc
..+o +=.C.++o= t=a++Cc=(±. +..+ c)ao Ctrl+D
cc+ +c± +...o. ..+ t=a++c(+++.
°PŠ¹: +ac+.o(data) ca ..=o+.±o C+++
++=± +co= c.c.o+±. ca+o±+c +aca++ .co
=±C.++ ..+. .++c++o= .=..± cc.++. ..=
ao C+o+ .co+C++±. ..=a+c+. +.a+ C+±++
.c++. .++c++o=+ C+.c c+.(±C.++. .oo+
..= +a±.±C.++. ôa+c c.+ao +.a .=.c
.co+++. ...a++.+ ..=o= c.c.o+±. tc
c( C+aa..(± +ac+c ...a+++o C+o+.co+.
..(. .±.... tcc.(o=+ ôa+c c.+ao .=.c
.co+..(+c+c. oco¬o Ctrl+D =+a(. C++..
c±co =+ac (end-of-file character) _=±.
cat +...o.a Ccoa.(o++c +.++c.. C+a+=+ (>)
a.c C+a+++ +ac±a±.
m1óoóom´1:
$ cat > file3
The typed in material will be redirected
to the cat command through the std input c.+..o.+ -o±
and this message is sent to the file after “>” tcc(
symbol.
Ctrl+D
159
$ cat file3
The typed in material will be redirected
to the cat command through the std input
and this message is sent to the file after “>”
symbol. $
eoo´1ó JæoJmùu Oo±mæ¶ |·i
(Input Redirection Operator)
+ac+c C.++c++. c.+..o.+ c±a++ .±....
tcc.(o= .=.c.co+..(+c+c. .±.... tcc....
C++..+ooc++ +ac+.o. C.+c± .ac.(++oC++co c±a±.
tcc.(+ +.++c.. C+a+=+ (<) -o± .+ ++++a±++++. cat
+...o. file3 cc=± C++.coc++ c.+..o.+aoc++ .oo
+ac+.o. C._c++=o ôC± ++o± +...o.a+ +a Cc=(±.
$cat < file 3
The typed in material will be redirected
to the cat command through the std input
and this message is sent to the file after “>”
symbol.
Ccoa.(+ +.++c.. C+a+=+ (>) .oo++ ++a=+
++o. C+a+ +.ao= .=....(+++. tcc.(+ +.++c..
C+a+=+ (<) file3-c tco.o++.+ .±.... tcc.(o= .=.c
.co+++. cat +...o .±.... tcc.... .±++. file3-c
tco.o++.++ +.aao ++.(+++. file3-c +ac+.o. .±....
tcc.(o=+ +.++c.c file4-o c.+..(±+_. .±.... Cco
a...a± +.++c.. Cc=(C±co. ôC± tco +...o.a+
+aCc=(±.
$cat < file3 > file4
æmm±oo (Pipes)
cc +...oac Ccoa... .cCc+c +...oo= tc
c.+++ +aCc=(C±co +.++c.. C+a+=+ .ac+a++. +.+
+c.. C+a+=+ C++..+oc±+ ±.(C± C+ao.(±. .+++ =±
+.o+oo =±+a (Pipe) .+C++(o+++.
C++..+«o=± +...o+«o=± ...Caaco Cc_
.+... +++c C+oc++. .)++C++co Cc=(±. ca c(++o
160
++.... .+a.C.+±. cc +.++o ±ao+...+.o+ C+±++ .c+
+cca+c. ±ao+...aoc++ +++++o+c C+ac++= cc +++
.aa±. +++++o+«o=+ ++a± +.. cc ++a± .++.aa± .=a
±a++acca+c. ..C.++ ±ao+...aoc++ C+aa.... +++
++o+c. C++=(C+o .... (Conveyor Belt) -o±++. ++a± .++)c
..++o= .=.c.co+..(+c+c. .++c+. +++++o+c +++)
.±c++. ++a±.++co= c(+++ C+oo..(+c+c. C++=( C+o
.... =±+a C.+o. .ac.(+++. .++c+. .=.++c. cc
.=a+o).±c++ .cCc+c .=a+oco=o =±+a C++=(C+o
.... -o±++ .=.c.co+..(+c+c. oco¬o =±+a C+o+
+o C+a+.+( (Piping Operation) .+ C.+c++++c. +ac+c. cc +.
..oaoc++ .cCc+c +...oo=o =±+a c±a++ .=.c
.co+..(+c+c.
+++++o+c ++a± .+....cc. o+) -o±++o +.+=o=
.=.c .co+..(+c+c. .±c.+. .=a+oa ..++oc++.
+.+=o= +++++o+.o c(+++ C+oo. o+) .ac.(++..(
+++. .+ +.++c..o _=±.
C++.. cc.+ cc c+.+a+c +..++ _=±. .+
oco C.+cc+.o Cc_ ..++o= .=.ca cc=± C.+cc
+c +a++ C.+c+o.o. .=.c.co+.... C.+cc+oc ++o
.+C+Ca ...±Ca .co=±.
C++.. cc.+ +ac+.o+ C+±++ .c..++++c cc
C+±.. ±.+± C±Coaco c(++o++.±o +..++ C.+o .
+...o cc.+. cc _.=+ C++=+.a+ C+ao.(+++c+
+ao c(++o++.±o .=a+.+.o. C.+o. cc C++.cco +ac
+.o+ C+±++ .co+c±a±. C++.coc++ .c+.+ ±.C.(o
+c± c±a±. cc +...o -o±++o C++.coc++ +ac+.o.
.±o+c±a±. C++.co +ac+.o+ C+±o+ c±a±. _c+o +.
..o ++Cc +ac+.o+ C+a++ .co+ c±a++. +.++c..o.
Ccoa... cc C++.cco c.++++. _c+o =±+a+c. Cco
a... CcC++c +...oo= .=..+c+c.
cc C++.cc tco.o++.+ .++. cc±.+¹a+c. cat
+...o cc C++.cc tco.o++.+. C.+_ .+.c .±.
... Ccoa.(o= .=..+++ cc..+ .+ca+c. .+C.+o.
cat +...oac Ccoa... lpr (line print) cc=± .cCc+c +..
161
.oo=o =±+ac± C+o++o+±. lpr +...o. .±.... Cco
a... tcc.++ c+_ .+.c .++.C.++o= .=..+++. .+C+.
.a=( +....o+«o= ...Ca +ac+c .)±++o C++co.
.(+c+c. .++. .=o=+ +.++c..o c+++oo cc..+ .+
ca+c. ccCc =±+a+oc t+c.a+++c ++.Cc=(±.
cc =±+a+c+ .o=±+ao= ccc+++ tco +...o
aoc++ +ac+.o. C.+_. =±+ao= .(++co +...oo=
tcc.+++ +c+++. =±+a C+o++± =+a(. C++=++ C++(
¨]¨ _=±. C±++=. .=o++c +...o.a. .+c++c.
$cat file3 | lpr
file3-c tco.o+±. ++C.++ oco¬ c.+.±ao ..=o
+...(co c) .++.C.++o= (line printer) .=.c.co+..(+
++.
c.+..o.+ c±a+++ +.ao= cca++.o .=.c
.c..+ c..± cc..+ c+C+cCc .+ca+c. c++o C++...
C.ac± +a...++ Cc_± cat +...o .++. .=.a+ C+aa±.
Ccoa...+ +.aao ++.(c++=. .+o++. c) .++. C.++o=
.=.c.co+ ccc C+aca+c¯ _++| c...ao +=(c±++
c.±a+c| cat ±+_± lpr +...o+c .a=(± C+a++ t++c
cc..+.+ +.+Cc++ .co=± .ooc+¯ ..caa=(± +.
..o+c cc.++o .c+.+ ¨]¨ =+ -o±++ ..=o+ Cc=
(± cc..+ +.cco C++c+. c.o +...o.aa± ±+++
c.±a+o+¯ _±. t++c ±+± +)Ca| .C++ c...
$cat | lpr
The printer should be made ready.
Interesting things are going to be printed.
Ctrl+D
C±++=. C+a+ (Ctrl+D +ca++ ...±Ca .++.C.++
ao .++...(±.
cc C++.coco file3 cc+ cca++.o c)c)a++ c)
c= ..( .++.Cc=±a C+.c c+..o+±. ôC± tco +.
..o ...=.a +.+Cc+_±.
$ cat -n file3 | lpr
162
cat +...o n C+ac.c C+a++. file3 c tco.o++.+.
ccCc+c c)a++ c)Ca= ..(. .±.... Ccoa.(o= .=..
+++. cat file3-c tco.o++.+. c)Ca==.( cccao.+aco
.++.C.++o= .=.c .co=±+_ cat +...o.a -n C+ac co
a_+++++. ..C.++. t++c ..±a +=.a+c more- ¿+ +++o+.
C.++¹a+c. C.)a C++.cc tco.o++.++ +.aao ++.. cat
+...o.a. .ac.(++c+o. +++c +..+. .o++.+ ±.(C±
+.aao ++=c±a± cc..+ c+C+cCc .+ca+c. .+++ +o
+.o+ +cao+. more +...o.ao ôC± +=.c+_ .ac.(++
o+±.
$cat file3 | more
file3- c tco.o++.+ c) c=+Co+( +.aao ++..
Cc=±a C+.c c+.(+++. C±Co tco +...o.ao ôC±
tcoc+_ ±+++a.±o+c±.
$cat -n file3 | more
.++o +...oao cc_o= C±+... C++..+.oo =+.c.
c±a±.
$cat -n file1 file2 file3 | more
æ¶ùu: C++... C.aa+«o+..Ca +++.co ..o
+.++. Cc+_ ..Cco/..Cco+c -o±++ .c+.+.
c)o+ Cc=(±.
.(++ sort cc=± .a=co +...o cc_ t=(. =+.c
(± C++.coco c)+.o .+a c).+ao c).+..(++. c)
.+..(++a cca++.o .±.... Ccoa.(o= .=.c.co
=±. c).+..(++a Ccoa... more, cat -n, lpr .oo+ .c++c
C.+c++±+c C+a±+co +...o+«o= .=.c.co+c±a±.
m1óoóom´1oo:
$ sort file3 | more
$ sort file3 | cat -n | more
$ sort file3 | cat -n | lpr
tee +...o.++ c+C+cCc .+++cCo+±. .+ .a....
.=+.o _+_+++.
163
tee +...o .±.... Ccoa... cc C++.co .+c C+a
+++. .±.... Ccoa... c.+Cc=±a .+a C++.cc
C.a.a+ C+aoc.++ (argument) c+_oC++c+++. .±.... Cco
a( +..o+.C.++c.c. tee +...o .+.c .c ++o+o++.
c)o+++. C.c±.+o± .+o cc ++o, tee +...oo= .(++
+++ ..±C._± C++..o=+ +c.cc...(±. ±++ ++.o +.ao=
.=.c.co=±. ôC± tco c(++o++.(. file5-c tco.o++.+
file6-o .+c C+ac+.c. .+.c+ +.aao± ++.(+++.
$ cat file5 | tee file6
cc C++.cc c).+..(++.... tco.o++.+ CcC++c
C++.co .+c C+ac+.c. +.aao± ++..+C+aa c±a±.
m1óoóom´1:
$ sort file5 | tee sfile5
sfile5-o file5-c tco.o+± c).+..(++...(. .+c++
aco=±. c).+a+o+.... tco.o+± +.aao± ++....(±.
sort +...oac+o. file5-c tco.o+± c++ c.+ao±
.++o+...++. .++ tco.o+++c ++o++c c).+..(++..(
+++. file5 o.
Chandran
Ashok
Malar
cc -c_c)+ ++co tco+++o C++cCc+±.
sort, cat, tee, lpr _+a +...o+.oo ôC± tcoc+_
..=o+ c±a±.
m1óoóom´1:
$sort file5 | tee sfile5 | lpr
.+c Ccoa(.
Ashok
Chandran
Malar
C±++=.c+_ +.aao ++....(c+.c. sfile5 C++.c
o± .+c C+aa..(±. .+C++(. .C+ cca++c .++..
++o± t++«o=o +..o=±.
164
$ sort file5 | cat -n | tee sfile5 | lpr
.+c Ccoa(.
1. Ashok
2. Chandran
3. Malar
.++ cca± +.aao ++....(c+.c. sfile5 C++.co±
.+c+=±. .+C++(. .+c .++.. ++o± +..o=±.
tee ±+_± cat -n _+a +...o+.o ..± ±+++oC++co
c±a±. Ccoa( .++C++. ±+_±.
Comùu moemóom (Copying Files)
C++..+.oo .+a+c.+ao. cc C++.cc tco.o
++.+ CcC++c C++.co ++Co(o+ Cc=±a C+.c .±o+±
c+..o+±. +++c .+c.a .+a++ a..±+c +...o+c -o±.
C++..+.o ++Co(..+ ++++a± cc+ C.++o±. cp (copy) +.
..o -o± C+a± c.+ao ...=.a+ C+aac±a±.
+...o ..±..
$ cp [C+ac+c] <-ooC++..+c> <.oo=o C++..+± / C++..>
++a .....o=++«o=c .c...c cc..+ C+ac
+c. C+.c....+o ±.(± C+a++o C++coo+±. .oo+ c.(
c.o+±. C++= .....o=++«o=c (“< >”) .co=± C++o /
C++++c +..+a±+++ +a...Cc=(±. _c+o. t=.±a+c +..
.o.a+ +c±C.++. .+C++o/ C++++c =+o=± t=.±a+c
C++../C++..+. C.aa+.o+ +aCc=(±.
..C.++. +++c file1- c tco.o++.+ file6 -o ++Co(o+
cc±.+¹a+c. .++++c +...o .cc+_ .co=±.
$cp file1 file6
file1 cc.+ -ooC++.. .++c+. +ac+c .++c+C+
C.+..(+c+c. file6 cc.+ .oo=o C++.. .++c+. C.+..(±
++co .+o++c c.+..(+c+c. C±++=. +...o file1- c
tco.o++.+ ccc.+ao± .++o+++. file6 cc.+ c+C+cCc
.co=± C++.. cco .+oco tco.o+± .±o+...( file1-c
tco.o+± .+o C±Co.+..(±. .++c+ cp +...o c+oo
165
.oo=o C++.c.c tcc+o+a cccCa. file1 C++.cc tc
o.o++.+ .+o c.+±. c+C+cCc .oo=o C++.. .c.cc
.+ .±o+...( .C+ C.a)o cc .+a C++.. tcc+o+..
(±. ccCc C++..+.o ++Co(o=± .= +..C._±C.++.
.oo=o C++.co c+C+cCc tco cca++c ...±Ca+c
C++.. c+C+cCc .c.cc ..c+.+a± .±o+ C+)(± cc
..+o +cc++o C++c+. cp +...oao -i cc=± C+a.c+
C+a++. c+C+cCc .oo=o C++.. .c.cc. .+o C±Co.+±
cc.++ .++c+. .oC++.. .±o+...( .C+ C.a)o .+a
C++.. tcc+o+..(± cc.++ c++)o.++ C+a+.a+ +c±.
ccCc. +++c ++o+o+. .=.a +_++c.o+±.
m1óoóom´1:
$cp -i file1 file2
overwrite file2? n$
C++..+c +...o C++..+++o .o.oCaco. c...+
.+.ao =+.c.Cc=(±. file1, file2 _+ac+_o= ...Ca
C++(.. (link) c+.(++Cc=(± cco. -i o=. .+o++ -l +a
Cc=(±.
cp +...oao -r cc=± C+ac +++ cc C++..+++
oco ..c++ tcC++..+++.oa± C+a++. +±o C+ao.+.(
(recursively) c.+ao ++Co(o+o+±.
m1óoóom´1:
cp -r alpha alpha1
.o+...o. alpha cc=± C++..+++oco ..c++o
C++..+.oa± tcC++..+++.oa± .c++oco C++..
+.oa± alpha1 C++..+++o +±oc.+ao ++Co(o=±. .+++
C+ao+o+++o c+C+cCc .co=± +ac+.o .±++c(Cc+±
cc++ _.++o.o. alphai C++..+± c+C+cCc .co=± cco.
alpha- cc ..c++ tco.o+c± .+o C+±o+..(±. alpha1
c+C+cCc .o.oCaco. .++++ tcc+o+...(. ..c++
C++..+«± tcC++..+++«± .+o C+ao+..(±. alpha1 C++.
.+± +...o C++..+++=c tcc+o+..(±. +±o C+a.+ (recur-
sion) cc=± C++o =+++ .·++ C+.cao.o.
+=+++o C++.aC.co+oc (factorial) c.aa.+ C+)
166
a±ooc+¯
0! = 1
n! = n * (n-1)!
factorial(1) = 1 * factorial (0) = 1
.C+C.+o factorial (2) = 2* factorial (1) = 2
factorial(n) +=.+a Cc=(C±co factorial(n-1) ±+...
.+aCc=(±. .+.c n-_o C.co+Cc=(±. .+. +±o
C+a.+o= ca c(++o++.(.
cp +...oo= -S ±+_± -V cc cc=± .a=( C+ac+c
tcoc. -S C+ac. =+a.(+ C++(.c.c (Symbolic Link) tcc+o=
+++. -V C+ac verbose cc..+o=+o=± ccCccc C+aa..(
+++ cc..+ cc)o=±.
Comùuoæo móæod
C++..+.oa± C++..+++.oa± .±..++= rm +...o
.ac.(+++. .o+...o rmdir +...o.ac.+ ++c±o++.
m1óoóom´1:
$rm file1 file2
.o+...o. +...o C++..+++oco file1, file2 _+a C++..
+.o +o+c(±. C++..+c +...o C++..+++o .o.oCaco.
c...+.+ac C.a.a+ +aCc=(±. c+C+cCc. rmdir +...o
.++ .+++cca+c. .±o+ Cc=±a C++..+± ++oa++ .o.o
Caco rmdir +...oa+o .aco.o. .+C.+c+ +.o.±+oo
C++..++.+ .±o+. rm +...o.a -r .oo+ -R (recursion cc.
.+o =+o=± C+ac.c C+a++o C++(+++o C.++±.
m1óoóom´1:
$rm -r alpha1
.o+...o. alpha1 C++..++.+ .+c tcC++..+++c
t... c.(C±+++±++ +o+c(±. -i ±+_± -V C+ac+.o .+c
.ao.+c C.+coo .ac.(++o+±. -f cc++ .cCc+c C+ac±
t=(. .+.c +++c .ac.(+++±o .c..C+ +oo+.
167
mJe´1ó æ¶oam Comùuù Om±! Oo±qmuoam
C++..+oc C.aa+oo cc .=+++c +.cco tco+
cco c.. C.a.aa± .+++ C++cc++=. oco¬ *, ?, [ ]
..±aoo +++.co C+a++ _+a ++..o =+a(+.o c±++
aco+. ch cc+ C++.+=± C++..+.o .oo+ .c cc c±a±
C++..+.o. ..±ao. cc±cc+o * cc=± ++..o =+a(
t++«o= t+c±.
m1óoóom´1:
$ ls
main.c fact.c swap.c char1 char2.ex doc1 doc2
$ ls ch*
char1 char2.ex
$ ls *.c
main.c fact.c swap.c
*
cc=± ++..o =+a(. ±+cco ..c++ c.++
+«o=± .+o.++ ..±+++.
$rm
*
.++o +...o ±+c± _.+++c+. ..c++o C++..
+.oa± +..+C++++c(±. cc+o=+ ¯ . C++... C.a)o
c.(.C.+c c+.+ c.++o=. .+o.++. .ac.(++..(+++.
$ls char?
char1
æ¶ùu: cc+o=+. c++.c c.++ cc..+ +a=a++
c(+++. char? cc+ C.aa C++.cc C.aa · c.++
+occo+ cc..+o =+o+++. c+o ++c= c.++
+c ±++++.c.++c+ char cc.+ ±+++++. +..+
c.++ c++ c.++++c± .co+o+±. c==++c±
.co+o+±.
char2.ex cc=± C++.. ++.....++. ++a=± .+c +o±
· c.++o=± .++± _=±.
++a .....o=++c [ ], C++.cc C.a)o .co+c+ c.+++
C++=+.ao =+.c.. .ac.(+c+c. doc cc+ C++.++ i .oo+
168
z cc c±a± C++.cc C.aa+.o. ..±ao. cc±.+¹a+c.
ôC±aco +...o.a+ +aCc=(±.
$ ls doc[12]
doc1 doc2
.+C+ C+.Cc=±a c.+++c c=+c i .oo+ z. iz
cc_ c(++oC++co... ±+..++. cc c++c (range) ca±C.o
.o+.oo =+.c. c±a±.
m1óoóom´1:
doc[1-5] doc[a-g]
.cc+_ ++++o doc1, doc2, doc3, doc4, doc5 _+a C.aa+oo
C++..+c tcocc+ cc+ C+(±. .C+C.+o. doca, docb,
docd, docd, doce, docf, docg _+a C.aa+.oa± C+(±.
eæ) mm_m o´cæooæoó Jmóood
cc +...o.a+ +++cc Enter c.+.a ..++± cc
.++. +...o c)ao +c++++c C+aa c±a±. ..+ .±.o
=+ .oo+ Crrl+B), co+ .±.o=+ .oo+ Ctrl +F) _+a c.+
+.o. .ac.(++o ++.±.a ++a++o+±. Back Space .oo+
Ctrl+H) ±+_± Delete c.++.o. .ac.(++ c±o+±C.+o c.++
+.o .±o+o+±. Ctrl+U c) c.c.+a± .±o=±. cCa c)ao
cc_o= C±+... +...o+.o+ +ac±a±. _c+o ..a.
.co . -o± .c+.+. c)o+ Cc=(±. cCaCa+c +...o
.a cc_o= C±+... c)+oo c.++ C+oo c±a±. _c+o
ccCc+c c)ac ._+ao± cc++aco C++.... (\) .ac
.(++ Cc=(±.
Comùuoæo mo!óoqm Om±! mmm_oqm
mv (move) cc=± +...o .a=( .=+«o=. .ac.(+++.
i . cc C++.. .oo+ C++..++.+ ca ..++oc++ .cCc+a
..++o= ++a++o+±.
z. cc C++.. .oo+ C++..+++c C.a.a ±+++o+±.
æ¶ùu: cc C++ .c.c c).++oc++ .cCc+ a
..++o= ++a++c+ cc.+ .+.c ++Co(..+oc++
±+_...++=±. ++a++ocC.++ .++++o C++.. tc
c+o+..(c+o.o.
169
+...o ..±...
mv {C+ac+c] < -o±> <.oo=>
m1óoóom´1:
$mv temp temporary
.o+...o temp cc=± C++..+++c C.a.a temporary cc_
±+++ ..±o=±. mv +...o -o±. cc C++.c.c Cc+.++o=
++a++o+±.
m1óoóom´1:
$mv file1 /home/ilamathi/personal/file1
.++ c.+a+c +...o+oo. -i, -v, -f _+a C+ac+.o. .ac
.(++oC++co c±a±.
omùOmm¶±m CoJ. Cm)m ommod
$ =+.a .(++ date cc=± +...o C++(++ +=.C.++
ac tco.±++ C++ ±+_± C+a± _+ac+.+. .+a.ca.
o+±.
m1óoóom´1:
$ date
Wed July 07:11:41:12 ET 2004
C++. C+a± _+ac+.++ +.aao Ccoa(c++= cc.++
.c+.+ c±c.±++oC++co .oCc_ C+ac+c tcoc. .+++
C+ac+c .a... C±+C++c =++«o=c +a... Cc=(±. C±+
C++c =++«o=c ..c · =+a.c C++.++ Cc=(±.
C++ao ++c. ±++±. _=..a± C+a++o ±=. +±.±.
cc+±.aa± +=.+a c±a±. .++++c C+ac+c ôC±.
Co!o Oo±dmm1
%d ±++++o ++c .oo+++o
%m _=±o ±++± .oo+++o
%y _=( +..+ .a=( .oo+++c
%D C++ mm/dd/yy c±co
%H ±= ..c+o z¯ c.a
170
%M +±.++c .. c+o ·¯ c.a
%S cc+±+c .. c+o ·¯ c.a
%T C+a± HH:MM:SS c±co
%a +co+.... c+a ++c C.aa+c (Sun
c+o Sat c.a
%h +co+.... ±++. C.aa+c (jan c+o
dec c.a
%r C+a± AM/PM =+±+c++o
Date +...oac C+ac+c
æ¶ùu: %m, %M _+ac++o ±+c± +cc±++ .co+
Cc=(±. %m, _=±oco ±+++.+ c==++o
++.(±. %M, +±.++.o c==++o ++.(±. .C+C.+o.
%h ±+_± %H .++a± +cc± C+.c. %h +co+....
±++. C.a.a+ +c±. %H, ±=.ao =+o=±. date +.
..oao %D .ac.(++aco c(++o++.... .+ao+
.co+¹a+c.
m1óoóom´1:
$ date “+%m”
7
$ date “+%D”
07/07/04
$ date “+%T”
11:43:14
æ¶ùu: C±++=. C+ac+oc t+ca.c. c.+.±
+ac++. date +...oac c++. .=+.aa± ±+++
c±a±.
3.8 Comùu aæmæm: mount mm_m umount
oco¬ c.+.±ac ..c++o C++..+«± ca c.(C±+++o
C++..+ ±a++o ..=o+...(coc. +.oc.(+c. C++±c.
(+c. =_c.(+c C.+c+ .oCc_ C+±..+ +++c++oo .o
C++..+c .+cC+aa. ..±co+o+±. cc =+.c.. C+±..+
+++c++o tco oco¬ C++..+c cc C++.. c.+.± (File
System) _+ c.++.±o+...(coc. t++c oco¬ C++..+
±a±. CccCc_ C+±..+ +++c++oo ..±++co .o C++..
171
c.+.±+.oo C++=±co+o+±. C++..+c +±±oco. Cc)o
c++ C++.+=± cc c. +.+c+c C++..+ ±a±++ c.++
.±o+...(coc. ±a++c Cca. +.oc.±c .++.c)co (Parti-
tion) tco C++.. c.+.±ao ..±++c++ C.++o±. =_c.(.
C++±c.(o C++.. c.+.±aoco=± C++..+«o= cc
.+.+.C.aa .co=±.
oco¬ C++..+.o tco.o+a cc C++±c.( +coC+
t)a C++..+ ±a+.+o C++=±co=±. .++ ±a±. c+c.± ±a+
+oc++ c)o+.... cc +.o±a± (sub-tree) _=±. t++c
.co.a cc +.o±a++o= c.c.o+±. t++c .co +-+
±+c c.+ao C+ao.. Cc=(C±co. .+.c. .coo +oc
.ao=a++C++( (Directorate of School Education) ..=o+Cc=(±.
.coo +oc .ao=+.ao +o++ _Co++o++±CoCa t++c
.co +o +.c±o.++.o C±+C++co c±a± cc++o± .ao=
+a++C++( ..=.. co+a±. .+C.+o. C++±c.(± =_c.
(± -ooC++..++.+Ca (root-directory) c..±a+++ ++a++co
+c+c. .c++c C++.. c.+.±ao tco C++..+.o .o+
Cc=(C±co. -oo C++..+++oc+C+ C++.++Cc=(±.
.+++++. +.o±a+.+ c+c.± ±a++.c ..=o+ Cc=(±.
.cc+_ ..=o+...++ c.aao C++±c.±aocoC++..+.o
t++o+o .o+ .ao++. ..c+++ C+±.. ±.+++«o=±
.+C.+c++±. ..c c+C+cCc ..=o+...±c+++o c±a
.c++c tco.o++.+ .o+ c±a++. +.oc.±c .++.c)
co tco C++.. c.+.±a++ .c+++o± .+c± mount +...o
-o± +_c... Cc=(±. _c+o .++ +.c±o.+.a .ao+
c.+.± ++Cc .+a++o C++c+++.
cc C+±..+ +++c++c C++.. c.+.±o=± t++c c+c
.±o C++..+ ±a++o=± ...Ca ..=... +_c± C+ao
.+(. '+++c± C.+c+++o' (mounting the device) cc+.±o+..(
+++. mount +...o -o± .+ +.+Cc++..(+++. .+cc+=
.++++c++c C++..+++o= ±++o C++=( .+oco C++..
+.o .o+o+±. .+oco co+a =.+.+( a+C+co. C.+c+
+.++ C+ao.+... -o. .aca (root user) ±.(C± C±+C++co
c±a±. .+. ca ...a++++ C++c+c+o±. +=.C.++ c.+
.±ac cc++.±.c. (Integrity) .++++o+++. -o. .aca++ tc
.=±C.++ +...oc)ac +=(=+ $ oc++ # _+ ±++.
172
C.+c.+o +cc++c.Ga+c. ccCc. mount +...o # =+ao
+a... Cc=(± cc..+ +.cco C++c+.
.ao.++Cc. mount +...o .a=( C+aoc.+.o (arguments)
c+=±. .c+_c cc_. C++±c.( C.+c+ C+±.. +++c+.+o
=+o+++. .+c c±a++Cc oco¬. C++.. c.+.±.a .o=
+++. .a=.+c+ C+aoc.. .±....o C++..o +...±.co.
.++. .+a C++.. c.+.± ..=o+...cco C++..++.+o
=+o+++. C+±..+ +++c++oco C++.. c.+.±.a. c+c.±o
C++..+ ±a++oco destination cc=± C++..+++o ..=o+
cc±.+¹a+c. “device” cc++ ++.. +++co C++... t++c +=.
C.++Ca+( ccC.+cc +++c+.+ ..=o+++. mount +...o
ac C++.a.±.. (syntax) cc±+_.
# mount device destination
+++co C++..+c /dev C++..+++oo .co+...(coc. ..c
C.++c+++ +co+.... C.a.ao C++=±co=±. +++c c).+
c=. C.a)c ._+ao ..±C.++co=±. c(++o++..++. fd0
cc.+ t++c +=.C.++ao C.+c++...(co c+o+c+ C++±
c..++.+o =+o=±. fd0- cc +..+ c.++ c.oo. +±a±
(Zero) _=± . .+C.+oCc. fd1 cc.+. t++c +=.C.++ao
C.+c++...(co .a=.+c+ C++±c..++.+o .co=±+ac
=+o=±. G+o+oo .a+=± oco¬ .ao+c.+.±ao. +.o
c.(. .++.c)c+oc (harddisk partitions) C.aa+c hd cc+ C++.+
=±. .(++. +.oc.±c c).+Ca=. ca c.+++o =+o+..(±.
._+a++. .++ +.oc.±c c++.ca+c+ .++. c)c cc..+o
=+o=± c).+Ca= ..±C._±. c(++o++..++. hda2 cc.+.
c+c.o c.±o .a=.+c+ .++.c).co =+o=±. a cc=±
c.++ c+o +.oc...a±. z cc=± .oo+± .a=.+c+
.++.c).ca± =+++ +++++.
cc C++.. c.+.±.a .o+ Cc=(C±co .+.c c+
oo C.+c++ Cc=(±. C++±c.(+«±. =_c.(+«± mount
+...o -o± Cco....a++. C.+c++..(+c+c. ôC±aco
+...o. c+o C++±c..++ +++c++o (fd0) tco C++±c....
/destination cc=± C++..+++o C.+c+++++.
# mount /dev/fd0 /destination
173
t++c +=.C.++ac .ao++.+ +_++± cc.++Cc+
.oo+ C.+c++.... cc C++..c.+.±.a +o+c.(
CcC++c.+ +_cc++= cc.++Cc+. c+C+cCc C.+c++....
C++.. c.+.±.a +±++c. (unmount) Cc=(±. ccC. ++a.±.
t++c c+c.±o C++.. c.+.± ++c++Cc +±++...(
c(±. cc C++±c... C++±c..+++o C+o++. .+.c c+c
.±o C++.. c.+.±Ca+( C.+c++acca+c. ..C.++. .++
C++±c... c(++c.( CcC++c C++±c...+ C+c+ cc±
.+¹a+c. c+oo +++c c+.+a C++±c.... c+c.±o C++..
c.+.±aoc++ +±++c. (unmount) Cc=(±. .+cc+= C++±
c..+++oco C++±c... +o+c.(. .+a C++±c...+
C+c+ Cc=(±. umount +...o-o± cc C++.. c.+ .±.ao
+±++c.o+±. +...o+ C++o.o c.++o +.±..+c++c. u-o
=± m- o=± ...ao n .o.o umount +...o. cc +++c++c
C.aa .oo+ .++++c± C.+c++. ... C++..++.+ C+ao
c.++ c+=±. .+c +...o ..±...
# umount device .oo+ destination)
ôC±aco +...o+c. /destination C++..+++o C.+c++....
C++±c...o +±++c(±.
# umount /dev/fd0
# umount /destination
umount +...oao cc co+a±+c +.++.c c+ tco+.
+++c ++C.++ .=a+++o C++=±co=± C++.. c.+.±.ao
+±++c. c±a++. cc ±ao+.oac acao .±a++C++=(
.+c .±..=+.a Cc..o +.++ .ooc+¯
OmJmo´±æm Ommmóooqm. o±oæmóoqm
cc .++++.+ +++c .±o+ cc±cc+o c+oo ...++
+± t++o.± .co+ Cc=(±. .+C.+o. cc C++±c.±c
tco.o++.+ .o+ cc±cc+o. c+oo .+.c. C.+c++
aco+ (mount) Cc=(±. c+C+cCc C++cc.±. /dev/fd0 cc.+
C++±c..++.+o =+o=±. +++c cc±ca..± cC+=± cc
C++..+++o .+.c. C.+c++o C++coo+±. cc++o± oco¬
c.+.±. C++±c.(+.o .ac.(++c++C+c /mnt/floppy cc=±
c++a+ c C++ ..++.+ c+C+cCc tcc+ o+ .c++co+.
174
mnt cc+ C++o mount cc..+o =+o+++. ôC±aco +...o
C++±c.±.c c.+.±ao C.+c++c(±.
#mount /dev/fd0 /mnt /floppy
C++±c.±oco C++..+.o. .±o+o +=.C.++ cao±.
c+o C++±c... c.+..± +±+++±o (unmount) . C++±c..
+++oco c.±.c ±+++c+o. t++«o= cc c.±+.(± C+a+
+..o=±. C++±c... ±+++ cc±cc+o. dev/fd0-o c+o c.
±.co +±++acc. .+a C++±c... ôC±acoc+_ Cco.
...a++ +_c Cc=(±.
#umount /dev/fd0
.oo+
# umount /mnt/floppy
c+=
# mount /mnt/floppy
æ¶ùu: mkfs (make formattings) +...o C++±c.±.c
c±c.±o=±.
J±-C)mmoæoù Ommmóood (Mounting CD-Roms)
+±Ca+± c.±.c. C.+c++ cc±cc+o. +++c. C.a
.ao =+.c. Cc=±a+o.o. oco¬ c.+.±ao. +±Ca+±
C++.. c.+.±+.oo .+a+cc++C+c /mnt/cdrom cc=± C++.
.+± tco+. ôC± tco +...o +±Ca+± c.±.c. C.+c++±.
# mount /mnt/cdrom
+±Ca+± c.±.c ±+++ cc±cc+o. ..C.++ .co=±
+±Ca+± c.±.co +±++c.(. .+a +±Ca+± c.±.c.
C.+c++Cc=(±. .++++c +...o+c.
# umount /mnt/cdrom
..C.++ +±Ca+± c.±.c ±+++o C++coc±
# mount /mnt/cdrom
CcC++c C++..+++o +±Ca+± c.±.c. C.+c++ cc±
cc+o. mount +...oao +++c. C.a.a+ C+a++o C++co
Cc=(±. ôC±aco +...o +±Ca+± c..+++o =_c.±.c
175
/destination cc=± C++..+±++. C.+c++±. .++ c(++o++.±o.
+±Ca+co=)a +++c. C.aa /dev/hdc _=±.
# mount /dev/hdc /destination
Oomæùuæ):
C++..+.oo .+a+cc++++c +o C.++c+c +...o+c.
cat - C++..+oc tco.o++.+o ++.(±.
more - =+.c(± C++.cc tco.++.+. .o+±
.o+±++ +_++o ++=co=±. f ±+_± b c.+
+ .o ..+ +. c.+ Ca ccCc+ o +. cc
Cc+o+ ++ao+±.
tee - C++.cc tco.o++.+ +.aao ++.(±.
.C+Cc.oao .+.c .cCc+c C++.co
++Co(o=±.
| (pipe) - cc +...oac Ccoa... .cCc+c
+...oo= tcc.++ .=.c.co=±.
> (output redirection) - +ac+.oo C++..o=+ +.++c..±.
< (input redirection) - C++.coco +ac+.oo +...oo=+
+.++c..±.
cp - C++..+.o ++Co(o=±.
rm - cc C++.. .oo+ C++..++.+ +o=±.
mv - C++..+c .oo+ C++..+++.o ++a++±
.oo+ C.aa±++_±.
mount - cc C+±..+ +++c++oco C++.. c.+
.±.a c+c.±o C++..+ ±a++.c C.+c+
+±. .o+...o .c C+aoc.+.o c+=±.
umount - C.+c++.... cc C++.. c.+.±.ao +±+_±.
fd0 - t++c +=.C.++ao C.+c++...(co
c+o C++±c..++.+o =+o=±.
176
Cmqm Je o´cæooo:
date - ++C.+ .+a +=.C.+ ++ C++.aa±.
C+a+.+a± .+ao+c±. ±+++c± .ac.(±.
tput clear - +.aaoco cca++.o+ +..o=±.
tput cup - =+.c.. +.o.+. C+(o.+ao ++.±.a
+_++±.
man - c++Cc+c oco¬ +...o.++a± t+c+
C+a++.o c±+=±.
m±mJ mmmóoo:
I. uoo´c @cmoæo m)ùuo
i . _________ +...o -o± C++..+.o C+a±a++ ++
Co(o+o+±.
z . cc =+.c.. +...o .++a t+c+ C+a++.o .+a
cc±cc+o. _________ +...o .++.+a t+c.a+
+c±.
¯. cc C.)a C++.cc tco.o++.+_________ +...o.
.o+± .o+±++ +_++o ++=co=±.
: . cp +...oao _________ C+ac. .oo=o C++.co
C±Co.+..(c+ .++ c++)o.+ C+aa±.
·. $cat file1 _________ file2 cc=± +...o file1- c tco
.o++.+ file2- ac ccC+ao=±.
·. +.++c..o C+ao.+( -o±++ c+C+cCc .co=±
C++.co C±Co.+..(c.+ +cao+ _________ cc=±
c++.a. .ac.(++o+±.
¯ . C++.. ._+o =+a( _________ _=±.
-. cc +++c+.+. C.+c+++o (mounting) cc.+ cc C+±..
+++c++oco C++.. c.+.±. c+c.±o C++..+
±a++o=± ...Ca ..=..._________ _=±.
¯ . +.oc.±c .++.c)co tco C++.. c.+.±ao ±a+
+c Cca .c+++o±. +±Ca+± C++.. c.+.±ao .co
=± C++..+«o+++ cc _________ .co=±.
177
i .. _________ C.+c++± .=.a ±.(C± C+aa±.
i i . oco¬ c.+.±ao tco ..c++o C++..+«± ca
c.(C±+++ _________ ±a++o ..=o+...(coc.
i z. oco¬ C++..+.oo C++=. cc C++±c.( +coC+
t)a C++..+ _________ .+o C++=±co=±.
II. II. II. II. II. o1 ±deo oo_ mmó æ¶ùm1o
i . Is +...o. C++..+oc tco.o++.+o ++.(±.
z . mv +...o. C++.c.c c).++oc++ Cc+.++o= ++a++±.
¯. tput cup 20 20 cc=± +...o. +C±+± +ao+o+++o
gotoxy(20, 20) cc=± +...oo= ..=a+c+.
: . echo -n “This is nice” cc=± +...o. This is nice cc+ +.aao
++.±. ++.±.a (cursor) .(++ c)o= c(+++ C+oo±.
·. read myname cc=± t.a+ao +...o +C±+± +ao+o++
+oco gets(myname) +...oo= ..=a+c+.
·. cat +...o cc C++.cc tco.o++.+. .o+± .o+±++
+_++o ++=co=±.
¯ . $ cat file1 > file1 cc=± +...o file1- c tco.o++.+ .+c
±C+ c.+oC++c«±.
-. $ cat file1 > file2 cc=± +...o. file1, file2 _+a .a=(
C++..+«± .c+++o ±.(C± C+ao.(±.
¯ . lpr +...o .±.... Ccoa... tcc.++ c(++o
C++=(. .+.c+ +.ao= .=.c.co=±.
i .. mount +...o .a=( C+aoc.+.o c+=±.
i i . umount +...o. cc +++c++c C.a.aCa+. .+ C.+c+
+.... C++..+++c C.a.aCa+ C+aoc.++ c+=±.
III. mæc omo
i . rm -r, rmdir _+a .c +...o+«o=± tco Cc_.+( a++¯
z . My name is <yourname> cc.+C.+c+ C+a+.a+ +.aao
++..+ C+ac+ c..±¯
178
¯. cc C++..++.+ .+oco tcC++..+++Co+( c.(
C±+++±++ .±..+ ccc+_¯
: . cat +...o ccc C+a+++¯ cat +...oac ..c++
c±c++.oa± c.+ cc++o+.
·. =±+aC+o++o. +.++c..o Cc_.(++o ++.(+.
·. mv, cp +...o+.o Cc_.(++o ++.(+.
¯ . file1 c tco.o++.+ file2- o ++Co(..++=)a Ccc
Cc++c c±c.++.o coo=+.
-. cc C++..++.+ .+oco ..c++o C++..«.=± ++
Co(..+ ccc+_¯
3.9 mq Oomæùm (vi Editor)
C.c±.+o± C++..+.o tcc+o+c±. .±o+c±. +c+++
C++=o+c± C++=.c+c (Editors) .ac.(+c+c. oco¬o .o
C++=.c+c tcoc. .c+_c +o .+a..± c+a++.c.
..c++ oco¬ c.+.±+oo± .a=( .±....a+c C++=.c
+c tcoc. ..c c. (ed), c¿ (vi) C++=.c+c _=±. c. cc
C+a++o cc c).a+ +c++ ±.(C± .ac.a .=±+o=±.
ccCc .ccoc++. .ac.(++..(c+o.o. c¿ C++=.cao
cc C+a++o +.aao cc .o+± c.aao+c t.a.a+ +c++
a.±o+ c±a±. ccCc. c¿ C++=.cCa ..C.++± .aco++.
.ac.(++..(+++. aco¬o c¿ C++=.c .+c+..(++.
... ++o+..++o. c+C++=.c+c c+o± .oo++ ca+o±+c
c+++.o. c¿ C++=.c c±++a+.
C++=.c+c c.+..o.+.a c++o± Cc++c .c .=
+«o=. .ac.(++o C++c+c+c. ..c.
i C++=..o +...o+.oo =+.c..
z c.+++oc tcc... c+_o C++co.
C.++c+c G+ C++=.c+c. C±++=. .c.=+.oa± c.+.
.o.+ac c.++«o+..Ca c)++o C++c+c+c. t.a.a
tco. c.++ c.++.oa±. C++=..o +...o+«o=. .=
c.++.oa± (Functional Keys), +.(..+.( c.++.oa± (Control Keys)
.ac.(++o C++c+c+c. .++.+a G+ C++=.c+c c)c+o+.
179
... c.+..o.++.o. C.)+± ++a++co+c+c. c.++oc
c==o.+ ++«o= ++c .++)++o C++=C. C+o+++.
_c+o. aco¬. ..++ C++.a++ oco¬. .a=(C± .o
c.+ao± +o+c±+c.c. oco¬ c.+.±ao c++c.+ c.+.
.o.+.aa± .ac.(++o+±. oco¬oco C++=.c+c. .+a
c).+ c.++ c.++«.c ±+o =.+++ c==o.+ao+c
c+ c.++c tco c.+..o.++«oC+c c±c.±o+.....c.
+o +.(..+.(o =+a(+c. Esc c.+ ±+_± Enter c.+ .c
coc++c. ±+o=.+++ c.++.o .c++o C++=(. c¿
C++=.c. +.o.±.a ccc+_ +±+oo+++ cc. .+a.C.+±.
+++c. t++c .coao ±+=ca++ +.++ C++c+¹a+c. .C+
Cc.oao t++c c.±o ±+c++c±/±+o++c± +.++ C++c+
¹a+c. .coao .co=±C.++ +o c.ac.++«o= t...(+
C+ao.(+¹a+c. _c+o c.±o .co=±C.+C++ ++++a±+++
C+ao.(+¹a+c. cCa +.a .a... Cc.± C++oo. C.+c+o
.o Cc.++c .o+++a. .C+C.+o+++c. c¿ C++=.c. c.+.
.o.++.o .a...Cc.± .=+ C+a+++. c¿ C++=.cao
.cc.+. .++=+c tcoc. ..c.
i +...o. .++= (Command mode)
z tcc.(. .++= (Input mode)
+...o. .+++co. c.+..o.+aoco ..c++ c.++
«± C++=..o +...o (Edit Command) c.++o++ ±++c(+c
+c. tcc.(. .+++co. c.+..o.+ cc ++++a= +..++.
C.++C.+o+ C+ao.(+++.
c.+..o.+ac .+++.c ±++_±C.++. .+c C+ao+c
.±a± ±++c(+++. c(++o++..++. +...o. .+++co. x cc
=± c.+. ++++a= c.+..o.+ao. delete c.+ C+ao.(c+
C.+o. ++.± (cursor) .co=± ..++oco c.+.+ .±++c(±.
_c+o. tcc.(. .+++co. .C+ x c.+ ++.± .co=± ..+
+o x cc=± c.+.++ C+ao=±. Esc c.+ ±.(± c+coo++
c+. Esc c.+.a ..++c+o. +...o. .++=o= ±++c(±.
_c+o. c+C+cCc +...o. .+++co .c.cc. Esc c.+ 'G.'
co c...±. c¿ C++=.c.a. .++++. .ac.(++.ca+«o=
.+++ C+ao.+( ±+c± t+ca++ ..±+++. c++. .+++co
180
.=a++_+¹a+c cc++ ¿a± c+...+o. c(.( c.+.a
..++c±. 'G.' co C+..+o. +...o. .+++co .c...+
.+++ C++coo+±. 'G.' co C+.++c±o. c+C+cCc c(.(
c.+.a ..++± cc.++ tcc.(. .+++co .c++c.(
..C.++ +...o. .++=o= c++c.±a+c cc_ C.+cc. ccCc.
Esc c.+ .+.o =±..++.o+ +cao+++.
c¿ C++=.cac +...o. .++=. .o C++=..+ C+ao.+(
+.o+ C+ao++=.c .+a+c++ C.++o±. C++.c.c+ C+±..+
C.+c+ C+ao+.o +.+Cc++ c±a++. ...=+.o. c)+
C++=..o (line-editing) +...o+c C+a+ c±+c+c. +...o.
.+++co .co=±C.++ co+++.co (: colon) c)+C++=... .++
=o= ..(+ C+oo±. C+.ca+c C+ao.+(+.o +.+Cc++a
c+=. Enter c.+.a ..++ac.c. +c±.c± +...o. .++
=oC+ c++c(ca+c. c+C+cCc +++c .+++co .++=+Co+(.
c)+ C++=... .+++.ca± ..C.++ .+++ C++=±a+c.
mq Oomæùm±d smComùmæm emomóæod. Comóod.
Oomæóod. OooC±_od:
student cc+ C.a)o c+C+cCc tco cc C++.c.c+
+c++Cc+. .oo+ ..C.a)o cc .+a C++.c.c tcc+o
+Cc+ cc±cc+o.
$ vi student
cc_ +...o +ac±.
.oC++.. c+C+cCc .c.cc .+c tco.o+± .o+±
.o+±+++ +.aao ++....(±. ...±Ca+c C++.. .o.oCa
co. cc Cc+_+ +.a.aa±. ....o+++o C++.a++a+c C+o
co (~) =++.oa± ++=o+±. C++.. .co++C++ .o.oCa+.
+++c +...o. .+++co .c.Ga+c. +.aao C+oco =++c
tco .=+. C++.cc .++±++ .o.o cc..+ .o=++c
t=a+++c+c.
C++.co cca++.o tco. cc±cc+o. tcc.(. .++
=o= ±++o C++coCc=(±. a, i, o _+a c.++«c cc.+
..++. +...o. .++=o= ±++o C++coo+±. c+=. C.)a
c.++o ..Ccoac+ ZZ cc. .+ac±. CapsLock Key C+ao.+.
±o .oo++C.++. Shift c.+.a ..++oC++=( .cc.+ Z
181
c.+.a ..++Cc=(± . .+C+ao. C++.c.c+ C+±o=±.
c¿ C++=.c.a c.( CcoCa+ oco¬ C+ao+o++o=+ +c±.
ca+c.
+...o. .+++co .co=±C.++. C+.c.c+ C+±++ c.(
CcoCa+ Cc=(±. _c+o. C++.cco cca++.o tco(±
C.++. .+.c .±o+± C+±o+ Cc=(±. Esc c.+.a ..+
+o +...o. .++=o= ±++Cc=(±. .+cc+= co+++.co
(:) ..++. c)+ C++=... .++=o=+ C+ooCc=(±. .(++. w
c.+.a ..++Cc=(±. .++ c).+ao+c C+ao+c. C++.
c.c+ C+±o=±. +++c +...o..++=o=+ +c±.ca+c. :w
+...oa.c C+a++ cc C++... C.a.a+ ++++o ..C.a)o
C++.. C+±o+..(±. c+ C++oC+ao+oo (Word Processors) Save
As +...o C+ao.(c+C.+o .+ C+ao.(+++.
C.aa C++(o++±Co cc C++.c.c tcc+o+ c±a±. .++
++c +...o.
$vi
.cc+_ C.a)c+ cc C++.c.c tcc+o+ cao±C.++.
t=.±ao cc C++.. tcc+o+..(c+o.o. +++c .+c C+a
a± cca++c ...a+++o (Buffers) C+±o+..(±. C++.a++ cc
a++.o tco. c±a±. ...a+++o tco cca++.o+ +c++
a.±o+ c±a±. _c+o ZZ +...o -o± C++.c.c+ C+±o+
c±a++. .co+c+ C++.c.cCa ZZ +...o C+±o=±. ZZ .ac
+a++ cc+C.++o±. :w < C++... C.aa > +...o -o± cc
a++.o+ C+±o+c±a±. .o+...o. ...a+++o tco cc
a++.o. +++c +c± C.a)o C+±o=±. C++... C.aa+«o
+..Ca C±++o cCa C.a)o .c C++..+c c+_o C++co.
..±+..++. c+C+cCc .co=± cc C++.cc C.a.a+ ++++o.
.+ .+o+=o+..(±. +++c CcC++c C.a.a+ +aCc=(±.
c¿ C++=.c.ac.( CcoCa+ cc±.+¹a+c. :f cco+...o
++++o. C+ao+o++o=+ (shell) +c±.ca+c. _c+o. C++.cco
+o +c++++c C+a+c.cc .o+...o C+ao..++. ..C.++
:q! +...o .+C++(o=±. C++.cco C+aa.... ±+++++.o+
C+±o++±Co c¿ C++=.c.ac.( CcoCa+ t+c±.
t.a+«o= +(Cc ++a++C+oo .±.o=+ c.++.o. .ac
.(++o+±. _c+o .++. .=o=± .+ac).+ c.++ c.+
182
+.oCa .ac.(++ cc±cc+o .+c± ++++aC±. h,j,k,l c.++c
t++c cc..+.+ +.+Cc+_±.
h = [..+ .±.o=+
l = \ co+ .±.o=+
j = ] ô± .±.o=+
k = ] C±o .±.o=+
h, j, k, l _+a c.++c c.+..o.+ac +(o +.o.+ao.
t++oc coo.+..+± tcoc. ++c= c.++«c h, ..+ ca+
+o±. l co+ ca++o± tcoc. ccCc++c. h c.+ ..+ .±.o
=+o= ±+++++c±. l c.+ co+ .±.o=+o= ±+++++c± .ac
.(++..(+c+c. Enter c.+.a h-o=. .+o++c±. Spacebar
c.+.a l- o=. .+o++c± .ac.(++ c±a±.
t.aac ccCc+c c)a± +.aac ..+ ca++o C++.+
=±. Enter c.+.a ..++±C.++ c) c±cC._+++. c)ac
c±co=± +.aac c±co=± ....... ..Cco (Space)
'Cc+_ ..Cco' (dead space) cc..(±. C++.cco .+ C+±o+.
..++. h ±+_± l c.++oc t+ca.c cc c)o=c .+=±+=±
++ao+±. ++.± (cursor) cc c)ac ._+ao .co=±C.++. .(++
c)ac ._+o= ++a cc±cc+o. j c.+.a ..++c±. c+.+a
c)ac ._+o=+ C+oo cc±cc+o k c.+.a ..++c±.
t.aa=C. +.a c.c.+a± ++=±+ C+ooc± c±a±. Ctrl +F
c.++.o ccC+a ..++c+o cc +.a..o+± ++=± ccc+o
(Forward) C+ooo+±. Ctrl+B c.++.o ccC+a ..++. cc .o+±
ccCc+o+ (Backward) ++ao+±.
o1 mmG
c¿ C++=.c t.aac ccCc+c c)o=± c).+Ca=..(
.co=±. c)Ca= ..++ C++.a++ G C.)a c.++ ..++o
=+.c.. c)o=+ C+ooc±a±. C++.cc ._+o=+ C+oo cc±
cc+o. c)Ca= ..+±o G ±.(± ..++c+o C.++±.
C++o ±±.. ca+.+ +a=ao+ cc±cc+o. :set wm =
< C+(o.+ > cc+ +...o +aCc=(±. < C+(o.+> cc=±.+
+o C.+c++±+c c= ..... Cc=(±.
a c.+.a ..++c+o. c¿ C++=.c. tcc.(. .++=o=
183
±+_±. tco(± c.+++c. ++.± .co=±.++o= .(++ c.++
+o++ ..±C._±. i c.+.a ..++ tcc.(. .+=o= ±++c+o.
++.± .co=±.++o= c+.+a c.+++o++. .+c+=±. ++a
c.++ o c c.+.a ..++c+o. ++.± .co=±.++o=o ôC±
cc Cc+_ c).a tcc+o=±. .+a c)ac C++.o+++o tcc(
.+c+=±+_. tcc.(. .++= ..±a±.
±1óod (Deletion)
+...o. .+++co. x c.+. c+.+ c.+.+ .±o=±. c+
C+cCc ++a.±. x c.+ ++++a= c.+..o.+ac Delete c.+
.a.C.+o+ C+ao.(±. x c.+.a +c±.+ +c±. .ac.(++.
c++.c c.+++.o Cc=(±+c+o± .±o+o+±.
dd +...o. ++C.++ ++.± .co=± c).a c.c+±++
.±++c(±. x +...o .oo+ dd +...oo= ccc+o ca c=
++++o. .++ c==o.+ao c.+++.oCa+ c)+.oCa+ .±++
c(±.
++.± .co=± ..++oc++ · c.+++.o .±o+ cc±.
+¹a+c. +...o. .+++co .c++C++=(. 5x cc_ +...o
+aCc=(±. ++.± .co=± c).a .±o+ cc±cc+o. +...o.
.+++co .c++C++=( dd cco +...o +aCc=(±. .++ c)
.±o+...( c(±. 5dd cco +...o ++++o .++c) C++.++
· c)+c .±o+...(c(±.
Oo±oo om! (Undo)
U cc=± +...o. +..+a+++ C+a+ +c+++.++ +ca++
c(±.
o1æ± a¶óod (Break a Line)
cc c).a c+o+ Cc=(C±co. tcc.(. .+++co
a.±++. Enter c.+.a ..++ Cc=(±. .a=( c)+.o c..
.co+ J C.)a c.++ c.+.a ..++c±.
mo!óood (Moving)
t.aac cc .=+.a +o c)+.o ++a++ cc±.+¹a+c.
ndd ++a++ cc±.± c)+oc c==o.+.a n =+o+++ +.
..o -o± .++ c)+.o .±o+ Cc=(±. .o+...o. c=
C.+¬ co¬G .Ca+..cco tco Cc.(± (cut) C+ao.+...
184
c+++. .±o+.... c)+c ...a+++o .c++..(±. .+C+
...a+± cc.+ c=C.+¬ co¬G .Ca+..cco .co=±
c±.o .+.a c+++. .(++. Cc.±a c)+.o ++a++ Cc=±a
..++o. ++.±.a ++a++o C++c«++c. p cc=± c.+.a
..++++c. ++.± .co=± c)o= .(++ c)ao. Cc.±a
c)+c c...co+..(±. .o+...o. c=C.+¬ co¬G .Ca+
..cco tco c.(± (Paste) C+ao.+.(o= ..=a+c+.
moOe1óod (Copying)
cc c).a yy +...o -o± ++Co(o+ c±a±. ++.±
.co=± c) C++.++ n c)+.o ++Co(o+ cc±cc+o. nyy
cco +...o ..±o+Cc=(±. .o+...o .++ c)+.o
++Co(++ ...a+++o .c++±. ...a+++o .c++.... c)
+.o cc±.± ..++o c...co+o+±. .++ c)+.o c..
.co+ cc±.± ..++o=o ++.±.a ++a++acc. p c.+.a
..++c+o C.++±. t++c cc..± +.+Cc_±. ++a++oo=±.
++Co(++oo=± ...Ca tco Cc_.+... c=C.+¬ co¬G
aCoCa .+++cCo+±. nyy +...oao ++Co(o=± c)+c
.±o+..(c+o.o.
Co1od (Searching)
t.a..=+o=c C++o .oo+ C++.a+.o+ C+±o +=.+a
c±a±. cc =+.c.. C++o .oo+ C++.a. t.a..=+o=c
c+C+oo+± ..± C.+_co+ cc..+o +=.+a cc±cc+o /
.oo+ ¯ =+.a. .ac.(++ Cc=(±. cc++acoC++(
(/), ++.±o= .(++cc± t.a..=+ao =+.c(± C++a=.a+
(pattern) C+±o +=.+a t+c+++. cc+o=+ ¯.a. .ac.(++
ccCc+o++ C+.o+±. / c.+.a ..++a+±. +.aac .±.
.=+ao ccc) C++c_±. c)ac C++.o+++o / =+ .co=±.
++.± .(++o ++++co=±. C++o .oo+ C++a=.a tco.(
Enter c.+.a ..++ Cc=(±. / c.+.a ..++c++= cc..
++.± .c++ ..++oc++ C+.o C++.+=±. C++.cc ._+
c.a C+.o C++.c±. .+ ccCc+o+a C+.o _=±.
cc+o=+a± ¯ .C+ .=.a+++c C+aa±. _c+o cc
Cc+o+a +.+ao C+.o +..C._±. cc+o=+.a ..++c
++= cc.. ++.± .c++ ..++o C++.++. C++.cc C++.o+±
c.a C+.o C++.c±. .+ ccCc+o+a C+.o _=±.
185
mmmmm Oo±od (Changing)
cc +...o cc c).a c++o± ±+++a.±o+. .ac.(+++.
.o+...o c+oo .cc).a .±++c.(. tcc.(. .++=o=
±+_±. .++ c)ao .+a cca++.o tco.(. Esc c.+.a
..++ Cc=(± .o+...o. dd ±+_± o c .a=(± C+a++
+...o _=±. r (replacement) +...o. ++.± .co=± ..++
oco cCa.+.+ ±+++a.±o+. .ac.(+++. c+ +...o+.o.
C.+o. .o+...o. tcc.(. .++=o= ..(+ C+oo++. ±+++
Cc=±a c.+.+. .+++cc=±. +...o. .+++CoCa++c
.c.Ga+c. R (Replacement) +...o. C++.a++a++ t.a.a C±Co
.+ (to overwrite) t+c±. .+. c+ t.a+C++=.c+oo tco C±Co
.++o +...oo= c..+c+. _c+o. t.a.a ±+++ c.+±
C.++ +++c tcc.(. .+++co .co+¹a+c. ccCc t.a.a.
.+c C+a+cc Esc c.+.a ..++. +...o. .++=o= ±++o
C++coCc=(±. .++ c.+ao. .+ c+ t.a+ C++=.c+o.
±c++ Cc_.(+++.
cc +...o. cc c).a ±+++a.±o+ t+cc+C.+o. cw
+...o cc C++o.o ±+++a.±o+ t+c+++. dw +...o cc
C++o.o .±o=±.
t.a+ C++=.cao .+c.a ++± .+++C++=. +...o
+.oo ôC±aco t.a..=+ao .ac.(++. .+a.C.+±.
Having computer knowledge is an invaluable asset, it will do a world of
good to young people seeking jobs.
1 Reliability: Linux is a highly reliable system. Linux servers are not shut down
for years together. Normally operating failures are unknown to Linux systems.
It does not mean that you need not be vigilant. Do not forget the computer
adage. If something can go wrong, it will.
2 Backward Compatibility: Linux has excellent support for older hardware. It
can run on different types of processors including the older ones. It can run the
commands of its ealier version successfully.
3. Simple Upgrade and Installation: The installation procedure of most Linux
versions is menu driven and easy.
4. Suitable to any machine: Suitable Linux version can run on any machine
available now. This allows low investment for the hardware. The users, who
have low configuration machines, prefer to use Linux OS compared to other
OSs that require higher configurations.
186
C±++=. t.a..=+ao -c++c+ +c+.+ c+o+c+++
_o+Cc=(±. ¯ cc=± c=oo= cc.++. ++.±.ao C++=(
cac±. +...o. .+++co .oo+c±o Esc c.+.a ..++o
C++coCc=(±. ..C.++ 2dd cc=± +...o.a+ +c+. .a=(
c)+«± .±o+...(. ...a+++o .c++..(±. ..C.++ .a=
.+c+ c)o=+ C+oo++c. .a=.+c+ c)o=+ C+oo 2G +...o
+aCc=(±. p ++a c.++ c.+.a ..++++c. tcc.(
.++=o= ±+_ca+c. Enter c.+.a ..++c±. -c++c+ +c++
-c_. ++c++c+ c)+o++ ..±C._±. Esc c.+.a ..++.
+...o. .++=o= ±+_++c. _c+o. .++ c=+.o ±+++Cc=±
aco=±. ccCc. ++.±.a ¯ cc+ c=oo= .±ao .c++. r
++a c.++ c.+.a ..++c±. c= ¯ .±o+...( c(±.
_c+o. ++.± ±++_ c.++o+++o ++++co=±. i cc+ c=.=.
.+ac±. +++c tcc.(. .++=o= ±++±+.±a+c. ±=(±.
++.±.a i cc+ c=oo=o C++=(c++. i¿ z _+ ±+++c±.
.C+C.+o z cc..+ ¯ cc ±+++c±.
.c. “I want to strees the point that” cc=± +.+c..a++ C++..a
t.a..=+ac ._+ao C+ao+ cc±.+¹a+c. G c.+.a
..++c±. t.a..=+ac ._+o=+ C+oca+c. ..C.++ ±=(±
o c c.+.a ..++c±. C++c_+c+ Cc+_ c)ao. I want to
stress the point cc tco(++c. C++.cc C++.o+++o=+ C+oo+
+c. 2yy +...o.a+ +ac±. c+oa=( c)+«± ...a+++o
c++..(±. ±=(± C++ooo= .(++ ca ..Cco c.(
+_++c±. p c.+.a ..++c±. ..C.++. .++ .a=( c)+«±
that cc=± C++ooo= .(++. .+c+=±. .c. Having cc+ C++o
ooco H c.+.+ h cc ±+++ Cc=(±. H cc+ c.++c ô±.
++.±.a +_++c±. r c.+.a ..++c±. H c.++ .±o+..(
c(±. ++.±. t++c +...oo=o ++++co=±. h c.+.+. .+a
c±. ..C.++. t.a..=+ ô±o++o ±+_ ±++aco=±.
Having computer knowledge is an invaluable asset it will do a world of
good to young people seeking jobs.
1 Simple Upgrade and Installation: The installation procedure of most Linux
versions is menu driven and easy.
2 Reliability: Linux is a highly reliable system. Linux servers are not shut
down for years together. Normally operating failures are unknown to Linux systems.
It does not mean that you need not be vigilant. Do not forget the computer adage. If
187
something can go wrong, it will.
3 Backward Compatibility: Linux has excellent support for older hardware.
It can run on different types of processors including the older ones. It can run the
commands of its ealier version successfully.
4 Suitable to any machine: Suitable Linux version can run on any machine
available now. This allows low investment for the hardware. The users, who have low
configuration machines, prefer to use Linux OS compared to other OSs that require
higher configurations.
3.J0 Oo±doo eæ)m)d (Shell Script)
'C+ao+o t.a+ao' cc.+ oco¬ +...o+c ..++a
ca t.aoC++.. (text file) _=±. c¿ C++=.cC.+c+ .±....
a+c t.a+ C++=.c (Text Editor) cC+=± cc+o .++.+a C++.
c.c +++c tcc+o+ c±a±. c..± cc..+ .++. .+.++c
._+ao .±o+ tcca+c . =+.c.. oco¬ +...o+oc
C++=+.a .C+ c).+ao .±o+± .ao+Cc=±a C+.c
.c.cc. C+ao+o t.a+aoc t+c.a +++c ++.o+±. +...o
c)ao .++.c +...o+.oa± c).+a++ tco.( +.+
Cc+_c+ +o...(± .= ±.(±c_. Cc=.++ .=+ +.±a±
_=±. cc_. +++c +...o+.o. .+a±C.++ c.++. c.±
c+..o+± .oo+ +...o+oc c).+.a ±+++c.o+±. .a=(
+.oao± +o+oo ±+.±o C++cca+c. .+C.+c+ =±+.o
+oo. C+ao+o t.a+ao .+C++(o=±. ++a=±. +...o+.o
cCaCa+c c.+±.(± c.±ac+. .+cC+a+ C+±++.c++o
C++=.+o C.++±. C+ao+o t.a+aoo tcc.(/ Ccoa.(+
C+ao.+(+.o +.+Cc++ c±a±. ±+++.oo (variable) .+a+o
c±a±.
Oo±doo eæ)m)æe @±óæod
oco¬ c.+.±ao tc.=± C.+.+. +++c .=a++_
c++=+ C+ao+o++c =±o ++o+..(±. .+C+ao+o± 'tc.=
C+ao+o±' (Login Shell) cc..(+++. t++«o=+ ++o+..(± cc
cao.+c C+ao+o± (default shell) .+c (Bash) C+ao+o± _=±.
.+c C+ao+o± +ao+o+ C±+±+.oo .+a+«± ++c C++=.+.
.+c t+cCa+(. +o+o+c C+ao+o t.a+ao+.o +++c tc
c+o+ c±a±. cc C+ao+o t.a+ao. oco¬ +...o+.o
cc++.=++. +o+o+.o+ +a++.co+. .ac.(+++.
188
+C±+±ao ++=..(± +cc+c .oc+.+ oco¬ C+ao
+o± c±+=+++. ±+++.o tcc+o+ ±+..+.o .c++ c±a±.
ca t.a+ao C++.cCoCa ±+++.o tcc+o+o+±. +ao
.a+=±C.+C+ .aca+c +c± ±+..+.o ±+++oo .c++o+±.
+...o+ +=(=+ao. sh +...o.a+ ++++o cc .+a
C+ao+o± (new shell) tcc+o+..(±. ...+a C+ao+o±. +...
C+ao+o++c tcC+ao+o± .oo+ C+a+ C+ao+o± cc_
..±o+..(±. C+ao+o t.a+a.o +.+Cc++. .+++ C+ao
+o+.+. .ac.(++oC++co c±a±. .++ c+.+( .aca+oc
.++±+o+«o= ..+C++(o++±o tc.= C+ao+o+.+. (Login
shell) .++++o+++. cC+=± cc±.+++++ c.oc c+.±c. C+a+
C+ao+o±++c .++o+..(±. .+c±. tc.= C+ao+o++o=+
++= c+..++c+_. t.c±a++ .±o+...(c(±.
C+ao+o t.a+a.o ±+c± +cc±++ tcc+o+ Cc=(±.
.++= C++.c.c tcc+o=±C.++. t++«o=. .±o=±. c.
+± ++..).± .co=±. _c+o. .ao=+c+ .=±+ ++c+
+Cc c±++... ±+..++. .++.+a ca±.o=.... C+ao).±
+.o .c++oC++=C.. C+ao+o t.a+a.o +++c +.+Cc++
c±a±. ôC±aco +...o+«c cc.+. .ac.(++++c.
$ sh <filename>
.oo+.
$.<filename>
$ +=(=+ao C+a±a++ cc C+ao+o t.a+a.o .ao+
cc±cc+o. =+.c.. +aoC++.cc C++.. .o= .=±+.a
(File Access Permission - FAP) ±+++a.±o+ Cc=(±. C++.c.c .ao
=± (execute) .=±+.a c±++Cc=(±. chmod +...o -o±
.+.c+ C+a+c±o+ c±a±. edufile cc=± t.a +a.o $ =+ao
C+a±a++ .ao+ cc±.+¹a+c.
$ chmod u+x edufile
$ edufile
cc=± +...o+.o+ ++c++c.
chmod +...o +x t.c C+a++. ..c++. .acco=±
.ao=± (execute) .=±+.a c±+=±. _c+o u+x +...o. C++.
cc t).±a+oco= ±.(± .ao=± .=±+.a c±+=+++.
189
C±++=. t.a+a.o .ao+c+o. +...+ C+ao+o± cc .+a
C+ao+o+.+ tcc+o+ .+o t.a+.o .ao=±.
3.JJ mm¶oo (Variables)
±+++c cc..c ±+..+.o .c++.co=± +.cc+
.c.c.++o+=±. oco¬ ±+++c ..c++± c.+++ +a±++Cc
+c+..(±. .++ ±+++.oo C++=( +=++ C+ao.+(+c c.+a±
+.+Cc++ c±a++ cc.+C.+o+ C++c+o+±. cc++o±. expr
±+_± let +...o+c-o± .++ ca±.. t..+C++a c±a±.
mm¶oæo emomóæod (Creating Variables)
c+C+cCc =+.c...±. .+c C+ao+oC± t++oc cc
cao.+c C+ao+o± _=±. +++o++ cc±c CcC++c C+ao
+o++o= ±++o C++co++ c.aao .+c C+ao+o++o ±.(C±
.=a+++c±a±. cc C+ao+o++o=c tcc+o+..(± ±+++c.
'C+ao+o ±+++c' cc_ ..±o+..(+c+c. cc .aca cc±
.±C.+C+oo+±. Cc_±Cc ±+..+.o .c++c+c -o± ±++
+.o tcc+o+oC++co c±a±. ±+... .c+++±Co cc ±++.a
tcc+o+c± c±a±. ±+.cc++± +...oao ±+.cc++±
C+a+=+ t... co..o++.+ ...±Ca c.(c. Cc=(±.
C+ao+o t.a+aoo tco ±+++oc C.aa+c
® .+ac).+ c.+++c. .±oô_ (underscore), c=+.oo
C++=±co+o+±.
® ca..o =+ |. t± =+ ·. Cc+_ ..Cco _+a.c
..±C.+o +.++.
® c+o c.++. c==++ .co+o +.++.
® .++ +o± C++=.++a .co+o +.++.
® +...o+ C++++c. ±+++oc C.aa+a .co+o +.++.
® c++++= t.a+ao ±+++oc C.aa+c.
file1, bookshell, book_shell, a+b, rs-paise
® c+++ ++++ C.aa+c.
a + b, a+ b, a!b, ab&, a=b
190
±+++.o tcc+o=c++++c +...o ..±...
<variable_name> = <value>
æ¶ùu: cc ±++.a .+co=±C.++. ±+c.c++±
C+a+=+o= = .c.+c± ..Cco c+± .co+o
+.++. .+. +C±+± +ao+o+++c ±+.cc++ ++.+.
C.+c++. = C+a+=+ac .c.+c± Cc+_ ..Cco
c..+o. .+. +C±+± +ao+o+++oco == ++a C+a+
=+o= =.+c++=±.
.c++..(± ±+.. =+..+++ +a ±+... t.C.++++ ..
Cco+c C.+c+ ca±.o=++.oo (delimiters) C++=±co=±+ac.
.++ ±+.c.c c+.+ .oo+ .a... C±+C++c =++«o=c
+aCc=(±. .++c+. c+.+ C±+C++c =+ .oo+ .a...
C±+C++c =+ .a=..a± cc_oC++c_ ±+++++. .ac.(++
o+± cc..+ .++. _c+o± .a=(o=± ...Ca C±ooa
Cc_.+( t=(. ccc+o .±o+ tcca+c.
m1óoóom´1:
name=“Ezhil Kumaran”
C±++=. +...o.a .cc+_± c.+o+±.
name=‘Ezhil Kumaran’
±+..+ +a++o ..Cco+c .o.oCaco C±+C++c =+
+c +..+a±o.o.
m1óoóom´1:
name=Ilamathi
name=‘Ilamathi’
name=“Ilamathi”
C±++=. ..c++± cCa C.+c«..a.cCa.
ô±o++o± ±+.cc++.o c(++o C++cCc+±.
number=12
.++ ±+.cc++oo number cc=± ±++ac ±+.. c==++
.c++C.++o±. .+ c= ±+.. .oo. .+ c.+++ +aC±
(character string) _=±. number cc=± ±++ao ‘1’, ‘2’ _+a c.++
+.oCa C++=(coc. iz .c± c±co ii.. cc=± c=.=o
191
C++=±co+co.o. ccCc number cc=± ±++ac ±+ .ao
+=+++c .±....+ C+ao.+(+.o. .++c+. +..o. +±++o.
C.co+o. c=++o _+a C+ao.+(+.o ++±++ c±a++.
mm¶oæo m1óomod (Referencing Variables)
cc ±++ac ±+... c(+++o $ =+.a. .ac.(++ Cc=
(±. $ =+. .(++ ..±C._± ±++ac ±+... c(+++ +c±.
m1óoóom´1:
var1=${var2},
var1, var2 _+a.c +.cc+ .c.c.++.oo =+++ ++
+c+c. ${var2} cc=± +...o. .++ .c.c.++o tco ±+...
c(+++ +c+++. C.+.... ±+.cc ++o. var1 ±++ao .c++.
.(+++. .....o =++c +..+a±o.o. _c+o. cc ±++ac
±+.C.+( .cCc+c ±+... ..=o+ cc±cc+o .....o
=++c +..+a±+=±. c(++o++..++. father cc=± ±++ao John
cc=± ±+.. tco+. .C++( son cc=± ±+... ..=++
son1 cc=± ±++ao .c++ Cc=(C±co. ôC± tcoc+_ +.
..o ..±o+ Cc=(±.
$ son1=${father}son ( c+o $ =+. +=(=+)
son1 cc=± ±++ao Johnson cc=± ±+.. .co=±.
.....o =++c .oo+c..+o ccc _=±¯ c.. Cco.
...a+c+. .....o =++c .oo++ +...o ...± .co=±.
$ son1=$fatherson
c+o $, +=(=+. .(++ $, ±++.ao =+..+.
father, son _+a C++++«o+..Ca Cc+_ ..Cco c+c±
.o.o cc.++o. fatherson cc.+ ±++ac C.aa++ c(++oC++c
o..(±. ...±Ca+c ±++ .o.o cc.++o. cc c.±+.(±
C+a+ +..o=±. ...±Ca+c ±++ .c++c(± cco. .+c
±+.. ccc+ c++)o.++ C+a+a±c+ son1- o .c++...(
c(±. c... cc±.++++++ _+c(±. (father, son .a=(o=±
...Ca Cc+_ ..Cco c..+o. ±++ .+o+=o+...(c(±.
192
mJùæmù m±óo mm¶±d @móood (Reading a value into a variable)
.ac).±c++ .ca+ C.a.a. C.+Cc=(C±co.
“Please enter your name”
cc+ +.aao ++..Cc=(±. ..+..+a++. .aca +cC.a.a
tcc( C+ac+a. ..C.a.a +.cc+++o .c++.co+ c+
.+( C+aaCc=(±. ...=+.o +.+Cc++ oco¬o .cc+_
+...o+c ..±o+ Cc=(±.
echo “Please enter your name”
read name
echo +...o cc +a+.++ +.aao ++.(±. .+C+a+. +c
C.a.a tcc( C+aa. .ac.a+ +=(±. read +...o C+ao
.(±C.++. name cc=± ±++o=)a ±+.... .aca tco(±
c.a ++++co=±. .aca. +c C.a.a tco.( Enter c.+.a
..++a+±. ..C.aa name cc=± ±++ao .c++..(±. .(++.
+aoo Cc_ +...o+c .c.cc ..c C+ao.(++..(±. read
+...o.a C+a±a+++ C+ao+o+ +=(=+ (shell prompt) ao +a
c±a±. _c+o. read +...o C.++c++ C+ao+o t.a+ao+o
CoCa .ac.(++..(+++.
æ¶ùu: echo +...oao t.a+ +a++oco C±+C++c
=++c .±o++ C+oc +c+Ca .ac.(++...(coc.
3.J2 Comæooo (Expressions)
expr mm_m let o´cæooo
cca cccc±. cC+=± cc ++a=++o+++. +oc.+o +=o
ô(+.o. +=..+.o+ C+aa+±o ++.o ++a++c. c±a++.
c=+=o=o +=.G(+c .oo++ ca to.+ +.c++. .+ao+
c±a±+¯ c.. +++a±++ ¨c±a++¨ cc.+++c. C.c±.+o+c
C+ao+o++c c=c.+ ±+++.o c+.+o.o. ..c++ ±++
+«± c.+++ +a±++Cc +c+..(+c+c. cc++o± C+ao+o+
+o +ao c.+±C.++. ±+++.oo +=+ c.+ao .+a+o c±
aco+ Cc=(±. .+ +cao+c±a++ C+.ca+=±. expr ±+_±
let +...o+c -o± .+ ++++a±. expr +...o. +=oô.(o
C++.c+oc c...ao +=o+. .ac.(+++. .o+...oac
Ccoa( .±.... Ccoa.(o= +.ao= .=....(+++.
193
m1óoóom´1:
$ expr 21 + 51
cc=± +...o ¯z cc=± c...a+ +.aao ++.(±. · =+
ac .c.+c± ca ..Cco (Space) tco+ cc..+o +cco+
c±. expr +...oao ±+++.oo .+a+«± c.+.ao ++=C.+±.
$num1=7
$num2=3
$expr $num1 + $num2
.+c Ccoa( +.ao= .=....(± cc.++o. +.aao i.
cco ++....(±. $ =+ .acco++c +=(o=+ (prompt) _+
.oo++C.++. cc ±++ac ±+...+ +.(c++=. .ac.(+
++. ccCc $num1 cc+ ..++o ¯ ccc±. $num2 cc=± ..+
+o ¯ ccc± c(++o C++co..(±. .(++. expr +...o .++
c.+++.o c=+o++ ±++_±. .+cc+C+ .c++c +.(+
C++.+.ao +=.+a±.
expr +...o +, -, *, / _+a +=oô(+.o+ C+aa±. _c+o. *
C+a+=+.a. .ac.(++±C.++ ±+c± +cc±++ .co+ Cc=
(±. cCcco. * =+. .+o.(o =+a.++c± .ac.(++..(+++.
ccCc. C.co+o +=o+o .+. Cc_.(++o ++..... Cc=(±.
\* cc_ c.+c+o. C.co+o =+a++o C++co..(±.
$ expr 1 / 2
cc=± +...o . cc c..+c±. ..· cc+ c.. ++..++. /
=+o= cc=± cc=± Cc+_ ..Cco tco.+o +cco+c±.
$expr 0.5 / 2
cco +...o ++++o. ccc +..o=±¯ cc c.±+.(± C+a
+Ca c..a++o +..o=±. cCcco. .+c±. .co (decimal point),
Cc_± .co (dot) a+++++c +c+..(±. ..· cc.+ ca c==+
+Cc c+_o C++co...±+..++.
let +...o. +=o=+oc c..++=c±. .a=( ±+..+.o
c.c.c± t+c+++. .+c +...o c±c±.
$ let < ±+..i > < C+a+=+ > < ±+..z >
.+C+ C+a+=+ cc.+ +=oô.(+ C+a+=+a++ (arithmatic
194
operator) .co+o+±. .oo+ c.G.(+ C+a+=+a++ (relational opera-
tor) .co+o+±. let +...o expr +...o.ac. C±±...+. let
+...o c++ ±++.aa± ±+.c.(. .+c ±+... c=+=o=
±++a++ ±+++c(±. .+C+ao++c. C+ao+o t.a+aoo +.
(..+.(o +...±..+oo .ac.(++o C++co..(+++. expr
+...oao C+a+=+o= cc=± cc=± ..Cco (space) C+.c.
_c+o let +...oao C+a+=+o= ccc+++Cc+. .(+C++
..Cco/ ..Cco+c C+.c .o.o. .cc+_ ..Cco/ ..
Cco+c c. cc±cc+o c.o+±. _c+o +=..o C++.c
c.c.+a± C±+C++c =++«o=c +aCc=(±. let +...oao
=+.c(± cc +=.cc c...a ±++ao .c++co.o cco.
c.. +.aao ++....(±.
m1óoóom´1:
$ let pr = 5*10
$ echo “The product is $pr”
The product is 50
æ¶ùu: i C.co+o =+.a \¯ cco =+.c. Cc=±a
+o.o. z let +...oac +=..o C++.cao ±+.c
c++ C+a+=+o= = ....o+± +..+a±++ cc ±++
ac C.aa ..±C.+ Cc=(±. expr +...oao C+.c
ao.o.
C+a+=+ac cc=± cc=± ..Cco/ ..Cco+c c.
cc±cc+o. c.o +=oô...a± C±+C++c =+o=«o=c
..±o+Cc=(±.
m1óoóom´1:
$ let “pr = 5 * 10”
$ echo “The product is $pr”
The product is 50
c...a ±++ao .c++c+o c.. +.aao ++.....
±+..++. c...a+ +.aao ++..Cc=(C±co echo +...o
.a. .ac.(++ Cc=(±.
195
m1óoóom´1:
$ let “sum = 2 + 4”
$ echo “The sum is $sum”
The sum is 6
t.a+ao+o+++o let +...o.a. .ac.(++o ôC± tco
c+_ ±+.. .c++o± ++++aC±.
let a = 0
let a = a+1
æ¶ùu: z.¯. ..· C.+c+ .+c± c=+.o let +...oa±
.)++C++co++.
c+.+ C±+C++c =+o=± .a... C±+C++c =+o=±
...Ca C±ooa Cc_.+( tcoC+co ++Cc+±. .c. .++
Cc_.+.... .+a.C.+±. name cc=± ±++ao IIamathi cc=±
C.aa .c..+++o C++cCc+±.
echo “The given name is $name”
echo ‘The given name is $name’
cc=± +...o+.o+ +c+¹a+c. .c++c c.. .cc+_ .co
=±.
The given name is IIamathi
The given name is $name
.a... .....o =++«o=c $ =+ ±++ac ±+...+ +.(
c+++o C++co. .(+++. ccCc .++ ..++o IIamathi cc=±
C.aa .+o...(+++. _c+o c+.+ C±+C++c =++c. tco
co=± C+a+.a ...±Ca Ccoa.(c(±. .++c+. $name
cc.+ ...±Ca ..±C._±. ±++ac ±+...+ +.(c++ao
C++co...++.
3.J3 o´cæoù mJe1 (Command Substitute)
cc C+a+ac +(co +=.C.++ac +...+ C++.ao
++.. cc±.+¹a+c. $date cc=± +...o c++. .o.ca±
+a++. ($ =+. ±++aoco=± ±+.c.c ±.(C± c(+++ +c±.
+...o +c± ±+..+.o. C.+_+ +a++. cc +...oaoc++
196
c..a. C.+_+ +aCc=(C±co .o+...o.a. cc++ac
C±+C++c =+o+«o=c c(.C.+oo =+ ` ..±o+ Cc=
(±. cc C+a+ac .++±++ +...+ C++.ao ++... date +..
.o.a. cc++ac C±+C++c =++«o=c c(.C.+oo =+ +a
Cc=(±. .o=+. c.+..o.+ao c=i .oo+ | c.+o=
ccc+++ .co=±. C+oco =+a± (~ tilde), cc++ac C±+C++c
=+a± ( `backward quote) cCa c.+ao C±o± ô.± .co=±.
+...+ C++.ao ++.. .cc+_ +...o ..±o+ Cc=(±.
m1óoóom´1:
$ echo “Today’s date is `date +% D` ”
C+a+ +.aao ++....(±C.++. `date + % D` cc+co=±
..++o +=.C.++ac C++ ..±C._±. date +...oo=± ·
=+o=± ...Ca ca ..Cco .c...+o +cca++c. .+
.o.oCao .o+...o C+ao..++. (+%D =+a( mm/dd/yy c±
co C++.a ±.(± c)+++ +c±. C+ao+o±. c+oo +..
.oac Ccoa...+ C+a+ao ..±C.++ C+aa±. c+= echo
+...o.a +.+Cc+_±. .++.+a '+...o. .+o(' (comma
substitution) -o±. cc +...oac Ccoa... cc ±++ao .c+
+c± c±a±.
m1óoóom´1:
cfiles = `Is *.c | wc - l`
.o+...o. +...o C++..+++o .c cc c±a± C++..+oc
c==o.+.a cfiles cc=± ±++ao .c++±.
c+C+cCc C++ooa.±. expr +...oac Ccoa(. .±...
Ccoa.(o=+ C+oo±. .++=. .+o++. Ccoa... cc ±++
ao .+cC+aa Cc=±ac+++o. +...o. .+o.... .ac
.(++o+±. c(++o++..++.
$ var1=5
$ var1=`expr $var1 + 20`
cc=± +...o var1 cc=± ±++ao z· cc=± ±+... .c+
+±.
expr +...o c+.+. cc++ac C±+C++c =++«o=c tc
o+. C+ao+o± c+oo +...o .co=± ..++o .+c Cco
197
a... ..( +a..±. c+=. ±+o +...o.a+ C+ao.(++±.
c+ taa+.o C±+±+oo tco if, for, while C.+c+ +...o
+.o taa+.o C+ao+o t.a+aoo (Advanded Shell Script) .ac.
(++ c±a±.
3.J4 emóum Jmùuó o_oo
mmmoó omæm (Reliability)
oco¬. ±+c± +±.++ +c.± c+a++ .ao+ c.+.±
_=±. oco¬ C+.ca+++c (servers) _=(o +=o+o +_+
+...+±o C++.a++ C+ao.(+c+c. C.c±.+o± oco¬ c.+
.±+oo C+ao.+.( +.o=.oc ++±cC+ +..a++. +++c
c++)o.+a.c .co+ Cc=±a+o.o cc.+ .++=. C.+c
o++++. +=.C.++ c+C±+±.a ±+++c. Cc=.+±. ¨c+c±
c.±a++o+±. .+c± ..+++o+±¨.
mmCmmóJ± sóJæoo (Backward Compatibility)
..±a +=.C.+++oo± oco¬ +c= C+ao.(±. ..±a
C+ao+oo± (processors) C+ao..o+±a+. .o c.+a+c C+a
o+oo± C+ao..coo+. c+.+a .+..+oo tco oco¬
+...o+.o. .+a .+..+oo± Cc+++a±++ .ao+ c±+++.
mo± Cmmm1óoqm m_oæo±m (Simple Upgrade and Installation)
C.c±.+o+c oco¬ .+..+oc +_c.++ C+aoc.+ ..±
(Menu) .±....ao+c+. ±+c± co++c+.
mmoó omùOmm¶óæm mmmo (Suitable to any machine)
..C.++co=± c++o +=.C.++ao± .++=)a oco¬
.+... .ao+ c±a±. ccCc ccC.+c«oC+c .++±+c
c+o(+c C+aa Cc=±a+o.o. =.+++ ++=co +=.C.++
.c++c..ca+c. .+++ ++=co ccC.+cc ..±.. C+.c.
.(+c+. c+ .ao+ c.+.±+.oo ++.±o± oco.¬Ca C.)+±
cc±.+c+ca.
u±q Jæcaom (GUI Interface)
C+±.. eC++±. C+.ca+± _+a c.a+.o ...c+++c
oco¬o tcoc. oco¬ c.+.±.a .a=( t.c)c+o++.
c)o+o+±. C+±.. eC++± .a=(± c++++± c=C.+¬ ¯-
198
c.+.± c±+=± ..c++ c+++.oa± c±+=+c+c.
mmme Ooo±´cmo!oo (Multiple Distributors)
oco¬ C±cC.+c.o .o +_cc++c Ccoa(+c+c. cc
Cc+c_± .++C+ t)a +(+o c+++.oo C++=(coc. .+c
++a=±++. oco¬ c+..c+ ++.+ c++=Cc+a ++.+ (Buyers
Market) a++ tco+. Ca.Cc. (Redhat), ++oC.a+ (Caldera), ±+=.
Cao (Mandrake), C.cac (Debian), ¬CooCca (Slackware) _+a.c
oco¬ Ccoa(+«c +o.
mòom)d omóæod @dæe (No Virus Attack)
+=.C.+++ C++±o+.+ao ±+c± .++-.(± C++o'+++
+ao'. ++++ao t=.±ao ..=a++c .ac.o ±.(..(++
+++. C.++c++ oco.¬ ++++ao ++o=c+o.o cc_ ++.
.(+++. ..C.+C+oo+± oco.¬ ++o=± ++++ao+«± c++
c..c.
mmoomùu ooJoo (Security Features)
..=ao =_±cco ++..cco +oa ±++ca+o+ .=ao
C.a±.c c.oco+c+ca. .++.+a ++o=+o+«o= c+a++
oco¬ .c.±a+c .++++.. c+++.oo C++=(co+. .+c
++a=±++Cc ..=a+ C+.c c±+=Cc+a (Internet Service Provid-
ers - ISPs) .oc± oco¬ c.+.±o= ±+_+c+ca.
m)mommm m±m!oo mm±mmmemm (Can Support a High User Load)
oco¬o cCa C+a++o ca+o±+c .aca+c .=a+++
c±a±.
emomóo meomoo (Development Libraries)
+··. C.ao C.+c+ .o tcc+o+ C±+±+«o++c ++++
.=++o+.+ (platform) oco¬ c±+=+++.
199
Oomæùuæ)
u (nyy .oo+ nY), p +...o+c n c)+.o ++Co(o=±
u oco¬o c++ t.a+ C++=.c.a. .ac.(++a± C+ao
+o t.a+ao+.o tcc+o+o+±.
u +=oô.(o C++.c+oc c...ao +=o+ expr +...o
.ac.(+++.
u let +...o expr +...o.ac. C±o+c+.
u vi +...o c¿ C++=.c.a .ao=+++.
u c¿ C++=.c .cc.+. .+++co C+ao.(±. tcc.(.
.++= ±+_± +...o. .++=. ++C.++ .aca c++ c.+.
.+++co .co+++a cc..+ .+a Esc c.+.a. .ac
.(++o+±.
u C±++=. .c .++=+c +ca. c). .++= cc++ -c++
c+ .+++.ca± .+c+..(++acCo+±.
u cc_o= C±+... +...o+.o cCa +...oa++ .ao+.
'+...o. .+o(' (Command Substiution) .ac.(+++.
m±mJ mmmóoo
uoo±´c @cmoæo m)ùuo
i . $vi filename. .a=( C.)a c.++ _________ .ac.(++.
C++.c.c+ C+±o+o+±.
z . :w cc+ +...o. C++.c.c _________, _________ .
¯. Esc c.+.a ..++±C.++. 'G.' co C+..+o. +++c
_________ .+++co tcca+c cc_ C.+cc.
: . ndd ±+_± _________ +...o+c =+.c.. t.a..=+.a
cc±.± ..++o= ++a++±.
·. _________ +...o c=+=o=o +=..+.o ±+c±
++=.c C+a+ c±o+++.
·. C+ao+o t.a+aoo _________ +...o. C+ao.+...
+_++c(±.

Sign up to vote on this title
UsefulNot useful