Monday, June 24, 2013

2 - Directory Navigation

Posted in ,


        අද අපගේ දෙවන පාඩම ලෙස Directory Navigation ගැන කථා  කරමු .

path එකක් යනු කුමක්ද ?

folder එකක් හෝ file එකක් OS එකෙහි file system එක තුල පිහිටා ඇති ස්ථානයයි 
path එක "/" හා alpha-numeric characters වල සංයෝජනයකි.

absolute path එක හා relative path එක අතර වෙනස කුමක් ද ?

absolute path එක යනු root directory(/) එකේ සිට file එකක හෝ directory එකක ස්ථානය නියම වශයෙන් සඳහන් කිරීමයි. එනම් / directory එකේ සිට file system එකෙහි ආරම්භයේ සිට ඇති සම්පුර්ණ path එකයි.

Relative path යනු දැනට වැඩ කරන directory එකට අදාලව path එක දැක්වීමයි.

ඔබ දැනට වැඩ කරමින් සිටින directory එක බලාගැනීමට "pwd" command එක භාවිත කරන්න.
ex :
pwd - වැඩ කරමින් සිටින directory එකෙහි absolute path එක පෙන්වයි.



ඉහත නිදසුනෙන් මා දැනට වැඩකරමින් සිටින directory එක පෙන්වයි.

වැඩ කරන directory එක වෙනස් කිරීමට "cd" command එක භාවිතා කරන්න.

cd [directory] - directory එක ලෙස ඔබට ඇතුල් වීමට අවශ්‍ය directory එකේ නම ලබාදෙන්න, එමගින් ඔබ දැනට සිටින directory එක වෙනස් වේ.
ex :



ඉහතින් දැක්වෙන්නේ මගේ home එකයි, මට මෙහි "Crux" directory එකට ඇතුල් වීමට අවශ්යයි.




"pwd" command එක මගින් මා දැන් සිටින්නේ "Crux" directory එකේ බව පෙන්වයි.

relative path එක භාවිතයෙන් වැඩ කරන directory එක වෙනස් කිරීමට 
cd [relative path] 
ex :



මෙහි දැක්වෙන්නේ මගේ "Crux" directory එක තුල ඇති files වේ.
realative path එක භාවිතයෙන් මට "Tux" directory එක තුලට home එකේ සිට යාමට අවශ්‍යයි.




absolute path එක භාවිතයෙන් වැඩ කරන directory එක වෙනස් කිරීමට 
cd [absolute path] 
ex :
absolute path එක භාවිතයෙන් මට "Tux" directory එක තුලට home එකේ සිට යාමට අවශ්‍යයි.




arguments නැතුව "cd" command එක භාවිතයෙන් user ගේ home directory එකට යා හැක 
cd

working directory එකේ සිට parent directory එකට යාමට 
cd ..

දැන් සිටන directory එකේ සිට කලින් සිටි directory එකට යාමට
cd - 

දැනට සිටින එකටම පැමිණීමට
cd .
මේ command එක දැන් භාවිත කරනේ නැත, මන්ද එමගින් දැන් සිටින ස්ථානයටම පැමිණීම සිදුවන නිසා .

දැනට සිටින directory එකේ  parents parent directory එකට හෙවත් directory structure එකෙහි මට්ටම් දෙකක් ඉහලට ගමන් කිරීමට 
cd ../..
ex :





දැනට සිටින directory එකෙහි directory structure එකේ  මට්ටම් දෙකක් ඉහලට ගමන් කිරීමෙන් පසු ඔබ සඳහන් කර ඇති directory එකට ඇතුල් වීමට 
cd ../../[Directory]
ex :





පළමුවන "pwd" command එකෙන් මම දැනට සිටින directory එක ලෙස "penguin" පෙන්වයි. මට "Car" directory එකට යාමට අවශ්‍යයි. "Car" directory එක ඇත්තේ "penguin" directory එකෙහි parent parent directory එක හෙවත් directory structure එකෙහි මට්ටම් දෙකක් ඉහලට ගමන් කල විට ඇති directory එකේය. එම නිසා "../.." භාවිතයෙන් directories දෙකක් ඉහලට ගමන් කර මට ඇතුල් වීමට අවශ්‍ය directory එකේ නම(Car) ලබා දිය යුතුය .

directory එකෙහි සම්පුර්ණ නම සඳහන් නොකර directory එකට ඇතුල් වීමට 
ex :
මට "Car" directory එකට "Car " යයි සම්පුර්නෙන් සඳහන් නොකර යාමට අවශ්‍යයි.
එක character එකක් සඳහන් නොකිරීමට question mark(?) භාවිත කල හැක.




characters ගොඩක් සඳහන් නොකිරීමට  asterisk(*) භාවිත කල හැක.




මෙ මගින් Car directory එකට යා හැක්කේ Crux directory එකෙහි C අකුරෙන් පටන් ගන්න එකම එක මෙය වුවොත් පමණි.

/home/cruxudo/Crux/Tux directory එකට යාමට  එම path  එකෙහි වූ එක නමක් වත් සම්පුර්නෙන් සඳහන් නොකර <tab> භාවිතයෙන් එම නම් සම්පුර්න කිරීමට 

cd /h<tab>/c<tab>/C<tab>/T<tab>

directory එකේ නම සම්පුර්ණ කිරීමට <tab> press කරන්න.

මෙම පාඩමෙන් ඔබට දැනුමක් ලැබුන නම් ඔබට මෙය ප්‍රයෝජනවත් කියල හිතෙනවා නම් අපිව දිරිමත් කිරීම සදහා comment එකක් දාලම යන්න, හොඳ හෝ නරක අදහස් සියලු දේ අපට වැදගත් අලුත් පාඩමකින් නැවත හමුවෙමු ,සුබ දවසක්!!!

Sunday, June 23, 2013

2 - Linus සහ ලිනක්ස්

Posted in ,

  ලිනක්ස් ඉගෙන ගැනීමට කලින් අපිට එක් විශේෂ පුද්ගලයෙක් පිලිබඳ කථාකිරීමට වුවමනායි. ඔහු 
නමින්,

Linus Benedict Torvalds වේ. ඔහු උපත ලැබුවේ වර්ෂ 1969 දෙසැම්බර් 28 වන දිනය. ඒ ෆින්ලන්තයේ හෙල්සින්කි නුවරදීය. ඔහු පුවත්පත් කලාවේදී Anna සහ Nils Torvalds ගේ පුතු විය. ඔහු හෙල්සින්කි විශ්ව විද්‍යාලයේ පරිඝනක විද්‍යාව පිලිබඳ පස්චාත් උපාදිය හැදෑරිය. එකල ඔහුගේ අධ්‍යාපන කටයුතු වලට බාධාවක් සිදුවිය. ඒ එකල ෆින්ලන්තයේ අනිවාර්ය වූ හමුදා සේවයේ යෙදීමට සිදුවූ නිසාය. එහිදී මාස 11ක නිලධාරී පුහුණුවකින් පසු ඔහු නැවතත් වර්ෂ 1990දී ඔහුගේ විශ්ව විද්‍යාල ගමන ආරම්භ කළේය.

Linus Torvalds

ලිනක්ස් ව්‍යාපෘතිය

වර්ෂ 1991දී Linus විසින් නව ව්‍යාපෘතියක් ආරම්භ කළේය. ඒ ඔහුගේ විශ්ව විද්‍යාලයේ විශාල UNIX සර්වර් පරිඝනක වෙත ප්‍රවේශ වීම සඳහායි. ඔහු මෙම වැඩසටහන GNU C කම්පයිලරය භාවිත කරමින් නිර්මාණය කිරීම ආරම්භ කළේය. එහිදී ඔහු පිළිතුරු අපේක්ෂාවෙන් ප්‍රශ්න කිහිපයක් ඉදිරිපත් කරන ලදී. පහතින් දැක්වෙන්නේ Linus විසින් වර්ෂ 1991දී comp.os.minix හි පළ කල පැණයකි.

From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: Gcc-1.40 and a posix-question
Message-ID: <1991Jul3.100050.9886@klaava.Helsinki.FI>
Date: 3 Jul 91 10:00:50 GMT
Hello netlanders,
Due to a project I'm working on (in minix), I'm interested in the posix
standard definition. Could somebody please point me to a (preferably)
machine-readable format of the latest posix rules? Ftp-sites would be
nice.

