2011-10-18

ලිනක්ස් Shell Programming පාඩම-කොටස 05



10.Exit Status කියන්නෙ මොකද්ද?
කලින් පාඩමේ අන්තිමට කරපු උදාහරණෙ අන්තිමට තිබුන මතකද exit 0 කියල එකක්. ඒ මොකද්ද කියල තමයි මම කියන්න යන්නෙ දැන්.

$ gedit my

#

# This is My 2nd shell Script

# Print multipal Lines using echo

clear

echo "mad Terminal $USER"

echo "mad Terminals date \c" ;date

echo "User info : \c" ; who | wc -l

echo "Calendar"


cal

exit 0
 
මේකයි කතාව Linux වලදි මොකක් හරි Command එකක් හරි shell Command එකක් හරි රන් කරහම ඒ රන් කරපු එක successful නම් එක් අගයකුත් successful නැත්තම් තවත් අගයකුත් return වෙනව.මෙන්න මේකට තමයි exit status එක කියල කියන්නෙ.මේ value එක ගබඩා වෙන්නෙ $? කියල විශේෂ variable එකකට.අපි ඒක කරල බලමුකො දැන්.

ඔයාලගෙ terminal එක open කරල මෙහෙම type කරන්න.
rm catAnddog
catAnddog කියන එකට කැමති නමක් දෙන්න (හැබැයි ඒ නමින් file එකක් හරි directory තියෙන්න බෑ එතන)
rm - කියන්නෙ අයින් කරන්න කියල (delete)
catAnddog කියන්නෙ file එකක නමක්

    rm catAnddog වලින් වෙන්නෙ දැනට ඉන්න directory එකේ තියෙන catAnddog කියන file එක අයින් කරන එක ඒත් එහෙම කරන්න එතන catAnddog කියල file එකක් නැති නිසා rm: cannot remove `catAnddog': No such file or directory කියල error පණිවිඩයක් පෙන්නාවි Terminal එකේ දැන් අපි command එකක් රන් කරානෙ ඒනිසා exit status එක වෙනස් වෙලා තියෙන්නෙ දැන් (ඒ කියන්නෙ $? කියන variable එකට අගයක් Assign වෙලා තියෙන්න ඔන) අපි දැන් බලමු ඒ අගය මොකද්ද කියල ඒක බලන්නෙ මෙහෙමයි terminal එකේ ටtype කරන්න echo $? කියල මේ කමාන්ඩ් එක රන් කරහම 1 කියල ප්‍රින්ට් උනා නේද ? දැන් ls කියල type කරල enter කරන්නකො (ls කියන කමාන්ඩ් එකෙන් පුලුවන් දැනට ඉන්න directory එකේ තියෙන සියලු files බලා ගන්න) දැන් ඔයා අයෙ echo $? රන් කරහම 0 කියල print උනා නේද? මෙන්න මේකයි වෙන්නෙ කමාන්ඩ් එක හරි shell එක හරි හරියට රන් උනේ නැත්තම් exit status එක 1 වෙනෙව හරියට රන් උනානම් exit status එක 0 වෙනව කලින් දෙවනියට රන් කරපු ls command එක error නැතුව රන් උන නිසා $? ගෙ අගය 0 උනා .
මෙන්න මෙතන තියන උදාහරණ කිහිපයත් බලන්න.
01. expr 5 + 3
echo $?

02. echo hi man
echo $?


03. wildwest canwork?
echo $?


04. date
echo $?


05. echon $?
echo $?


06. echo cal
echo $?


ඊළඟට මම දෙන්නම් තවත් shell වල භාවිතා කරන variables කිහිපයක් දැනට මේව ඒ තරම් නොතේරුනාට කමක් නෑ පස්සෙ මේව ගැන දැනගන්න ලැබෙයි.


$# : Number of command line arguments. Useful to test no. of command line args in shell script.

$* :All arguments to shell

$@ :Same as above

$- :Option supplied to shell

$$ :PID of shell

$! :PID of last started background process (started with &)

මේ උදාහරණෙන් ඔයාට යම් අදහසක් ලැබෙයි මේ ගැන
####################################################

$ vi demo
#!/bin/sh
#
# Script that demos, command line args
#
echo "Total number of command line argument are $#"
echo "$0 is script name"
echo "$1 is first argument"
echo "$2 is second argument"
echo "All of them are :- $* or $@"

###################################################

Share:

2011-10-14

ලිනක්ස් Shell Programming පාඩම-කොටස 04


කලින් පාඩමේදි file Permissions ගැන කතා කරා මතකයි නෙ.

දැන් බලමු අපි කොහොමද අපි හදාගනිපු file එකක Permissions වෙනස් කරන්නෙ කියල.

මේකට use කරනව chmod කියල Command එකක් ඒක use කරන්නෙ පහල තියෙන විදියට (වරහන් දෙක දාන්නෙ නෑ හරිද? )

chmod {Permisson mode } {file-name}

මේක තව සරල කර ගත්තොත් මෙහෙමයි තියනව my.txt කියල TEXT FILE එකක් මට ඔන ඒකෙ Permissions එක 761 (කලින් උදාහරණ් 2 තියෙන Permission එක) විදියට හදන්න. මම එතකොට කරන්නෙ මෙහෙමයි.(මුලින්ම file එක තියෙන තැනට ටර්මිනල් එකෙන් යන්න ඔන හරිද?)
 
chmod 761 my.txt

දැන් මේ වැඩෙත් කරල බලන්න.
මෙහෙම දීල බලන්න

chmod 000 my.txt

file එක හොල්ලන්නවත් දෙන්නෙ නෑ නේද? R,W,X කිසිම දෙයක් කරන්න අවසරයක් නැති වෙනව.මෙහෙම කරල වැරදිලාවත් ඒ file එකක් ඩිලීට් කරන්න ඔන උනොත්  ආයෙ පර්මිශන් එක වෙනස් කරන්න ඔන නැත්තම් administrator ගෙන් ලොග් වෙන්න ඔන.

chmod -R 755 directory-name 

 කියන Command එකෙන් පුලුවන් directory(ෆොල්ඩර්) එකක permission එක වෙනස් කරන්න.(ඔන්න ෆොල්ඩර් ලොක් කරන්න නියම ක්‍රමයක්)

පුරුදු වෙන්නත් එක්ක එක එක files වල permissions වෙනස් කරල බලන්න(තමන් හදපු ඒවයෙම කරල බලන එක ඇඟට ගුණයි.)

ඔන්න මෙතනින් file permission කතන්දරේ ඉවර වෙනව අපි අයෙ යමු shell වලට.

9.Shell Script

shell script එකක් රන් කරන ආකාරය..

අපි ලියාගනිපු shell Script එකක් ක්‍රම 3 කින් රන් කරවන්න පුලුවන්
1. bash ස්ක්‍රිප්ට් එකේ නම
2. sh ස්ක්‍රිප්ට් එකේ නම
3. ./ස්ක්‍රිප්ට් එකේ නම 

උදාහරණයක් විදියට cake කියල නම තියෙන ස්ක්‍රිප්ට් එක රන් කරන ආකාරය බලමු.
1. bash cake
2. sh cake
3. ./cake 
 
කලින් කියපු 3වන ක්‍රමයෙ ./ කියන කේ අදහස තමයි current directory කියන එක ඒ කියන්නෙ අපි දැනට ඉන්න directory එකේ තියන file එකක් තමයි රන් කරවන්නෙ කියල. (.) ඩොට් එක විතරක් ගත්තොතින් ඒකෙ තේරුම ඩොට් එක විතරක් යොදාගෙන shell එක රන් කෙරෙව්වොතින් shell එකේ copy එකක් හදන්න එපා කියල(ටෙම්පරි හදන්න එපා කියන එක).බලන්න පහල තියෙන එක රන් කරල තියෙන්නෙ ඩොට් එක විතරක් use කරල.

. shellname (. එක හා ශෙල් name එක අතරෙ space එකක් තියෙනව)


ඔන්න දැන් අපි අපේ මුල්ම shell Script එක ලියල රන් කරවන්නයි හදන්නෙ. මුලුන්ම ඔයාලගෙ කැමතිම text editor එකක් අරගෙන පහල තියෙන දේවල් ටික හරියටම ඒ විදියට ලියා ගන්න.මම නම් ගන්නෙ උබුන්ටු වල තියන gedit කියන text editor එක.

$ gedit my
#
# This is My first shell Script
#
clear
echo "mad Terminal"

මේක ලියල කොහෙට හරි save කරගන්න මම නම් save කරේ Desktop එකට.
ඊළඟට permission හදන්න.

chmod 755 my.txt 
 
කියල දෙන්න දැන් ./my.txt කියල දීල script එක රන් කරවන්න.වැරදීමක් උනේ නැත්තම් මේක අවුලක් නැතුව රන් වෙනව.ඊ ළඟට බලමු දැන් ලියපු එකේ තියෙන වැඩ කෑලි මොනවද කියල.

**පුරුදු වෙන්නත් එක්ක මේක හැම ක්‍රමේකටම රන් කරල බලන්න.**

  1. මුලින්ම තියෙන $ gedit my කියන එකෙන් කියෙන්නෙ gedit කියන editor එක start කරවන්න කියල.

  2. මොකක් හරි දෙයක් ලියල ඒක ඉස්සරහින් # කියල දැම්මොත් ඒ ලියපු එක Comment එකක් කියල අපි හදුන්වනව. ඒ ලියපු එකෙන් script එකට කිසිම බලපැමක් නෑ මේව යොදාගෙන අපට පුලුවන් script එක ගැන වැඩි විස්තර ඒක ඇතුලෙම අන්තර් ගත කරල තියන්න.එතකොට පස්සෙ කාලෙක බලන කෙනක්ට උනත් ඒ ගැන තේරුම් ගන්න පුලුවන් ලේසියෙන්ම. නිකමට උඩ ලියපු shell එකේ clear හා echo කියන ඒව ඉස්සරහිනුත්
    # දාල බලන්න එතකොට ඒව රන් වෙන්නෙ නෑ කියල ඔයාලට පෙනෙයි.
  3. clear මේ command එකෙන් වෙන්නෙ terminal එක clear වෙන එක
  4. echo "mad Terminal" මේකෙන් තමයි mad Terminalකියල print වෙන එක වෙන්නෙ echo වලින් පුලුවන් variable value(variable එකක් කියන්නෙ Computer Ram එකේ හදාගන්න මෙමරි space එකක් ) එකක් හරි Message එකක් හරි Screen එකේ print කරවන්න.
අපි කලින් කරපු shell programm එක save කරේ my.txt කියලනෙ සාමාන්‍යයෙන් shell Script එකක් save කරනකොට අගට .sh කියල save කරන්න (my.sh වගේ) එතකොට ඒක අදුරගන්න පුලුවන් ලේසියෙන් මෙතන ඉදන් ඉස්සරහට කරන ඔක්කොම ඒ විදියට save කරන්න.

පුරුදු වෙන්නත් එක්ක ඔයාලත් මේව කරල බලන්න.

01.
#####################################
$ gedit my
#
# This is My 2nd shell Script
# Print multipal Lines using echo
clear
echo "mad Terminal 1"
echo "mad Terminal 2"
echo "mad Terminal 3"

#####################################

02.
####################################################

$ gedit my
#
# This is My 2nd shell Script
# Print multipal Lines using echo
clear
echo "mad Terminal $USER"
echo "mad Terminals date \c" ;date
echo "User info : \c" ; who | wc -l
echo "Calendar"
cal
exit 0

###################################################


03.
#####################################
$ gedit my
#
# This is My 3rd shell Script
# Print Stars using echo
clear
echo "*"
echo "**"
echo "***"
echo "****"
echo "*****"
echo "******"

අවුල් සහගත තත්ව තිබේ නම්  වාර්තා කරන්න.
Share:

2011-10-10

ලිනක්ස් Shell Programming පාඩම-කොටස 03




5.Shell Script කියන්නෙ මොනවද?

කලින් අපි ඉගෙන ගත්තනෙ shell කියන්නෙ මොනවද කියල දැන් බලමු shell Script කියන්නෙ මොනවද කියල. සරලවම කිව්වොත් shell Script කියල කියන්නෙ shell Command එක කට වැඩි ප්‍රමාණයක් අනුපිළිවෙලට ලියල තියෙන file එකකට(series of command කියල හිතමකො ) මේ script එක රන් කරහම ඒක ඇතුලෙ ලියල තියෙන කමාන්ඩ්ස් රන් වීම සිද්ධ වෙනව. මේක වින්ඩෝස් වල තියෙන MS-Dos batch file එකකට සමාන කරන්න පුලුවන් හැබැයි ඊට වඩා ගොඩක් බලවත්.

6.ඇයි අපි මේ shell Script ලියන්නෙ ?

01. user ගෙ inputs මෙ Script මගින් ලබා දෙන්න පුලුවන්.
02. ප්‍රයෝජනවත් විදියට තමන්ගේම Commands නිර්මාණය කරගන්න පුලුවන්.
03. කාලය ඉතුරු කර ගන්න පුලුවන්(එකම දේ නැවත නැවත type කර කර ඉන්නෙ නැතුව)
04. ස්වයංක්‍රීයව යම් දේවල් කරගැණීමට හැකි වීම.
  1. ස්වයංක්‍රීයව පද්ධති කටයුතු පාලනය කරගැනීමට හැකිවීම
ඔන්න ඔය වගේ දේවල් කර ගන්න පුලුවන් නිසා තමයි අපි shell Script ලියන්නෙ.

7.Shell සමග වැඩ පටන් ගැනීම.


                             මෙතන ඉදන් අපි shell වල වැඩ කිඩ පටන් ගන්නයි හදන්නෙ. අපි මේ වැඩ කරන්න use කරන්නෙ බාස් ශෙල් නෑ නෑ bash shell කියන වර්ගය.මෙතන ඉදන් ඉස්සරහට shell ලියන්න ,කියවන්න,රන් කරවන්න එකී මෙකී නොකී ගොඩක් වැඩ කරන්න තමයි හදන්නෙ ඒ නිසා හොදට තේරුම් අරගෙන වැඩේ කරගෙන යන්න.

8.කොහොමද මේ shell Script එකක් ලියන්නෙ ?

මේකට පියවර දෙකක් සපුර ගන්න ඔන.එව තමයි

 1.shell Script එක ලියාගන්න ටෙක්ස්ට් එඩිටර් එකක්-මම නම් මේකට use කරන්නෙ ubuntu වල තියෙන gedit කියන ටෙක්ස්ට් එඩිටර් එක ඔයාල use කරන OS එකේ තියෙන කැමති එකක් තෝර ගන්න.




2.තව දැනගන්න ඔන කොහොමද ලිනක්ස් වල file permissions වෙනස් කරන්නෙ කියල. මොකද ලියන sell script එක රන් කරන්න permissions එක ගන්න ඕන.

දැන් අපි පොඩ්ඩක් මේ linux file permissions ගැන කතා කරමු.

9. Linux file permissions

ලිනක්ස් (ගොඩක් දුරට UNIX System වලත්) වල ප්‍රධාන වශයෙන් user class තුනක් තියෙනව. user class කියල කිව්වෙ භාවිතා කරන පිරිස වෙන් කරල දක්වන්න පුලුවන් බෙදීමක් වගේ දෙයක්.
අපි බලමු මොනවද මේ user classes තුන කියල.

1.User (u)- මේකෙන් කියන්නෙ file එකේ අයිතිකෙනා ගැන(owner) file එක හදපු එක්කෙනා කියල හිතාගන්න.
2.Group (g)-මේකෙන් කියන්නෙ file එක access කරන අය. කෙනෙක් හදපු files වෙන අය use කරන්න පුලුවන්නෙ.
3.Other (o)-මේ කියන්නෙ උඩ කතා කරපු අය හැරුනාම අනිත් අය ගැන.

    ලිනක්ස් file permissions වෙනස් කරල අපට පුලුවන් උඩ ඉන්න තුන් ගොල්ලන්ට කරන්න පුලුවන් දේවල් පාලනය කරන්න.සරලවම ගත්තොත් මෙන්න මෙහෙමයි ඔන්න ඉන්නව file එකක් අයිති කෙනෙක් එයට පුලුවන් එයාගෙ file එක edit කරන්න write කරන්න. execute කරන්න පුලුවන් ජාතියෙ එකක් නම් එහෙමත් කරන්න. (කරන්න පුලුවන් ඔක්කොම ජාති කරන්න).දැන් බලන්න ඒ file එකම access කරන අය ගැන (Group කියන එකේ කස්ටිය) ඒ අයට පුලුවන් file එක execute කරන්නයි write කරන්නයි හැබැයි delete කරන්න බෑ. ඊළඟට Other කියන එකේ කස්ටියට පුලුවන් Read කරන්න විතරයි. උදාහරණයක් විදියට මෙහෙම හිතන්න ඔයාගෙ කම්පියුටරේ guest Account එකක ඉදන් සමහර file open කරන්න delete කරන්න Access කරන්න බෑ නේද ?අන්න ඒ වගේ කතාන්දරයක් තමයි මේකත්.
අපට පුලුවන් ලිනක්ස් වල තියෙන file එකක මේ permissions වෙනස් කරන්න ඒ කියන්නෙ කලින් කියපු තුන් ගොල්ලන්ට තියෙන වරප්‍රසාද වෙනස් කරන්න පුලුවන්.දැන් බලමු කොහොමද ඒව කරන්නෙ කියල.

අපිට file එකකට කරන්න පුලුවන් ප්‍රධාන දේවල් තුනක් තියෙනව ඒව තම

01.Read (r)
02.Write (w)
03.Execute (x)

වරහන් ඇතුලෙ තියෙන අකුරු වලින් කියන්නෙ කෙටි යෙදුම් කියල මතක තියා ගන්නකො.

File permissions mode තුනක් තියෙනව. ඒව තමයි

1.Linux Read mode permissions- file එකක් හරි directory එකක් හරි Read කරන්න දෙන අවසරය

2.Write mode permissions- file එකක් හරි directory එකක් හරි Write කරන්න දෙන අවසරය.

3.Execute mode permissions-file එකක් හරි directory එකක් හරි Execute කරන්න දෙන අවසරය.


ඔක්ටල් නම්බර් කතාවකුත් තියෙනව මේවත් එක්ක ඒකත් බලලම ඉම්මුකො

ඔක්ටල් කතාව මේකයි
අපි කලින් file එකකට කරන්න පුලුවන් දේවල් තුනක් ගැන කතා කරානෙ r,w,x කියල ඒ r,w,x ඔක්ටල් වලින් ඉදිරිපත් කරගන්න ඒවට මේ අගයන් දාගන්න

r =4
w=2
x =1

දැන් ඉතින් දැනගන්න ඕන 4 කිව්වොත් read , 2 කිව්වොත් write, 1 කිව්වොත් execute කියල.හරියට r , w , x වලට කෙටි නම් දැම්ම වගේ


අපි දැන් බලමු Linux Read Write අවස්ථාව ඔක්ටල් වලින් කොහොමද කියල

0+r+w+e =0+4+2+0 = 6 

**මේ තියන ගණිත කර්මෙ දැක්කහම බය වෙන්න එපා කරල තියෙන්නෙ read හා write වලට අපි දාගණිපු කෙටි නම් වල අගයන් එකතු කරපු එක. විතරයි.මුලට 0 දාගත්තෙ පාලුවට කියල හිතන්නකො.execute වලට 0 ආවෙ file එක execute කරන්න අවසර දෙන්නෙ නැති නිසා. **

පේනව නේද Read & Write අවස්ථාවෙ ඔක්ටල් අගය = 6

ඊළඟට බලමු read & execute අවස්ථාව

0+r+w+e = 0+4+0+1 =5

Read & execute අවස්ථාවෙ ඔක්ටල් අගය = 5

දැන් Read, Write & execute අවස්ථාව

0+r+w+e = 0+4+2+1 = 7

Read, Write & execute අවස්ථාවෙ ඔක්ටල් අගය = 7

ඔක්ටල් වල තියෙන්නෙ 0 ඉදල 7 වෙනකම් ඉලක්කම් ටික නෙ ඒ නිසා 7 න් එහා යන්නෙ නෑ කියලත් මතක තියා ගන්න.

කලින් කිව්ව permissions mode යොදාගෙන පොඩි වැඩක් කරල බලමු දැන්

ඔන්න හිතන්න මෙහෙම තියනව file එකක් ඒකෙ user(u) Read,Write & execute කියන permissions 3 නම දෙන්න ඔන. Group(g) ට දෙන්න ඔන Read & Write permissions දෙක Other (o) ට දෙන්න ඔන execute permissions එක විතරක් එතකොට මෙන්න මේ විදියට තමයි ගණනය කරන්න ඔන.

User = 0+r+w+x = 0+4+2+1 = 7
Group= 0+r+w+x = 0+4+2+0 = 6
Others = 0+r+w+x = 0+0+0+1 = 1

මේවගේම තවත් එකකුත් බලමු දැන්
file එකක Read,Write & execute කියන permissions u,g,o කියන තුන්ගොල්ලොන්ටම දෙන්න ඕන එකට ගණනය කිරීම කරන්න ඕන මෙහෙමයි.

User = 0+r+w+x = 0+4+2+1 = 7
Group= 0+r+w+x = 0+4+2+1 = 7
Others = 0+r+w+x = 0+4+2+1 = 7

මම හිතිනව ඔයාලට මම කියපු දේ තේරෙන්න ඇති කියල මේ විදියට අපට ඕන Permission එකක් හදා ගන්න පුලුවන්.
 

file Permissions හදා ගන්න හැටි next පාඩමෙන් කියන්නම්.
Share:

2011-10-07

ලිනක්ස් Shell Programming පාඩම-කොටස 02



4.මොනවද මේ Linux Shell කියන්නෙ
 
                                                   ඔයාල දන්නවනෙ කම්පුටෙර්ට තේරෙන්නෙ දෙකේ පාදයේ සංඛ්‍යා විතරයි කියල. ඒ නිසා කම්පියුටරේ එක්ක ගනුදෙනු කරන්න binary language එක දැන ගන්න ඕනනෙ. ඒ කාලෙ අය නම් ඔය language එක මගින් වැඩ අරගෙන තිබුන. ඒ උනත් ඒක පට්ට අමාරුයි.ඒකෙන් ලියන්නයි කියවන්නයි ගියහම පිස්සු හැදෙනව.ඉතින් මේ නිසා කම්පියුටර් OS එක ඇතුලෙ ඉන්න shell කියල එකෙක් (Program එකක් කියල මතක තියගන්න )භාවිතා කර ගත්ත වැඩ කරව ගන්න. ඉතින් අපි මේ shell කියන කෙනාට ඉංග්‍රිසියෙන් දෙන Command එයා කම්පුටර් එකට තේරෙන විදියට හදල ඒව කර්නල් ලොක්කට දෙනව. Shell එකක් කියන්නෙ User ගෙ program එකක් හරි User ගෙ අන්තර් ක්‍රියාවකට හරි සහය සලසල දෙන එකක් කියල කියන්න පුලුවන්.සරලවම කියනව නම් අපි keyboard එකෙන් දෙන (standard input device එකකින්) Commands හරි, මොකක් හරි file එකක තියන Commands ක්‍රියාවට නංවන්න කර්නල් එකට යවන කෙනා shell එකක්  කියල හදුන්වන්න පුලුවන්.
                                                  
                                                    මතක තියාගන්න ඔන shell කියන්නෙ කර්නල් එකේ Part එකක් නෙවෙයි ඒක කරන්නෙ කර්නල් එක use කරල Commands රන් කරවන එක කියල.

Shell වර්ග කිහිපයක්ම තියනව Linux වල අපි බලමු ඒ මොනවද කියල.

1.BASH ( Bourne-Again SHell )
Developed කරල තියෙන්නෙ-Brian Fox and Chet Ramey කියන අය.
Where -Free Software Foundation
මේ වර්ගය තමයි නොමිලේ ලබාදෙන පොදු Shell වර්ගය.

2.CSH (C Shell)
Developed කරල තියෙන්නෙ-Bill Joy කියන කෙනා
Where -University of California (For BSD)
මේක syntax එක ගොඩක් දුරට C භාෂාවට සමානයි.

3.KSH (Korn Shell)
Developed කරල තියෙන්නෙ-David Korn කියන කෙනා
Where -AT & T Bell Labs


                                         මම හිතනව ඔයාල මොකක් හරි ලිනක්ස් ඩිස්ට්ට්‍රෝ එකක් තෝරගෙන ඒක කම්පියුටර් එකේ ඉන්ස්ටෝල් කරගෙන ඇති කියල. නැත්තම් අපට ප්‍රායෝගිකව මේ වැඩේ කරගෙන යන්න අමාරුයි. මොකද shell programming කරන තරමට තමයි පුලුවන් වෙන්නෙ. අපි shell කමාන්ඩ් රන් කරවන්න යොදා ගන්නෙ Terminal කියන එක. මේක නිකන් හරියට වින්ඩෝස් වල තියෙන කමාන්ඩ් ප්‍රොම්ට් වගේ එකක්. බලන්න පහල තියෙන පින්තුරෙ දිහා.

ඔයාල ටර්මිනල් එක ඔපන් කර ගමන් ඉන්නෙ home කියන ෆොල්ඩර් එක ඇතුලෙ තමන්ගෙ user Account එක නමින් තියන folder එකේ. (පොඩ්ඩක් ලිනක්ස් වල file system එක අධ්‍යනය කරන්න-පහල රූපෙ තියෙනව)



අපට cd / කියන කමාන්ඩ් එක මගින් නිතරම file System එකේ මුලට එන්න පුලුවන්. (root එකට) ටර්මිනල් එක භාවිතා කරනකොට මූලිකවම අවශ්‍ය වෙන කමාන්ඩ් කිහිපයක් මම දැන් දෙන්නම්.
1. cd  -ඩිරෙක්ටරි එකකින් එකකට මාරු වීමට.
    උදා - home ඩිරෙක්ටරි එකේ ඉදන් cd Desktop කියල type කරල එන්ටර් කරහම Desktop කියන ඩිරෙක්ටරි එකට යනව
2. cd .. -පසුපස තියෙන ඩිරෙක්ටරි එකට මාරු වීමට.
   
    Desktop ඩිරෙක්ටරි එකේ ඉදන් cd .. කියල type කරල එන්ටර් කරහම home කියන ඩිරෙක්ටරි එකට යනව.

3. ls - දැන්ට ඉන්න ඩිරෙක්ටරි එක ඇතුලෙ තියෙන සියලුම folders හා files බලා ගන්න පුලුවන්.



වැදගත් කරුණු ටිකක්.
1.ටර්මිනල් එකේ මුකුත් ටයිප් කරන්නෙ නැතුව Tab key එක දෙතුන් පාරක් Press කරහම Display all 3651 possibilities? (y or n)  කියන පණිවිඩය පෙන්නනව. ඔයාල y ට්‍යිප් කරල එන්ටර් කරොත් බලාගන්න පුලුවන් තියන ඔක්කොම කමාන්ඩ් ටික.
2.ඕනම කමාන්ඩ්,ඩිරෙක්ටරි හෝ file එකක නමෙන් කොටසක් ටයිප් කරල tab key එක Pressකරහම ඒකෙ ඉතුරු ටික auto ටයිප් වෙනව.(එහෙම එකක් ඇත්තටම තියෙනව නම් විතරයි)
3. ctrl+c මගින් පුලුවන් කර කර ඉන්න වැඩක් එක පාරටම අත්හිටුවන්න (close කරන්න) .
4.අනිත් වැදගත් කරුණ තමයි කැපිටල් සිම්පල් මාරු කර ගන්නෙ නැතුව ටයිප් කරන්න ඔන.(කමාන්ඩ්,ඩිරෙක්ටරි හා ගොනු).
5. up down arrow keys භාවිතා කරල අපට පුලුවන් කලින් ටයිප් කරපු කමාන්ඩ් අරගන්න.



                                      ටර්මිනල් එකේ කර්සර් එක බිලින්ක් වෙවී තියෙන තැනට වම් පැත්තෙන් ඔයලට $ සලකුණ දැක ගන්න ලැබෙයි.ඒකෙන් අදහස් කරන්නෙ ඔයා දැන ලොග් වෙලා ඉන්නෙ gest එකවුන්ට් එකකින් කියල. Administer Account එකකින් ලොග් උනහම දැකගන්න ලැබෙන්නෙ # සලකුණAdminister ගෙන් ලොග් වෙන්න මේක බලන්න. su කියන කමාන්ඩ් එකෙන් පුලුවන් ඇඩ්මින් වෙත මාරු වෙන්න.gest එකවුන්ට් එකේම ඉදන් වැඩ කරන එක වඩා හොදයි.



දැන අපි බලමු අපේ කම්පුටර් එකේ තියෙන්නෙ මොන ජාතියෙ Shell ද කියල. Terminal එක open කරල මෙන්න මෙ කමාන්ඩ් එක type කරන්න එතකොට දැනට කම්පියුටරේ තියන ඔක්කොම shell වර්ග ටික පෙන්නනව.
කමාන්ඩ් එක – cat /etc/shells


උඩ පින්තූරෙ තියෙන්නෙ මගේ කම්පියුටරේ තියෙන shell වර්ග ටික. මෙතන මම කලින් කිව්වට වඩා ගොඩක් වර්ග තියෙනව මේ හැම එකකින්ම වගේ කෙරෙන්නෙ ගොඩක් දුරට එක සමාන දේවල් ඒත් එක එක shell වල syntax එක වෙනස් වෙනව ඒ වගේම තියෙන functions එහෙමත් වෙනස් වෙන්න පුලුවන්.

ඔයාල දන්නවනෙ MS-Dos ගැන ඒකෙත් තියෙනව COMMAND.COM කියල shell එකක් ඒකත් යොදාගන්නෙ මේ වගේ වැඩ වලටම තමයි.ඒත් මතක තියාගන්න ඕන linux වල තියන shells ලගින් වත් ඒක තියන්න බැරි බව. ලිනක්ස් වල තියන shells වලින් එයිට වඩා ගොඩක් දේවල් කරන්න පුලුවන් බව.

Shell ගැන ආයෙමත් කිවිවොත් shell කරන්නෙ user තමන්ට කරගන්න ඔන කියල ලබාදෙන Commands මෙහෙයුම් පද්ධතියට (os එකට ) ලබා දෙන එක.මම හිතනව ඔයාලට දැන් shell කියන්නෙ මොනවද ඒවයින් වෙන්නෙ මොකද්ද කියල යම් තරමක තේරුමක් ලැබෙන්න ඇති කියල .මම දැන් තව command එකක් දෙනව ඒකෙන් පුලුවන් දැනට ඔයාගෙ කම්පියුටර් එකේ සාමාන්‍ය භාවිතයේ පවතින shell එක (current shell) මොකද්ද කියල බලා ගන්න.

මෙන්න Command එක - echo $SHELL 

ඊළඟ කොටසින් හමුවෙමු........
Share: