Sunday, March 28, 2010

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


ඉතින් ලිනක්ස් ගැන ලිපි පෙලේ තව ලිපියක් ලියන්නයි මේ සූදානම. මුලින් මේ ලිපි පෙල ගැන ගොඩක් අය උනන්දුවෙන් හිටියත් අන්තිම ලිපි දෙකට වැඩි ප්‍රතිචාරයක් නෑ. ඒ නිසා මටත් කම්මැලි හිතිලයි තිබුනේ ආයෙ ලියන්න. මේ දවස් වල කැම්පස් එකේ වැඩත් වැඩි නිසා ඊළඟ ලිපිය ලියන එක දවසින් දවස කල් යමිනුයි තිබුනේ. වැඩිපුර දවසක නිවාඩුවකුත් එක්ක ගෙදර ආවහම හිතුවා මේක ලියල දානව කියල.

හරි Shell කිව්වහම මොකද්ද මුලින්ම මතක් වෙන්නේ Shell scripting, Shell commands එහෙම නේද? මොකද්ද මේ shell එක කියන්නේ. මේ රූප සටහන බලන්නකෝ.
Kernel එක කියන්නේ Linux වල තියන වැදගත්ම දේ. ඇත්තටම මෙහෙයුම් පද්ධතිය කියන්නෙ මේ kernel එකට. අනෙක් මෘදුකාංග ක්‍රියා කරන්නේ මේ kernel එක හරහා දෘඩාංග සහය ලබා ගනිමින්. මේ kernel එකට විචිත්‍රක අතුරු මුහුණත (GUI) වගේම සාමාන්‍ය ලිනක්ස් මෙහෙයුම් පද්ධතියක් එක්ක ලැබෙන මෘදුකාංග අයිති වෙන්නේ නෑ. ඒව ලැබෙන්නෙ GNU(GNU is Not Unix) කියන ව්‍යාපෘතියෙන්. මේ දෙක ඒ කියන්නේ Linux kernel එක සහ GNU මෘදුකාංග එකතු වෙලයි GNU/Linux මෙහෙයුම් පද්ධතියක් නිර්මාණය වෙන්නෙ. ඒ අතුරු කතාවක්. ඉතින් පරිගනකයේ දෘඩාග හසුරුවන්නේ මේ kernel එකනේ. kernel එක එක්ක ගනුදෙනු කරන කෙනා තමයි shell කියන්නේ. ඉතින් අපිට මෙහෙයුම් පද්ධතියෙන් යම් දෙයක් කරගන්න ඕන නම් මේ shell ට කියල තමයි කරගන්න වෙන්නේ. මෙයාට කියනව Command line interpreter කෙනෙක් කියලත්. Interpreter කියන්නේ පරිවර්තකයා නැත්තම් තෝල්කයා කියන එකනේ. පරිගනකය දන්නෙ machine language එක ඒ කියන්නේ 010010101110 වගේ දෙකේ පාදයෙන් නැත්නම් binary වලින් කියන දේවල් විතරයි. අපිට ඒව තේරෙන්නෙ නෑනෙ අපි තෝරගත්තු විධාන වලින් කෙරෙන්න ඕන දේ shell එකට කිව්වහම එයා ඒක kernel එක හරහා පරිගනකයට කියල අදාල වැඩේ කරල දෙනවා.
shell කීපයක් ලිනක්ස් මත භාවිතා වෙනවා. Bourne shell කියන්නේ දැනට Linux මත බහුලවම භාවිතර වෙන shell එකෙ මේක. අනික් ඒවට වඩා හොඳ shell එකක් විදිහට bourne shell නැත්තම් bash shell එක හඳුන්වනවා. තව C shell, sh shell වගේ shell කීපයක්ම තියනවා. prompt එකේ echo $SHELL කියල දුන්නම දැනට run වෙන shell එක මොකද්ද කියල දැන ගන්න පුළුවන්. මේ shell එක බොහොම powerful දෙයක්.(windows command prompt එක වගේ කසි කබලක් නෙමේ) ගොඩක් ක්‍රමලෙඛකයන් තාමත් GUI එක භාවිතා නොකර shell එකේ තමයි තමන්ගේ කටයුතු කරන්නෙ. GUI එකේ කරන සමහර දේවල් ඊට ගොඩක් ඉක්මනට shell එකේ කරගන්න පුළුවන්. ඒ වගේම GUI එකේ කරන්න බැරි shell එකේ පමණක් කරන්න පුළුවන් ගොඩක් දේවල් තියනවා. මේ නිසා Linux ඉගන ගන්න නම් shell එක ගැන දැන ගැනීම ඉතාම වැදගත්.

ඉතින් අපි කොහොමද මේ shell එක බලා ගන්නෙ. GUI එකක් නැතුව අපි මෙහෙයුම් පද්ධතිය ස්ථාපනය කරගත්තොත් අපි කෙලින්ම යන්නෙ මේ shell එකට තමයි. අපි සාමාන්‍ය GUI එකක් සහිත Linux ස්ථාපිතයක ඉන්නව නම් alt+ctrl+F2(F2 ඉඳල F6 වෙනකම් ඕන function key එකක් පාවිච්චි කරන්න) යතුරු එකවර එබුවහම අපිට GUI එකෙන් ඉවත් කරල shell එකට අරගෙන යනවා. මළ කෙළියයි දැන් ආපහු GUI එකට එන්නෙ කොහොමද? බය වෙන්න එපා atl+ctrl+F7 වලින් ආයෙ GUI එකට එන්න පුළුවන්. ඒත් නැතුව GUI එකේම ඉඳගෙන shell එක එක්ක වැඩ කරන්න බැරිද? පුළුවන් ඒකට තමයි terminal කියන මෘදුකාංගය තියෙන්නේ.

Terminal

Ubuntu වල නම් Application-->Accessories-->Terminal කියන තැන මේක තියනවා. එහෙම නැත්නම් alt+F2 ඔබලා එන Run Application එකේ gnome-termianl කියල දුන්නහමත් මේක ගන්න පුළුවන්. GUI එකක් මතදි අපිට මේ terminal එක පාවිච්චි කරල shell commands execute කරන්න පුළුවන්.

Shell commands

shell එකෙන් අපි කියන දේ කරලා දෙනව කිව්වට ඉතින් ඒකත් කියන විදිහක් තියනවා. ඒ කියන්නේ නියමිත විධාන තියනවා. ඒවගෙන් තමයි අපි අපිට අවශ්‍ය දේ කියන්න ඕන. ඊළඟ සටහනේ ඉඳල shell commands ගැන කතා කරමු.

ඉතින් මේ සටහන හමාර කරන්නයි යන්නේ. ගැටළුවක් අදහසක් තියනව නම් අහන්න අමතක කරන්න එපා. අඩුපාඩුවක් දැක්කනම් ඒක පෙන්නල දෙන එකත් අගය කරනවා. ඒ නැති උනත් ප්‍රතිචාරයක් සටහන් කරලා යනවනම් ඒක මට ධෛර්යක්.