Sunday, August 8, 2010

ලිනක්ස් සිංහලෙන් මුල සිට සරලව - Shell commands


Sunday, March 28, 2010 දිනේදි මම ලියපු "මොකද්ද මේ shell" කියන ලිපියෙන් පස්සෙ ආයෙ ඔන්න ගොඩක් කාලෙකින් "ලිනක්ස් සිංහලෙන් මුල සිට සරලව" ලිපි පෙළට තව ලිපියක් එකතු කරන්නයි යන්නෙ.ඒව මේව අස්සෙ තුන වසරටත් ආව නොවැ. අළුත් නංගිල මල්ලිල කට්ටියකුත් ආව කැම්පස් එකට. ඒ අතර අපේ කාලෙත් ඉවර වේගනයි යන්නෙ. කාලයක් ලිපි පෙළ නොලියා හිටියාම කට්ටිය හිතුවද දන්නෙ නෑ ලියන එක නැවැත්තුව කියල. එහෙම වෙන්නෙ නෑ. මතකනෙ. Ubuntu අයිසිං කිරීමත් ලියල ඉවර කලා. biggrin එහෙනම් ලිපිය පටන් ගමු. මේකෙදි මම ගොඩක් සරල මට්ටමේ ඉඳල කියන්නයි බලාපොරොත්තු වෙන්නෙ.

අපිට සාමාන්‍යයෙන් Linux prompt එක දකින්න පුළුවන් වෙන්නෙ මෙහෙමනෙ. මේ මගේ machine එකේ prompt එක පෙන්නන හැටි.




$ - මේ ඩොලර් ලකුණ සාමාන්‍ය පරිශීලකයෙක් විදිහට ඉන්නකොටයි පෙන්නන්නෙ
# - ඔබ සුපිරි පරිශීලකයෙක්(super user) විදිහට ලොග් වෙලා නම් හෑෂ් ලකුණ දකින්න පුළුවන්.
මේ ඔබ දකින prompt එකේ කොටස් වෙන්නෙ මේව.

ඉස්සරහින්ම තියෙන්නෙ ඔබේ පරිශීලක නම. @ලකුණෙන් පස්සෙ ඔබේ පරිගනකයේ නම. ආයිත් : එකක් දාල ඊළඟට පෙන්නන්නෙ ඔබ වර්තමානයේ ඉන්න ගොනුව මෙතන ~ ලකුණෙන්(මේකට කියන්නෙ trilda කියල) නිරූපනය කරන්නෙ ඔබේ home directory එක. ඒ කියන්නෙ මම ඉන්නෙ /home/ravinda කියන තැන.


ඊළඟට බලමු විධානයන් ගැන. සාමාන්‍ය Linux command එකක ව්‍යූහය වෙන්නෙ මේහෙමයි.

විධානය -විකල්ප පරාමිතිය

මේක මෙහෙම කොහෙවත් කියල නෑ. සරලව පැහැදිලි වෙන්න මම හිතල තමයි ලිව්වෙ. ඒ නිසා නොගැලපෙන අවස්ථා තියනවනම් කලබල වෙන්න එපා. විධානය කියන්නෙ ප්‍රධාන විධානය. විකල්ප වලින් පුළුවන් අපිට ප්‍රධාන විධානය ටිකක් වෙනස් කරල ක්‍රියාකරව ගන්න. සමහරක් විට විධාන වලට පරාමිතියක්(parameter) දෙන්න අවශ්‍ය වෙනවා. ඒක තමයි අන්තිමට යෙදෙන්නෙ. එහෙනම් අපි විධාන එකින් එක බලමු. සරලම තැන ඉඳල බලමු. මොකද මුල සිට සරලවනේ. smile

pwd(print working directory)

