Sunday, March 27, 2016

Basic Unix Terminal Commands

Getting the current directory
pwd
command එකෙන් කියන්නේ print working directory කියන එක.ඒකෙන් වෙන්නේ අපි දැනට වැඩ කරන directory එකේ path එක print වෙන එක.




Listing files
Directory එකක තියෙන files terminal එකේ බලන්නෙ ls command එකෙන්.
ls~   command එකෙන් home directory එකේ files list කරනව.
ls -l   command එකෙන් long format එකෙන් files වල details ලැබෙනව.

Changing the directory
cd මගින් තමයි අපිට ඕන folder එකට එහෙම නැත්තං directory එකට යන්නේ.cd වලත් options කීපයක් තියෙනවා
cd/  root directory එකට යනවා
cd    home directory එකට යනවා
cd .. දැනට ඉන්න directory එකෙන් එක level එකක් උඩට යනවා
cd - කලින් directory එකට යනවා
ඊට අමතරව cd (directory name) දුන්නාම ඒ directory එකට navigate කරන්න පුළුවන්

Copying a file or a directory
cp command එකෙන් අපිට file වගේම directories copy කරන්න පුළුවන්.
File එකක් copy කරන කොට,
cp filename newfilename කියන පිළිවෙළට තමා type කරන්න ඕන.
cp filename newfilepath වලින් අපිට ඕන තැනකට file එක copy කරන්න පුළුවන්.
directory එකක් copy කරන කොට ඒකෙ තියෙන සේරම files හා subdirectories copy කරන්න recursive method ඒකක use කරන්න ඕන.ඒකට අපි use කරන්නේ මේ විදිය.
cp -r directory nameofnewdirectory
Moving
mv තමයි moving වලට ගන්න syntax එක.
mv filename newdirectory
Removing or deleting
Directory එකක් හරි file එකක් delete කරන්න නම් rm command එක තමා use කරන්න ඕන.
File එකක් delete කරන්න නම්,
rm filename
Directory එකක් delete කරන්න නම්,
rm -r directoryname
-r කියන එකෙන් වෙන්නෙ recursive විදියට directory එකේ තියෙන සේරම දේවල් delete කරන එක.
rmdir directoryname වලින් empty directory එකක් delete කරන්න තමා පුළුවන්. Empty නැති එකක් සම්පූර්ණයෙන් delete කරන්න තමා උඩින් කියපු -r use කරන්නෙ.
rm -f  වලින් කරන්නෙ force removal එකක්.
rm -rf  ඇතුළෙ තියෙන දේවල් එක්ක මුළු directory එකම delete කරන්න තමා force recursive යොදා ගන්නෙ.
Displaying a file
cat filename එකෙන් file එකක තියෙන දේවල් terminal එකේ read only ආකාරයට පෙන්නනව.

Making a directory
mkdir directoryname
chmod command එක ගැන වෙනම post එකකින් විස්තර දාන්නම්.

Thursday, March 24, 2016

vCard

අද මම කියන්නේ vCards ගැන. Smart phone use කරන හැමෝටම තියෙන ප්‍රශ්නයක් තමා අලුත් phone එකක් ගත්තොත් contacts ටික කොහොමද ගන්නෙ කියල. ඒකට හොදම විසදුම තමා contacts ටික .vcf කියන format එකට export කරල තියෙන එක.phone එක මාරු කරනවා වගේම contacts ටික වැරදිලා delete වුනොත් ආයෙත් ගන්න .vcf file එකක් විදියට backup කරලා තිබ්බ නම් ලේසියි.backup එක google drive වගේ cloud space එකක තිබ්බ නම් තමා හොද.
Making a vCard file
දැන් කතා කරමු කොහොමද අලුත්ම contacts list එකක් හදා ගන්නෙ කියල. Windows වලට නම් softwares තියෙනවා gui එකක් එක්ක හදපු.ඒත් mac linux වලට එහෙම හොයාගන්න අමාරුයි.mac වලට නම් තිබ්බත් සල්ලිවලට තමා.
Text editor එකක code ආකාරයට කොහොමද කරන්නෙ කියල තමා මම මේ post එකෙන් කියන්න බලාපොරොත්තු වෙන්නේ.
ඕනම text editor එකක් open කරලා මෙන්න මේ ටික type කරන්න.
BEGIN:VCARD
VERSION:2.1
FN:
TEL;CELL:
END:VCARD
Version කියන එක 2.1 වලට නම් අනිවාර්ය නෑ.ඒත් ඊට පස්සෙ version වලට අනිවාර්යයි.
FN කියන්නේ full name එක.
Tel cel කියන තැනට tp number එක දාන්න.
මීට අමතරව අපිට email, address ,bday දාන්න නම් version tag එකට පහළින් මේව දාන්න ගැලපෙන විදියට.
Address - ADR; TYPE=HOME:******
Bday - BDAY:19900101
Email - EMAIL:*****@gmail.com
Gender - GENDER:M
URL - URL:http://www.****.com
මේ කිව්වෙ පොඩි tags කීපයක්.මීට අමතරව ගොඩක් tags තියෙනවා.
මේ විදියට තමා vCard file එකක් හැදෙන්නේ.
Saving vCard file
මෙහෙම ලියපු file එක save කරන්න ඕන .vcf කියන extension එක දීල.
ඊට පස්සේ අපිට backup එකක් විදියට drive එකේ තියාගන්න ගමන් phone එකට import කරගන්න පුළුවන්. එක සැරේ contacts ගොඩක් දාගන්න නම් තමා මේ ක්‍රමය හොද.
අනික අපිට ඕන විදියට fields customize කරගන්න පුළුවන් මේ  ක්‍රමේට.

