2022-01-24

ඉගෙන ගන්න අයට FREE ENDLESS OS

Endless OS එක කියන්නෙ ගොඩක් Education එක පැත්තට බර OS මේකෙ ගොඩක් වැදගත් දේවල් ටිකක් තියනව අපි බලමු මොනවද මේ කියල.

1. භාවිතයට හරිම ලේසියි මොකද මොබයිල් ෆෝන් එකක වගේ interface එකක් වගේ තමයි තියෙන්නෙ හරිම සිම්පල්.

2. offline (internet) නැතුව use කරන්න් පුලූවන් නමුත් ගොඩක් දේවල් එක්ක  (inbuild ගොඩක් දේවල් තියනව)

3. Encyclopedia එකක්  විශ්වකෝෂයක් තියනව 50,000 විතර articles තියන.

4.  ඉගෙන ගන්න පොඩ්ඩන්ට එහෙම ගොඩක් හොදයි ඒ වගේම පාසල් වලට සහ ඉන්ටර්නෙට් නැති පැති වලට ගොඩක් ප්‍රයොජනවත්

5. History , Math , Sciences , Economy Humanity , biology  සහ තවත් ගොඩක්  විෂයන් වලට අදාල Educational courses මේකෙ තියනව.


6.  මේක independent learning platform එකක් විදියට භාවිතා කරන්න පුලුවන්. (පොඩ්ඩන්ට තනියම ඉගෙන ගන්න)

7. Pre loaded Music, Videos, Games ගොඩක් මේකෙ තියනව.

8. මේ හැමදේම සම්පූර්ණයෙන් නොමිලේ තමයි.

අපිට මේක side by side with windows විදියට ඉන්ස්ටෝල් කරගන්න පුලුවන් ලේසියෙන්ම නැත්තම්  Dual Boot Or Full install කරගන්නත් පුලුවන්.  Endless OS එක versions කිහිපයකින් එනව.  

ඔයාලත් මේක දාගෙන බලන්න ගෙදර පොඩි අය ඉන්නව නම් එයාලට ඉන්ස්ටෝල් කරල දෙන්න.

ඉන්ස්ටෝල් කරන විඩියෝ එකක්

වෙබ් සයිට් එක https://endlessos.com/

එයාලගෙ foundation එක https://www.endlessos.org/

Linux Lanka facebook page එක like කරල group එකටත්  join වෙන්න.

https://www.facebook.com/LinuxLankaCommunity

https://www.facebook.com/groups/307118092732096

ලිනක්ස් ලංකා Forum එකත් එක්ක ඉන්න ලිනක්ස් දැනුම බෙදා ගන්න.

https://linuxlanka.com

Share:

2022-01-23

වින්ඩෝස් Games ලින්ක්ස් වල RUN කරන්න - PROTON

 


Proton කියන්නෙ Compatibility layer එකක් වින්ඩෝස් ගේම්ස් ලින්ක්ස් වල රන් කරන්න පුලුවන් . මේකට ගොඩක් අලුත් NVDIA GPU Drivers එහෙමත් Support කරනව.  සමහර windows Games windows වලටත් වඩා හොදට මේකෙ වැඩ කරනව කියල තමයි කියන්නෙ මේ තියෙන්නෙ මේකෙ වෙබ් සයිට් එක 

https://www.protondb.com/ 

මේ වෙනකොට Games ගොඩක් ලොකු ප්‍රමාණයක් Proton එකට Support කරනව ඒ ගැන විස්තර protondb වෙබ් සයිට් එකෙන් බලාගන්න පුලුවන්.

STEAM එකත් එක්ක තමයි මේක වැඩ කරන්නෙ



පහල තියන videos බලන්න ඒකෙන් ඔයාලට මේක Use කරන විදිය ගැන ලොකු අදහසක් ගන්න පුලුවන්.

ඉන්ස්ටෝල් කරගන්න විදිය

https://ubuntu.com/blog/linux-gaming-with-ubuntu-desktop-steam-and-proton

Linux Lanka Facebook page එක like කරල group එකටත්  join වෙන්න.