මෙම ව්‍යාපෘතිය අවසානයේ ඔහුට අවබෝධ වුණා ඔහු විසින් නව මෙහෙයුම් පද්ධති කර්නලයක් (Linux Kernel) නිර්මාණය කර ඇති බව. මෙහි ඇති තවත් විශේෂ කරුණක් වන්නේ වර්ෂ 1991 අගෝස්තු 25 වන දින ඔහු මෙම පද්ධතිය ප්‍රසිද්ධ කරන විට ඔහු වයස අවුරුදු 21 ක ශිෂ්‍යයෙක් වීමයි.

වර්තමානයේ භාවිත වෙන ලිනක්ස් කර්නලයේ වැඩි කොටසක් C Programming Language එකෙන් සහ Assembly Language එකෙන් නිර්මාණය වී තිබේ. එයින් Linus ලියූ කර්නලයේ කේත අන්තර්ගත වන්නේ 2% ක් වැනි සුළු ප්‍රමාණයක් වේ.

මෙම ලිපියෙන් ඔබට දැනුමක් ලැබුන නම් ඔබට මෙය ප්‍රයෝජනවත් කියල හිතෙනවා නම් අපිව දිරිමත් කිරීම සදහා comment එකක් දාලම යන්න, හොඳ හෝ නරක අදහස් සියලු දේ අපට වැදගත් අලුත් ලිපියකින් නැවත හමුවෙමු, සුබ දවසක් !!!

Saturday, June 22, 2013

1 - Command "ls"

Posted in ,




    ලිනක්ස් වල Graphical User Interface(GUI) එකක් හා Command Line Interface(CLI) එකක් ඇත.
CLI  එකේ වැඩ කරනවට වඩා GUI  එකේ වැඩ කිරීම user හට පහසු වේ.
නමුත් commands සමග වැඩ කිරීම විනෝදකාමී වන අතර GUI මගින් කරගන්නා  සියලු වැඩ CLI එක වන terminal  එකේ command type කිරීමෙන් කරගත හැක .

මෙම අංශයෙන් අප බලාපොරොත්තු වන්නේ unix හා linux commands ගැන කතා කිරීමටයි.
commands ගැන කථා කිරීමට පෙර ඔබ දැනගත යුතු මුලික symbols කිහිපයක් ඇත

ඒවා නම් :

/ - root directory

./ - current directory

./command_name - run a command in the current directory when the current directory is not on the path

../ - parent directory

~ - home directory

$ - typical prompt when logged in as ordinary user

# - typical prompt when logged in as root or superuser

අද අපගේ පළමු පාඩම ලෙස කථා  කිරිමට බලාපොරොත්තු වන්නේ ඉතාමත් සරල හා මුලික command එකක් වන "ls" command එක ගැනයි
මේ මගින් files හා directories ලැයිස්තු ගත කිරීම සිදුකෙරේ .

command syntax

ls [options] [file]


ls - directory එකක අඩංගු දැ ලැයිස්තු ගත කරයි.
ex :



ls ~  - home directory එකේ අඩංගු දැ ලැයිස්තු ගත කරයි
ex :



ls /   - root directory එකේ අඩංගු දැ ලැයිස්තු ගත කරයි
ex :





ls ../ - parent directory එකේ අඩංගු දැ ලැයිස්තු ගත කරයි

ls */ - සියලු sub directories වල අඩංගු දැ ලැයිස්තු ගත කරයි

ls -d */ - current directory එකේ අඩංගු directories පමණක් ලැයිස්තු ගත කරයි

ls -ltr - අන්තිමට වෙනස් කල වෙලාව අනුව සියලු files ලැයිස්තු ගත කරයි.අන්තිමට ලැයිස්තු ගත වී ඇත්තේ අලුතින්ම වෙනස් කල files වේ


ls විධානය සමහ options රැසක් භාවිත කල හැක .

ls [-a][-A][-b][-c][-C][-d][-f][-F][-g][-i][-l][-L][-m][-o][-p][-q][-r][-R][-s][-t][-u][-x][pathnames]