මේ command එකෙන් පටන් ගත්තොත් හොඳයි කියල හිතුනා. prompt එකේ මේ command එක execute කලාම. ඒ වෙලාවෙ අපේ working directory එක මොකද්ද කියන එක full path එක print කරල පෙන්නනවා. අපිට සාමාන්‍ය prompt එකෙනුත් ඉන්න තැන මොකද්ද කියල පෙන්නනව තමයි. ඒත් මේ command එකෙන් root එකේ ඉඳලම full path එක ලැබෙන එක වාසියක්.





cd (change directory)

කාටත් Linux file hierarchy එක මතක ඇති කියල හිතකනවා. terminal එක ගත්තාම ඒකදි මේ file hierarchy එකේ එහෙ මෙහෙ යන එක දැනගෙන ඉන්න ඕන. ඒ කියන්නෙ nautilus එකේදි අපි shortcut එකක් පාවිච්චි කරල හරි folder එකෙන් folder එකට ගිහින් හරි අපිට ඕන තැනට යනවනේ. අන්න ඒක terminal එකේදි කරගන්න හැටි. මේකට මූලිකවම පාවිච්චි කරන්නෙ cd කියන command එක. cd කියල දීල එක්ට පරාමාතියක් විදිහට අපිට යන්න ඕන තැන path එක දුන්න නම් හරි. මෙතනදි අපි file structure එකේ දැන ඉන්න තැනට සාපේක්ෂව path එක දුන්න නම් ඇති. root එකේ ඉඳලම දුන්න කියල අවුලක් නෑ. නමුත් අවශ්‍යම නෑ.

home එකේ ඉඳලා /media/Multimedia කියන තැනට වෙනස් වෙන හැටි.


මෙතන මුළු path එකම දෙන්නෙ නැතුව මගේ home එකේ ඉඳල ඉතිරි path දුන්නහමත් ප්‍රමාණවත්.


cd .. --> දැනට ඉන්න තැන ඉඳල එක ගොනුවක් ඉහලට යන්න මේ විධානය පාවිච්චි කරන්න පුළුවන්.

eg:
ravinda@ravinda-desktop:~/Documents/abc$cd ..
ravinda@ravinda-desktop:~/Documents$

cd - --> ක්ෂණිකව පියවරක් ආපස්සට යන්න මේ විධානයෙන් පුළුවන්

eg:
ravinda@ravinda-desktop:~$cd /usr/lib
ravinda@ravinda-desktop:/usr/lib$cd -
ravinda@ravinda-desktop:~$

තව අමතර කරුණු කීපයක් කියන්නම්. කිසිම path එකක් නොදී අපි cd කියල විතරක් enter කලොත් අපිව අරගෙන යන්නෙ අපේ home එකට. ඒ කියන්නෙ cd ~ කියල දෙන එන අවශ්‍ය නෑ cd විතරක් දෙන්න. තව දෙයක් තමයි path එකක් දෙනකොට අපි type කරගෙන යනවනම් යම් folder එකක(වෙන විධානයකදි නම් file එකක පවා) නමෙන් කොටසක් type කරල tab එක press කලාම ඒ අපි type කරපු කොටස ඇතුලත් නම් එක නම් තියෙන්නෙ ඉතිරි කොටස පුරවල දෙනවා. හැබැයි ඒ කොටස ඇතුලත්(අපි Do කියල type කරානම් home එකේදි Document , Download කියල folder දෙකක් තියනවා) අයිතම දෙකක් හරි වැඩිය හරි තියනවනම් එහෙම පුරවන්නෙ නෑ. අපි ආයෙ tab එක press කලොත් ඒ කියන්නෙ දෙපාරක් tab එක press කලාම ඒ අදාල කොටස ඇතුලත් අයිතම ඔක්කොම අපිට පෙන්නනවා.

ls (list directory contents)

අපිට මේ විධානය පාවිච්චි කරල යම් folder එකක තියන දේවල් බලාගන්න පුළුවන්. මේ විධානය යෙදීමෙදි list කරගන්න ඕන directory එකේ path එක පරාමිතිය විදිහට දෙන්න ඕන.