https://www.facebook.com/LinuxLankaCommunity

ලිනක්ස් ලංකා Forum එකත් එක්ක ඉන්න ලිනක්ස් දැනුම බෙදා ගන්න.


Share:

2022-01-11

Parrot OS හැකින් සහ ක්‍රැකින් වලට.

Parrot OS

මේ OS එක ඩෙබියන් බේස් කරගනිපු Lightweight Operating System එකක්. අපිට මේකෙ Security , Home සහ ARM කියන Edition තුනකින් download කර ගන්න පුලුවන්. මේ OS එක ගොඩක් හොද Security පැත්තෙ වැඩ වලට විශේෂයෙන්ම Penetration testing , Revers Engineering සහ Digital Forensics වගේ දේවල් වලට, තව TOR browsing , TOR File sharing වගේම Crypto wallet එකකුත් එනව මේ OS එකත් එක්ක. ලෝකෙ වටේම ඉන්න security specialists එකතු වෙලා තමයි මේ OS එකට Contribute කරන්නෙ. කාලි ලිනක්ස් වගේම OS එකක් තමයි මේකත්. වැදගත්ම දේ මේක FREE සහ OPEN SOURCE

මෙන්න ලින්ක් එක :- https://www.parrotsec.org/

අපේ page එක like කරල group එකට join වෙන්න.

https://www.facebook.com/LinuxLankaCommunity




Share:

2014-05-21

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

while loop

දැන් අපි කතා කරන්නෙ while loop ගැන බලන්න while loopඑකේ syntax එක


   while
              [ condition ]
               do
                 මෙතන ලියන සියලු කමාන්ඩ් රන් වීම සිදුවේ.
            done
while loop එකේ තියන විශේෂත්වය තමයි ලබාදීල තියෙන condition එක false වෙනකන් දීල තියෙන කමාන්ඩ් ටික රන් කරවීම. බලන්න පහල තියෙන උදාහරණය කන්ඩිශන් එක true නිසා ඉවරයක් නැතුවම එකම කමාන්ඩ් එක රන් වීම සිද්ධ වෙනව.


##########################################
#!/bin/sh
#
#Script to test while statement
#
#
while [ 5 -eq 5 ]
do
echo "Welcome to while loop "
done
##########################################


හදිස්සියෙ වත් කොයි වෙලාවක හරි program එක ඇතුලෙදිම condition එක false උනොත් loop එක රන් වෙන එක නවතිනව.

The case Statement

මේක ගැන හොදටම තේරුම් ගන්න මුලින්ම පහල තියෙන උදාහරණෙ බලන්න.
##########################################
#!/bin/sh
#
# if no vehicle name is given
#
# if no command line arg



if [ -z $1 ]
then
rental="*** Unknown vehicle ***"
elif [ -n $1 ]
then
# otherwise make first arg as rental
rental=$1
fi



case $rental in
"car") echo "For $rental Rs.20 per k/m";;
"van") echo "For $rental Rs.10 per k/m";;
"jeep") echo "For $rental Rs.5 per k/m";;
"bicycle") echo "For $rental 20 paisa per k/m";;
*) echo "Sorry, I can not gat a $rental for you";;
esac


##########################################
මේක රන් කරන්න ඕන car , van ,jeep ,bicycle යන ඒවයින් මොකක් හරි පැරාමීටරයක් එක වරකට යොදා ගෙන(වෙන එකක් උනත් දීල බලන්න පුලුවන්)
මුලින්ම බලන්න මේ කොටස දිහා
-Z හා -n ගැන මම කලින් කියල තියෙනව
-Z කියන්නෙ string1 is NULL and does exist
-n කියන්නෙ string1 is NOT NULL and does exist


##############################################################
if [ -z $1 ] # $1 වේරියබල් එක හිස් නම් හා එහෙම එකක් පවතිනව
then # නම්
rental="*** Unknown vehicle ***" # rental කියන variable එකට ** Unknown vehicle *** assign කරන්න
elif [ -n $1 ] # $1 වේරියබල් එක නැත්නම් හා එහෙම එකක් පවතිනව
then # නම්
# otherwise make first arg as rental
rental=$1 # rental කියන variable එකට $1 assign කරන්න.
fi
###########################################################