Wednesday, March 23, 2016

Vi Editor

මම කලින් දාපු post එකේ කිව්වනේ vi editor එක ගැන කියනව කියල .දැන් මේ කියන්න හදන්නෙ vi editor එකේ use කරන හැටි කියන්න.
Vi editor එකෙන් file එකක් හදන්න නම් terminal එකේ vi test කියල type කරල enter කරන්න ඕන. ඒත අපි file එකක් හදන කොට extension එකක් දාන්න ඕන.
අපිට text file එකක් හදන්න ඕන නම් vi test.txt කියල use කරන්න.
Bash එක්ක සම්බන්ධ නිසා අපි vi test.sh කියල use කරමු.මෙහෙම හදන file එක හැදෙන්නේ default directory එකේ.අපිට ඕන path එක cd command එකෙන් හදන්න ඕන.
අපිට desktop එකේ bash1 කියන folder එකේ මේ file එක හදන්න ඕන කියල හිතමු.
cd desktop/bash1 කියන command එකෙන් directory එක bash1 folder එකට set කරන්න පුළුවන්. හරියට path එක set වෙලාද බලන්න pwd command එක use කරන්න.
දැන් test.sh කියන file එක vi editor එකේ open වේවි. ඒකෙ මොනවා හරි type කරන්න නම් i press කරලා හෝ insert press කරල editing mode එහෙම නැත්තං insert mode එකට set කරගන්න ඕන.
ඊට පස්සෙ අපිට ඕන bash commands type කරන්න ඕන. file එක හදල ඉවර වෙලා exit වෙන්න esc press කරන්න.
Save කරන්න :wq or zz
Save නොකර exit වෙන්න  :q!
Save කරන්න  :w
Save as කරන්න  :w <newfilename>

More commands in vi editor
arrow keys වලට අමතරව file එක through cursor එක move කරන්න esc double press කරල k,j,h,l කියන keys up,down,left,right කියන පැති වලට move කරන්න පුළුවන්.
ඒ වගේම lines කීපයක් එක සැරේ move කරන්න නම්  2j , 7k වගේ ඉස්සරහට number එකක් use කරල move කරන්න පුළුවන්.
ඒ වගේ මේ පහළ තියෙන keys වලින් වැඩ කරන්න පුළුවන් file එකේ move වෙන්න.
| - beginning of the line
$ - end of the line
:x - x වන line එකේ මුලට යනව
G - last line
මීට අමතරව commands දැන ගන්න tutorials point link එකට යන්න.

Tuesday, March 22, 2016

Bash fundamentals in Sinhala