-a - සැඟවූ files ඇතුළුව සියලුම files පෙන්නුම් කරයි(සැඟවූ files dot එකකින් ආරම්භ වේ )

-A - working directory(.) එක හෝ parent directory(..) එක හැර සැඟවූ files ඇතුළුව සියලුම files පෙන්නුම් කරයි.

-b - මුද්‍රණය කිරීමට නොහැකි characters කෙසේ හෝ  octal /ddd  අන්කනයෙන් මුද්‍රණය කරවයි

-c - sort  කිරීම(-t) හෝ print කිරීම(-l or n)  සදහා i-node(file created,mode changed,and so forth) හි අවසානයට වෙනස් කල වෙලාව භාවිත කරයි

-C - තීරු ගොඩකට output එක sort කර ලබා දෙයි

-d - argument එක directory එකක් නම් එහි නම පමණක් ලැයිස්තු ගත කරයි

-f - directory  එකේ ලැයිස්තු ගත වී ඇති order එකටම සියලු files ලැයිස්තු ගත කරයි.-l,-t,-s හා -r disable කරන අතර -a enable කරයි

-F - directories slash(/) එකකින් ද ,doors greater-than sign(>) එකෙන් ද , executable files asterisk(*) එකෙන් ද, FIFOs vertical bar(|) එකෙන් ද,symbolic links at-sign(@) එකෙන් ද AF_Unix address family sockets equals sign(=) එකෙන් ද mark කරයි.

-g - -l option එක වගේමයි නමුත් owner print නොවේ

-i - සැම file එකකම i-node number(serial number or index number of a file) එක පළමු තීරුවේ print කරයි

-l - විශාල තොරතුරු ප්‍රමාණයක් පෙන්වයි (permission,owners,size,last modified date and directory/file)

-m - commas මගින් වෙන්කර files ලැයිස්තු ගත කරයි

-n - -l option එක වගේමයි ,වෙනස් වන්නේ owner ගේ UID හා group GID එකේ හි number එක print කරයි

-o - -l option එක වගේමයි ,නමුත් group එක print නොවේ

-p - directories ඉදිරියෙන් slash(/) පෙන්නුම් කරයි

-q - files වල නම් සදහා ඇති non-printable characters ඉදිරියෙන් question mark(?) පෙන්නුම් කරයි

-r - files reverse order එකට පෙන්නුම් කරයි

-R - sub directories වල අඩංගු දැ පෙන්නුම් කරයි

-t - වෙනස් කල වෙලාව අනුව files පෙන්වයි

-u - sort කිරීම(-t) හෝ print කිරීම(-l) සදහා අන්තිමට access කල වෙලාව භාවිත කරයි.

-x - files තීරු වලට වෙනකොට පෙන්නුම් කරයි

-1 - එක් entry එකක් පමණක් එක line එකකට පෙන්නුම් කරයි

pathnames - ලැයිස්තු ගත කිරීමට අවශ්‍ය file එක හෝ directory එක

ls command එක සමග මෙම ඕනෑම option එකක් හා file or directory name එකක් ලබා දී output එක බලන්න.

ex :



-a - සැඟවූ files ඇතුළුව සියලුම files පෙන්නුම් කරයි(සැඟවූ files dot එකකින් ආරම්භ වේ )

ex :







ex :
පහත output එක මගින්
permission | directories | owners | group | size | last modified date | directory/file  පෙන්වයි .








Permissions - The permissions of the directory or file.

Directories - The amount of links or directories within the directory. The default amount of directories is going to always be 2 because of the . and .. directories.
The amount of links means the amount of hard links to that particular file.
The amount of directories means the amount of sub directories within that directory.

Owner - Owner of the file or directory

Group - The group assigned to the file or directory

Size - Size of the file or directory.

Date - Date of last modification.

Directory/file - The name of the file or file.

මෙම පාඩමෙන් ඔබට දැනුමක් ලැබුන නම් ඔබට මෙය ප්‍රයෝජනවත් කියල හිතෙනවා නම් අපිව දිරිමත් කිරීම සදහා comment එකක් දාලම යන්න, හොඳ හෝ නරක අදහස් සියලු දේ අපට වැදගත් අලුත් පාඩමකින් නැවත හමුවෙමු ,සුබ දවසක්!!!