ඊළගට බලන්න මේ කොටස


case $rental in
"car") echo "For $rental Rs.20 per k/m";;
"van") echo "For $rental Rs.10 per k/m";;
"jeep") echo "For $rental Rs.5 per k/m";;
"bicycle") echo "For $rental 20 paisa per k/m";;
*) echo "Sorry, I can not gat a $rental for you";;
esac # අවසානය.

$rental ගේ අගය car , van ,jeep ,bicycle යන අගයන් උනොත් අදාල පණිවිඩය echo මගින් print වීම සිදු වෙනව.ඒහෙම නොවුනොත් *) මගින් තියෙන ලයින් එක print වෙනව. මෙන්න මේකට තමයි මේ case statement කියල හදුන්වන්නෙ.
මේ තියෙන්නෙ මේකෙ syntax එක.


case
 $variable-name  in
               
pattern1)   command
                    
           ...
                    
           ..
                    
           command;;
               
pattern2)   command
                    
           ...
                    
           ..
                    
           command;;
               
patternN)   command
                    
           ...
                    
           ..
                    
           command;;
                *)
            command
                    
           ...
                    
           ..
                    
           command;;
           esac
මේක සමාන කරන්න පුලුවන් හරියට switch එකකින් light එකක් දානව වගේ වැඩකට. එක් ස්විව්
එකකින් ඒකට අදාල බල්බ් එක පත්තු කරන්න පුලුවන්.

de-bug the shell script

අපි ශෙල් program කරනකොට සමහර වෙලාවට ඒවයි තියෙන වැරදි (errors ) හොයාගන්න සිද්ධ වෙනව.හොයල ඒව නිවැරදි කරන්න සිද්ධ වෙනව මෙන්න මේකට අපි කියනව debug කරනව කියල.අපට මේක කරන්න පුලුවන් -x හා -v කියන option දෙක භාවිතා කරල.
මේක භාවිතා කරන්නෙ terminal එකේ ශෙල් ස්ක්‍රිප්ට් එක රන් කරනකොට.
Syntax එක මෙන්න මෙහෙමයි.
sh option { shell එකේ name එක. }
අපි මේක කරල බලමු. අපි මුලින්ම errors තියන ශෙල් ස්ක්‍රිප්ට් එකක් රන් කරල බලමු මොකද වෙන්නෙ කියල.ඔයාලති මේ ශෙල් එක ලියල රන් කරල බලන්න.
මේකෙ වරද තියෙන්නෙ tot= `expr $1 + $2` කියන තැන කියල ඔයාලට පේනව නේද?
##########################################
#!/bin/sh
#
#
# Script to show debug of shell
#
tot= `expr $1 + $2`
echo $tot

######################################
මේක රන් කරාම terminal එකේ expr: syntax error කියල පෙන්නුව නේද? අපි දැන් මේකට debug options හාවිතා කරල බලමු.
මුලින්ම බලමු -x කියන option එකත් එක්ක රන් කරල. දැන් ස්ක්‍රිප්ට් එක රන් කරන්න ඕන
sh -x script Name කියල දැන් ඔයාලට පෙනේවි ටර්මිනල් එකේ මෙන්න මේ විදියට

+ expr +
expr: syntax error
+ tot=
    echo
expr: syntax error කියල පෙන්නන්නෙ error එක තියෙන තැන.

ඊළගට බලමු අනිත් option එක යොදාගෙන රන් කරල.
##########################################
#!/bin/sh
#
#
# Script to show debug of shell
#
tot= `expr $1 + $2`
expr: syntax error
echo $tot

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

මෙන්න මෙහෙම එකක් තමයි ටර්මිනල් එකේ පෙන්නන්නෙ කලින් පෙන්නපු විදියට වඩා මේ විදිය බලාගන්න පහසුයි නේද? ගොඩක් complex ස්ක්‍රිප්ට් debug කරනකොට මේකෙන් කරන එක තමයි පහසු.