Intro
මගේ පලවෙනි post එක විදියට මම දාන්න හිතුවෙ bash ගැන.ගොඩක් අය මේ ගැන අහල ඇති.ඒත් වැඩි දෙයක් දන්නෙ නැතුව ඇත.
Bash කියන්නෙ shell වර්ගයක්. ඉස්සෙල්ලා මම කියන්නම් shell එකක් කියන්නෙ මොකද්ද කියල. Shell එකක් කියන්නෙ unix environment එකේ commands kernel එකට දීල වැඩ ගන්න පුළුවන් දෙයක් කියල බොහොම ප්‍රාථමික විදියට හදුන්වා දෙන්න පුලුවන. මුලින්ම කියන්න ඕන kernel එකයි shell එකයි කියන්නෙ දෙකක්. Shell එකෙන් දෙන commands kernel එකට තමා යන්නෙ.ඒ කියන්නෙ අපේ computer එකේ kernel එකට් access කරන්න පුලුවන් සුපිරි භාණ්ඩයක් තමා මේ shell එක.unix environment එකේ නම් shell වර්ග කීපයක් තියෙනව.
1.bash- bourne again shell
2.sh- bourne shell
3.ksh-korn shell
4.csh - C shell
මේව තමා ප්‍රධාන ඒව.මීට අමතරව එකේක අය develop කරපු shell තියෙනව.
Windows environment එකේ shell වෙනුවට හදුන්වා දෙන්න පුලුවන් command prompt එක තමා.
Linux versions වල mac os වල terminal එක භාවිත කරල අපිට පුලුවන් bash use කරන්න.
Unix වල මුලින්ම shell එක හදල තියෙන්නේ stephen bourne මහත්මයා.ඒ AT&T Bell Lab එකේ.
Bash
මේ shell scripts interpret වෙනවා මිසක් compile වීමක් සිදුවන්නේ නෑ. ඒ කියන්නෙ අපි දෙන commands line by line තමා execute කරන්නෙ.මේ scripts අපී save කරන්න ඕන .sh කියන extension එක දාල.
මේකත් අපි දන්න normal programming language එකක් වගේම තමා.python කියන language එකත් bash වගෙ interpret ජාතියේ programming language එකක්.නමුත් python වලින් kernel එක access කරන වගේ ලොකු සෙල්ලම් දාන්න පුලුවන්ද කියල නම් මම දන්නෙ නෑ.
අපි බලමු unix environment එකක තියෙන terminal එක ආදාරයෙන් කොහොමද පොඩි bash script එකක් run කරන්නෙ කියල.
Using the terminal
මුලින්ම අපි script එකක් run කරන්න කලින් normal code එකක් run කරල බලමු.ඕනම් programming language එකක් පටන් ගන්න කොට අපි කරන්නෙ Hello World print කරන එකනෙ.ඒ වගේ bash වලින් ඒක කරන්නෙ කොහොමද බලමු.
ඒකට පහල කියල තියෙන code එක type කරල enter කරන්න.
echo "Hello World"
එතකොට Hello World කියල terminal එකේ පෙනේවි.මේක interpret වෙන ජාතියේ එකක් නිසා java c++ වල වගේ ; දාන්න එහෙම ඕන නෑ.
Using scripts in bash
script එකක් කියන්නෙ සාමාන්‍ය file එකක් විදියට ලියන එකක්.ඒක execute කරාම අපිට output ගන්න පුළුවන්.html උනත් script එකක් විදියට පෙන්වා දෙන්න පුළුවන්. අපි terminal එක use කරන කොට vi editor එක use කරන්න පුළුවන් අපේ script එක ලියා ගන්න.
දැන් මුලින්ම vi test.sh කියල terminal එකේ type කරලා enter කරන්න.
එතකොට අලුත් page එකක් වගේ පෙනේවි. Vi editor එක use කරන කොට දැන ගන්න ඕන commands කීපයක් තියෙනවා.ඒවා ටික vi editor කියන post එකෙන් මම කියල දෙන්නං.
Script එක ලියන්න පටන් ගන්න i press කරන්න.දැන් අපිට vi editor එකේ අපේ code එක ලියන්න පුළුවන්.
අපි code එකක් ලියන්න හදන්නෙ userගෙ නම input එකක් විදිහට අරගෙන ඒක print කරන්න.
    echo "enter your name: "
    read PERSON
    echo "your name is $PERSON "
echo command එකෙන් කරන්නේ command line එකේ එහෙම නැත්තං terminal එකේ මොනවා හරි දෙයක් print කරන එක. read එකෙන් කරන්නේ input එකක් ගන්න එක. $ sign එක use කරන්න හේතුව තමා ඒක variable එකක් විදියට use උන දෙයක් නිසා.
මෙහෙම ලියපු code එක run කරන්න  නම් vi editor එකෙන් අයින් වෙලා ආයෙත් bash එකට යන්න ඕන. ඒකට esc press කරල :wq type කරල enter කරන්න.ඒ දේවල් ගැන vi editor post එකේ මම දාන්නම්. අපි මේ ලියපු script එක execute කරන්න  ./test.sh කියල type කරල enter කරන්න. සමහරවිට deny කියල message එකක් එන්න ඉඩ තියෙනවා. එහෙම වුනොත් $chmod +x test.sh කියන command එක run කරල ./test.sh run කරන්න.
chmod කියන්නේ ලොකු command එකක්.ඒක ඇතුලෙ කතා ගොඩක් තියෙනවා.ඒව ගැන ඉස්සරහට කියන්නම්.