මෙතනදි මම path එකක් දිල නැති නිසා default ඒ වෙලාවෙ working directory එක තමයි list කරල තියෙන්නෙ. මේ content එක පෙන්නනද්දි පාට කීපයක් පාවිච්චි කරනවා. මෙතන නිල් පාටින් පෙනනන්නෙ folders. executables තව පාටකිනුත් , archives වෙනත් පාටකිනුත් වගේ විවිධ පාටවලින් මෙතනදි පෙනනන්නෙ.

ls -l --> මේ l කියන option එක පාවිච්චි කලාම ලැබෙන්නෙ long listing format එක.
මෙතන අපිට අන්තර්ගතය විස්තර සහිතව පෙනන්නවා. මෙතන එක එක columns වලින් කියවෙන්නෙ මෙන්න මේ දේවල්.

1- file permissions , Linux වල file permissions ගැන මම කලින් සඳහන් කලා මතක ඇති. ඒ ගැන වැඩිදුර පස්සෙ කතා කරමු. දැනට මේ පළවෙනි තිරුවෙ පෙන්නන්නේ ඒ ඒ අයිතමයට තියන permissions. ඒකෙ මුලින්ම d අකුරත් තියනවනම් ඒ අයිතමය directory එකක්(folder එකක්) - තියනව කියන්නේ ඒක directory නොවන ඒව. l අකුර තියනවනම් ඒක link එකක් නැත්තම් shortcut එකක් කියලත් කියන්න පුළුවන්.

2- number of links , අදාල අයිතමයට තියන links ගාන තමයි දෙවනි තීරුවෙන් පෙන්නන්නෙ.

3- ගොනුවේ හරි file එකේ හරි owner කව්ද කියල තමයි මේ තීරුවෙන් පෙන්නන්නේ.

4- ඒ ගොනුව අයිති group එකේ නම.

5- file එකේ size එක තමයි මෙතන පෙන්නන්නෙ.

6- අන්තිමට file එක modify කරපු දිනය සහ වේලාව මෙතන දක්වනවා.

7- මේ ගොනුවේ නම.

ls -a --> a කියන option එක යෙදුවාම අපිට hidden files නුත් අඩංගු කරල ප්‍රතිඵල පෙන්නනවා. ලිනක්ස් වල hidden file කියන්නෙ මුලට . එකක් තියන ඒව. ඒව සාමාන්‍ය විදිහට පෙන්නන්නෙ නෑ. බලාගන්න ඕන නම් nautilus එකේ ctrl+h press කරන්න. එතකොට hidden file තියනවනම් පෙන්නාවි.

මෙතන මම යෙදුවෙ ls -al කියල. එතකොට hidden files නුත් ඇතුලත්ව long list format එකට ප්‍රථිපලය ලැබනවා. තව දෙයක් මෙතන මුලින්ම තියන . සහ .. කියන දෙක මොනවද දන්නවද? මෙතන . කියල පෙන්නන්නෙ current directory එක(/home) .. කියන්නෙ ඒකෙ parent directory එක(root).

mkdir (make directory)

මේ විධානය පාවිච්චි කරන්නෙ folder එකක්(directory) හදන්න. මෙතනදි අපි පරාමිතිය විදිහට දෙන්න ඕන අපිට folder එක හදන්න ඕන නම අදාල path එකත් එක්ක.

ravinda@ravinda-desktop:~$mkdir ucsc --> මගේ home එකේ මම ucsc කියල folder එකක් හැදුවා.

ravinda@ravinda-desktop:~$mkdir /Desktop/ucsc --> Desktop එකේ ucsc කියල folder එකක් හැදුවා.

එහෙනම් මේ ලිපියට ඇති වගේ නේද? මුකුත්ම නොදන්න අයට වගේ මේ ටික සෑහෙන්න වැදගත් වෙයි කියල හිතනවා. එහෙනම් තව commands එක්ක හම්බෙමු. ලිපිය ගැන අදහසක් විවේචනයක් ලියල යන්නත් අමතක කරන්න එපා.