ඔන්න මෙතනින් structured shell script පාඩම ඉවරයි ඊළගට පටන්ගන්නෙ advanced shell scripting


Share:

2014-05-15

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


3. if...else...fi


මම දැන් කියන්නෙ if else ගැන

  if condition
           then
                     condition එල true නම් else වලින් ඉහල
තියෙන සියලුම දේ රන් වෙනව.
                   
           else
    condition එල false නම් fi වලින් ඉහල
තියෙන සියලුම දේ රන් වෙනව.
                     
           fi

 මෙන්න මේ කතාවට තමයි if else කතාව කියල කියන්නෙ.අපි දැන බලමු ඒ සම්බන්ධ උදාහරණයක්

##########################################
#!/bin/sh
#
#

if test $1 -gt 0 
then 
echo "$1 number is positive" 
else 
echo "$1 number is negative" 
fi 

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

මේ program එක ස්ක්‍රිප්ට් එකක ලියල run කරන්න ඕන integer පැරාමීටර් එකකුත්  එක්ක ප්‍රොගැම් එක ලියල තියෙන්නෙ ඒ ලබාදෙන පැරාමීටර් එක Program එක ඇතුලෙදි 0 වඩා ලොකුද? කියල බලල ලොකු නම් number is positive කියලත් නැත්තම්  number is negative කියලත් ප්‍රින්ට් වෙන්න.නිකන් බලන්න ඔය program එක පැරාමීටර් එකක් නැතුව රන් කරන්න බලන්න. එතකොට මොකද උනේ ?   number is negative කියල නේද ප්‍රින්ට් උනේ ? එහෙම තියන එක වැරදි නිසා අපි තවටිකක් program එක දියුණු කරමු මෙන්න මේ විදියට.

 ##########################################
#!/bin/sh 


if [ $# -eq 0 ] 
then 
echo "$0 : You must give/supply one integers" 
exit 1 
fi 

if test $1 -gt 0 
then 
echo "$1 number is positive" 
else 
echo "$1 number is negative" 
fi 

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

  මේ programm එකේදි මුලින්ම check කරල බලනව command line එකේදි ලබාදීපු පැරාමීටර් එක මොකද්ද කියල ඒක 0 නම්  You must give/supply one integers කියල ප්‍රින්ට් කරල program එකෙන් exit කරනව.


Nested if-else-fi

මෙතනදි කතා කරන්නෙ if else එකක් ඇතුලෙ තියෙන තවත් if else එකක් ගැන බලන්න පහල තියෙන උදාහරණෙ.

##########################################
#!/bin/sh 


if [ $# -eq 0 ] 
then 
echo "$0 : You must give/supply one integers" 
exit 1 
fi 

if test $1 -gt 0 
then 
if test $1 -eq 5 
then 
echo “ Yes its five ” 
else 
echo “ Yes its not five ” 
fi 
else 
echo "$1 number is negative" 
fi 

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

 මෙතන පළවෙනි If එක ඇතුලෙදි ආයෙමත් වාරයක් චෙක් කරනව ලබාදීපු අගය 5 ට සමානද නැද්ද කියල. මෙන්න මේ වගේ if else එකක් ඇතුලෙ තව තව if else ලියන එකට අපි කියනව Nested if-else-fi කියල. මෙන්න මේ වගේ තමයි syntax එක

if condition
        then
                if condition
                then
                        .....
                        ..
                        do this
                else
                        ....
                        ..
                        do this
                fi
        else
                ...
                .....
                do this
        fi

Multilevel if-then-else

දැන් අපි කතා කරන්න හදන්නෙ Multilevel if else ගැන.ම්ම්ම්ම්ම්...... අපි මුලින්ම කලින් කරපු if else ගැන ආයෙ පොඩ්ඩක් මතක් කරගන්න පොඩි වැඩක් කරල බලමු.

අපට මෙන්න මෙහෙම ප්‍රොග්‍රැම් එකක් හදාගන්න ඕන මොකද්ද දන්නවද? ළමයෙකුගෙ ලකුණු ඇතුලත් කරහම ඒ ළමයගෙ result එක ප්‍රින්ට් වෙන්න ඕන A , B ,C ,S ද F ද කියල.

75 -100 අතර  නම් A
65 -75 අතර  නම් B
45 -65 අතර  නම් C
45 ට අඩු නම් F
මුලින්ම ඔයාල try කරල බලන්න මේක කරල බලන්න.
##########################################

#!/bin/sh 


if [ $# -eq 0 ] 
then 
echo "Please Enter Marks First" 
exit 1 
fi 

if test $1 -ge 75 
then 
echo "A" 
fi 
if test $1 -ge 65 
then 
echo "B" 
fi 
if test $1 -ge 45 
then 
echo "C" 
else 
echo "F" 
fi 


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

මෙක තමයි ඒ program එක ලියන වැරදි විදිය බලන්න වරදින තැන. ලකුණු 85 විතර ලබා දුන්නොත් A , B , C කියන තුනම ලැබෙනව එල නෙ !  අපේ විභාග දෙපාර්තමේන්තුව වගේ එහෙම වෙන්න බෑ අපට මෙන්න මේ program එක ලියන්න multilevel ඉෆ් එල්ස් යොදාගන්න පුලුවන් මෙන්න මේ වගේ

##########################################
#!/bin/sh 


if [ $# -eq 0 ] 
then 
echo "Please Enter Marks First" 
exit 1 
fi 

if [ $1 -ge 75 ] 
then 
  echo "A" 
elif [ $1 -ge 65 ] 
then 
  echo "B" 
elif [ $1 -ge 45 ] 
then 
  echo "C" 

else 
  echo "F" 
fi 

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

if else කියන එක කෙටි කරල ලියල තියෙන්නෙ elif  කියල.[] වරහන් යොදන ආකාරයත් හොදට බලන්න ඒක ගොඩක් වැදගත්


Loops in Shell Scripts

                                        ලූප් මගින් අපට පුලුවන් මොකක් හරි එකම කමාන්ඩ් එකක් නැවත නැවත රන් කරන්න.සරලව කිව්වොත් එකම දේ ආයෙ ආයෙ කරන්න. Bash ශෙල් වලදි අපි loop වර්ග දෙකක් ගැන කතා කරනව. ඒව තමයි

1. for loop
2. while loop 

For Loop 

හිතන්න මෙහෙම අපට ඕන ටර්මිනල් එකේ welcome කියල 15 වාරයක් ප්‍රින්ට් කරන්න. මෙන්න මේ විදියට ඒක කරන්න පුලුවන්.

##########################################
#!/bin/sh 


echo "Welcome " 
echo "Welcome " 
echo "Welcome " 
echo "Welcome " 
echo "Welcome " 
echo "Welcome " 
echo "Welcome " 
echo "Welcome " 
echo "Welcome " 
echo "Welcome " 
echo "Welcome " 
echo "Welcome " 
echo "Welcome " 
echo "Welcome " 
echo "Welcome " 



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

වැඩේ කැතයි නේද? 100 විතර ප්‍රින්ට් කරගන්න උනොත් මොනව වේද? දැන් අපි ඒක for loop එකක් මගින් කරල බලමු.

##########################################
#!/bin/sh 


for my in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
do 
echo "Welcome " 
done 
##########################################

 ඔන්න ඔච්චරයි ලියන්න තියෙන්නෙ. මෙතන my කියල තියෙන්නෙ වේරියබල් නේම් එකක් ඒකට කැමති නමක් දෙන්න පුලුවන්. In 1 2 3 ..  කියල තියෙන්නෙ repeat වෙන්න ඕන වාර ගණන.do හා  done කියන එක අතර ලියන්න ඕන අපට repeat කරගන්න ඕන කමාන්ඩ් ටික.

දැන් මෙන්න මේ program එක බලන්න අපට මේකෙන් ගන්න පුලුවන් ඕනම එකක ගුණිතය   සරලව කිව්වොත් චක්කරේ.
###########################################################
#!/bin/sh 


if [ $# -eq 0 ] 
then 
echo "Please Enter Number First" 
exit 1 
fi 
n=$1 
for i in 1 2 3 4 5 6 7 8 9 10 11 12 
do 
echo "$n * $i = `expr $i \* $n`" 
done
###########################################################
for loop එකේ syntax එක මෙන්න මෙහෙමයි
         
 for { variable name } in { list }
            do
                     මෙහි ලියන සියලු කමාන්ඩ් execute වේ.
            done
බලන්න පහල තියෙන syntax එක දිහා

for (( expr1; expr2; expr3 ))
         do
              මෙහි ලියන සියලු කමාන්ඩ් execute වේ.
         Done

  මේ තියන විදිය තමයි ගොඩක් දුරට for loop ලියන්න use කරන්නෙ.

##########################################
#!/bin/sh 


for (( i = 0 ;  i <= 5;  i++  )) 
do 
  echo "Welcome $i times" 
done 

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

(( ))  ඇතුලෙ කොටස් තුනකින් සමන්විත වෙනව i=0 කියන්නෙ I කියන වේරියබල් එක initialization කරන අවස්ථාව I <=5  කියල කියන්නෙ repeat වෙන්න ඕන අවශය වාර ගණන. I++ කියන එකෙන් වෙන්නෙ I ගෙ අගය එකකින් වැඩි කරන එක( i=i+1 කියන එකම තමයි)
 දැන් බලන්න මේකත්

##########################################
#!/bin/sh 


for (( i = 0 ;  i <= 5;  i++  )) 
do 
  j=i+1 
   echo “ Hi $i” 

done 


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

Nesting of for Loop
         මේකට් nesting if else වගේම තමයි loop එකක් ඇතුලෙ තව loop එකක් දාල රන් කරවන එක තමයි මෙතනදි සිද්ධ වෙන්නෙ.
##########################################
#!/bin/sh 


for (( i = 0 ;  i <= 5;  i++  )) 
do 
  for (( j= 0 ;  j <= 5;  j++  )) 
do 
echo “Welcome $i welcome $j” 
  
done 
done 


##########################################
 
මේක කරල බැලුවද ? Inner loop එක ඇතුලෙ තියෙන කමාන්ඩ් එක 25 වතාවක් රන් වෙනව කියල පේනව නේද ?
අපි දැන් මෙන්න මේ වගේ එකක් ප්‍රින්ට් කරගන්න try එකක් දීල බලමු.
*
**
***
****
*****

මෙන්න මේකට ලියන්න ඕන program එක මෙහෙමයි
##########################################
#!/bin/sh 


for (( i = 1 ;  i < 6;  i++  )) 
do 
  for (( j= 0 ;  j <i;  j++  )) 
do 
echo  -n "*" 
   
done 
echo "" 
done 


#############################################
පළවෙනි loop එක එක පාරක් රන් වෙද්දි අනිත් ඇතුලෙ තියෙන loop එක රන් වෙන වාර ගණන එකින් එක වැඩි වෙන එක සිද්ධ වීමෙනුයි * රටාවකට print වීම සිද්ධ වුණේ echo "" මගින් කරේ * ගණන ප්‍රින්ට් කරල නිව් ලයින් එකකට කර්සර් එක යවපු එක.

දැන් ඔයාල මේ පහල තියෙන චෙස් බොර්ඩ් එකක් විදියට output එක ලැබෙන program එක study කරල බලන්න.

##########################################
#!/bin/sh 


for (( i = 1; i <= 9; i++ )) ### Outer for loop ### 
do 
   for (( j = 1 ; j <= 9; j++ )) ### Inner for loop ### 
   do 
        tot=`expr $i + $j` 
        tmp=`expr $tot % 2` 
        if [ $tmp -eq 0 ]; then 
            echo -e -n "\033[47m " 
        else 
            echo -e -n "\033[40m " 
        fi 
  done 
 echo -e -n "\033[40m" #### set back background colour to black 
 echo "" #### print the new line ### 
done 

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

Share: