Skip to main content

Dark clouds and silver linings

Today I heard about a grand wedding of an Indian tycoon (Ambani's son) from a friend of mine, and he showed me some videos of it too. He said famous and powerful people from around the world have been invited to it, and the cost of the event was going to be several Billions (of Indian Rupees or USD, I don't know). If you think about it, India is a country with a higher population of substandard living conditions. There are innocent and miserable children who are forced to work for a mere subsistence, being deprived of education, health facilities, and food and water. I remember a movie based on a true story in which Akshey Kumar was playing the leading role where he makes sanitary towels (pads) for poor women who could not afford it. In such a country, a single wedding event spends billions of money. What a crappy world we are living! You could imagine how much wealth this family has amassed. On the other, this "mental disease" of exorbitant spending must be highly we

ලිනක්ස් ඉගෙන ගමු (Linux) - 12

ටර්මිනල් (Terminal)

ලිනකස්හි මෙතෙක් ඔබ හා සාකච්ඡා කළේ පහසුවෙනුත් ඉක්මනිනුත් වැඩකටයුතු කරගන්නේ කෙසේද කියාය. එහිදී රූපමය ඉන්ටර්ෆේස් (graphical user interface – GUI) සහිතවයි ඒවා සිදු කර ගත්තේ. එනම් අයිකන්, බට්න්, මෙනු, බොක්ස්, වින්ඩෝ වැනි රූප මත මවුසයෙන් ක්ලික් කර, රයිට් ක්ලික් කර, ඩබ්ල් ක්ලික් කර තමයි ඒ සියල්ල බොහෝ විට සිදු කරේ. ඕනෑම පොඩි එකෙකුට පවා මෙවැනි ග්‍රැෆිකල් ඉන්ටර්ෆේස් එකක් ආධාරයෙන් වැඩ කිරීම පහසුය. කරන්න ඕන දේ ටික වේලාවක් තිරය මත බලා සිටීමෙන්, එහි පෙනෙන්නට තිබෙන දේවල් කියවීමෙන් ඉබේම තේරුම් ගන්න පුලුවන්. එහෙමත් නොතේරෙන කෙනෙකුට විනාඩි කිහිපයක උපදෙස් ටිකක් ලබා දීමෙන් ඔහුට වටහා දෙන්න පුලුවන් පරිගණකය හැසිරවිය යුත්තේ කෙසේද කියා එවැනි ග්‍රැෆිකල් ඉන්ටර්ෆේස් එකකින්.
එහෙත්, මුල් කාලයේ පරිගණක මෙහෙයුම් පද්ධති සේම බොහෝ ප්‍රෝග්‍රැම්ද එවැනි අලංකාරවත් පහසු රූපමය ආකාරයට නෙමේ පැවතුණේ. බොහෝ විට දක්නට ලැබුණේ පහත රූපයේ ආකාරයේ ඉන්ටර්ෆේස් එකකි. ඔබට පේනවා නේද මෙහි අයිකන්, බට්න්, වින්ඩෝ ආදී රූපමය කොටස් නොමැති බව. මෙහිදී ඔබ පරිගණකයෙන් සිදු කරගන්නා සියල්ල කර ගත්තේ විවිධාකාරයේ කමාන්ඩ්ස් කීබෝඩ් එකෙන් මෙහි ලිවීමෙනි. ඔබට පේනවා මෙහි tekcroach@tekcroachPC ~ $ යනුවෙන් තිබෙනවා. මෙය command prompt එක හෝ නිකංම prompt එක කියා හැඳින්වෙනවා. @ සලකුණට පෙර ඇති කොටසින් කියන්නේ දැනට ලොග් වී ඇති යූසර්නේම් එක වන අතර, පසුපසින් ඇති කොටසින් කියන්නේ මෙම පරිගණකයේ නම හෙවත් හෝස්ට්නේම් (hostname) එකයි. මෙම යූසර් සාමාන්‍ය ඩෙස්ක්ටොප් යූසර් කෙනෙක් නිසා එය $ යන සලකුණෙන් දැක්වෙනවා. මෙම යූසර් රූට්/ඇඩ්මිනිස්ට්‍රේටර් කෙනෙකු නම් ඒ වෙනුවට # යන සංඛේතය එහි පෙන්වාවි. ඔබ ලියන දේවල් ලියවෙන්නේ ප්‍රොම්ප්ට් එකේය. පහත රූපයේ මා pwd යනුවෙන් ලියා ඇත. මෙය කමාන්ඩ් (command) එකකි. කමාන්ඩ් එකක් යනු පරිගණකයෙන් යම්කිසි ප්‍රතිඵලයක් ලබාගැනීමට හෙවත් පරිගණකයෙන් යම් කාර්යක් කර ගැනීමට ලියනු ලබන යම්කිසි අකුරු කිහිපයකි. එය ලියා කීබෝඩ් එකේ එන්ටර් කී එක එබූ විට (“එන්ටර් කළ විට"), ඊළඟ පේලියේ දැක්වෙන ලෙස home/tekcroach යන්න පෙන්වා තවත් කමාන්ඩ්ස් එන්ටර් කිරීමට නැවත ප්‍රොම්ප්ට් එකක් පෙන්වයි. මෙහිදී pwd යනු කමාන්ඩ් එකකි. ඉන් යම් නිශ්චිත රාජකාරියක් සිදු කරයි. එම රාජකාරියේ ප්‍රතිඵලය තමයි පහළින් දක්වන්නේ. ඉන්පසු ඔබට තව තවත් රාජකාරි සිදු කිරීමට එලෙසම කමාන්ඩ් ඇතුලු කිරීමට සිදු වෙනවා. උදාහරණයක් ලෙස, ඔබට දිනය හා වේලාව දැනගැනීමට අවශ්‍ය නම්, date යන කමාන්ඩ් එක යොදන්න. විවිධ රාජකාරිවලට විවිධ කමාන්ඩ් ඇත. ඇත්තටම කමාන්ඩ් සිය ගණනක් ඇත. ඒ කියන්නේ ඔබට මේ ආකාරයට පරිගණකය හා වැඩ කිරීමට නම්, කමාන්ඩ් කටපාඩම් කිරීමට සිදු වෙනවා. ග්‍රැෆිකල් ඉන්ටර්ෆේස් එකක මෙන් තිරය දෙස බලා සිටීමෙන්ම කුමක් කළ යුතුදැයි නොතේරේ. මෙවැනි ඉන්ටර්ෆේස් එකක් හඳුන්වන්නේ Command Line Interface (CLI) කියාය. ඔබට දැන් තේරෙනවා ඇති සීඑල්අයි ක්‍රමයට වැඩකිරීම කොතරම් අපහසුද කියා. එහෙත් පරිගණක විශිෂ්ඨයන්ට මෙය අපහසු දෙයක් නොවේ. ඔවුන්ට කමාන්ඩ් කටපාඩම්ය. තමන්ට අවශ්‍ය දේවල් ඉක්මන් කිරීමට ඔවුන්ට හැකියි. තවද, ස්වභාවයෙන්ම මෙවැනි ප්‍රෝග්‍රැම් වේගවත්ය. කාර්යක්ෂමය. එවැනි ප්‍රයෝජන නිසා, අදටත් සමහර (විශේෂිත) අවස්ථාවල සීඑල්අයි විධියට ලිනක්ස්හි වැඩකරන අය සිටිනවා. එහෙත් එදිනෙදා ජීවිතයේ වැඩකටයුතු සඳහා එය අත්‍යවශ්‍ය නැත
ලිනකස්හි ග්‍රැෆිකල් ඉන්ටර්ෆේස් එක ඇත්ත වශයෙන්ම පදනම්ව ඇත්තේ මෙම සීඑල්අයි ඉන්ටර්ෆේස් එක මතය. එනම්, ඔබ ක්ලික් කරන විට, රයිට් ක්ලික් කරන විට, ඩබ්ල් ක්ලික් කරන විට ආදී සෑම අවස්ථාවකම ඇත්තටම ඔබට නොපෙනෙන්නට සිදු වන්නේ පසුබිමෙන් සීඑල්අයි එකේ ඒ ඒ කමාන්ඩ් රන් කිරීමය. එම කමාන්ඩ්වල ප්‍රතිඵලයද පසුබිමින්ම උකහා ගෙන වින්ඩෝ එකක පෙන්වනවා. මෙලෙස ඔබට ග්‍රැෆිකල් ඉන්ටර්ෆේස් එකක් පෙන්වා පසුබිමින් සීඑල්අයි එකේ කමාන්ඩ් රන් කිරීම යන අතරමැදි සේවාව සිදු කරන්නේද තවත් එක විශේෂිත ප්‍රෝග්‍රැම් එකක්ය. X Window System ලෙසයි එය හැඳින්වෙන්නේ. එයම කෙටියෙන් X හෝ X11 ලෙසත් හැඳින්වෙනවා. සමහරවිට කිසියම් ගැටලුවක් නිසා මෙම X ප්‍රෝග්‍රැම් එක ක්‍රියාවිරහිත වනවිට, ඔබ සුපුරුදු ලෙස දකින ලස්සන ග්‍රැෆිකල් පෙනුම වෙනුවට ඉහත රූපයේ ආකාරයේ සීඑල්අයි විධියට පෙනෙන අවස්ථාද තිබෙනවා.
ඔබට සීඑල්අයි ඉන්ටර්ෆේස් එකක් අවශ්‍ය වූ විට, X ප්‍රෝග්‍රැම් එක නතර කිරීමට අවශ්‍යම නැහැ. ග්‍රැෆිකල් ඉන්ටර්ෆේස් එක තුළම එය ලබා ගත හැකියි වින්ඩෝ එකක් වශයෙන්. ඊට කියන්නේ ටර්මිනල් එක කියාය. මෙනු එකේ Terminal යන්න තේරීමෙන් එය ලබාගත හැකියි. (මෙය හරියට වින්ඩෝස්වල තිබූ ඩොස් ප්‍රොම්ප්ට් එක හෙවත් කමාන්ඩ් ප්‍රොම්ප්ට් එකට සමානයි නේද?) බොහෝවිට, සාමාන්‍ය අයට ඇත්තටම එලෙස ටර්මිනල් එකක් සමග වැඩ කිරීමට අවශ්‍යතාවක් ඇති නොවනු ඇත මක්නිසාද සියලු වැඩ ග්‍රැෆිකල් ආකාරයට සිදු කර ගත හැකි නිසා. උදාහරණයක් ලෙස, ඔබ වින්ඩෝස් මෙහෙයුම් පද්ධතිය සමග වැඩ කර ඇත්නම්, කිසිදා කමාන්ඩ් ප්‍රොම්ප්ට් එකෙන් වැඩ කර නැහැ නේද? ලිනකස්හිත් තත්වය එසේමයි.
සාමාන්‍යයෙන් සීඑල්අයි ඉන්ටර්ෆේස් එකක වැඩකරන විට, ඔබ පරිගණකයේ තිබෙන කුමන හෝ ෆෝල්ඩර් එකක රැඳී සිටිය යුතුයි. සාමාන්‍යයෙන් ටර්මිනල් එක ඕපන් කරන විට එම ෆෝල්ඩර් එක වන්නේ ඔබේ හෝම් ෆෝල්ඩර් එකයි. ෂුවර් නැතිනම්, pwd යන කමාන්ඩ් එක රන් කර බලන්න. එම කමාන්ඩ් එකෙන් පෙන්වන්නේ ඔබ දැන් සිටින ෆෝල්ඩර් එකයි. (ඉහත රූපයේ /home/tekcroach ලෙස එය පෙන්නුම් කළා මතකද?) ග්‍රැෆිකල් ඉන්ටර්ෆේස් එකකදී තමන් සිටින ෆෝල්ඩර් එක වින්ඩෝ එකේ ඉබේම දිස් වේ. ඒ විතරක් නොවේ, එම ෆෝල්ඩර් එක තුළ තිබෙන ෆයිල්ද පෙන්වයි. එහෙත් සීඑල්අයි එකේදී රූපමය ආධාරක නොමැත. ඒවා ඉබේ පෙන්වන්නේ නැත. සෑම දෙයක්ම කමාන්ඩ් එකක් රන් කර බැලිය යුතුය. තමන් දැන් සිටින ෆෝල්ඩර් එකේ ඇතුලේ තිබෙන්නේ මොනාද කියා බැලීමට ls (එල් එස්) රන් කරන්න. තමන් සිටින ෆෝල්ඩර් එක තුල අලුතින් ෆෝල්ඩර් එකක් සෑදීමට mkdir ටයිප් කර හිස් තැනක් (space) යොදා සුදුසු නමක් ලියා එන්ටර් කරන්න (උදාහරණයක් ලෙස mkdir abc). කමාන්ඩ් එකකට පසුව සමහරවිට නමක් හෝ එවැනි දෙයක් ලිවීමට සිදු විය හැකියි. එවැනි කොටස් argument යනුවෙන් හැඳින්වේ. උදාහරණයක් ලෙස, ඉහත mkdir යන කමාන්ඩ් එකට පසුව ඇති abc කියන ෆෝල්ඩර් නේම එක mkdir කියන කමාන්ඩ් එකේ ආගියුමන්ට් එක වේ. දැනට තිබෙන ෆෝල්ඩර් එකක් ඩිලීට් කිරීමට rm -d folder_name (මෙහි folder_name යන ස්ථානයේ මැකිය යුතු ෆෝල්ඩර් එකේ නම ලියන්න) යොදන්න. මෙහි කමාන්ඩ් එක rm වේ. folder_name යන කොටස ආගියුමන්ට් එක වේ. -d යන කොටස option හෝ switch ලෙස හැඳින්වේ. සාමාන්‍යයෙන් තනි අකුරේ ස්විචයක් ඇති විට, එය - සලකුණ සමගද (ඒ දෙක අතර හිඩැසක් නැත), අකුරු එකකට වැඩිය ඇති ස්විචයක් සඳහා -- ලෙසද එය යෙදිය යුතුයි (උදා: --help). සෑම කමාන්ඩ් එකක් සමගම විවිධාකාරයේ ස්විච ඇත. කමාන්ඩ් එකේ යම් යම් වෙනස්කම් සිදු කිරීම ස්විච මගින් සිදු කෙරේ. උදාහරණයක් ලෙස ඉහත උදාහරණයේ rm යනු ඕනෑම ෆයිල් එකක් මකන කමාන්ඩ් එකයි. එයම ෆෝල්ඩර් එකක් මකන්නටත් යොදාගන්නවා -d යන ස්විචය යෙදීමෙන් (මෙමඟින් අලුතින්ම කමාන්ඩ් එකක් සෑදීම වැලකී යනවා). මේ විධියට සැලකීමේදී කමාන්ඩ් මෙන්ම ස්විචද පාඩම් කරන්නට සිදු වන බව පේනවා නේද සීඑල්අයි ක්‍රමයට වැඩ කරන්නට අවශ්‍ය නම්? ඔබ සිටින ෆෝල්ඩර් එකේ සිට වෙනත් ෆෝල්ඩර් එකකට යෑමට අවශ්‍ය නම් cd folder_name_or_path යන කමාන්ඩ් එක යොදන්න. උදාහරණයක් ලෙස, ඔබ සිටින ෆෝල්ඩර් එක තුල දැනටමත් abc කියා සබ්ෆෝල්ඩර් එකක් ඇත් නම්, ඒ තුළට යෑමට cd abc කියා යොදන්න. ඔබ කොතැනක සිටියත් රූට් ෆෝල්ඩර් එකට (/) කෙලින්ම ගමන් කිරීමට cd / යොදන්න. ඔබ කොතැනක සිටියත් කෙලින්ම තමන්ගේ හෝම් ෆෝල්ඩර් එකට යෑමට cd ~ යොදන්න. ඔබට අවශ්‍ය නම් දිග පාත් එකක් සහිත ෆෝල්ඩර් එකක් තුලට කෙලින්ම යෑමට (ඒ කියන්නේ ඔබට යා යුතු ෆෝල්ඩර් එක තිබෙන්නේ තවත් ෆෝල්ඩර් එකක් තුල; එය තවත් ෆෝල්ඩර් එකක් තුල ආදී ලෙස). උදාහරණයක් ලෙස, ඔබට යෑමට අවශ්‍ය වන්නේ /home/tekcroach/abc/xyz/test යන පාත් එකේ කෙරවල තිබෙන testකියන ෆෝල්ඩර් එක තුළට නම් cd /home/tekcroach/abc/xyz/test ලෙස යොදන්න. මේ ආදී ලෙස විවිධ කමාන්ඩ් ඇත. මේ එක් එක් කමාන්ඩ් එකේ වැඩිපුර විස්තර (ඒවා ලිවිය යුතු අනුපිළිවෙල, කමාන්ඩ එකට ඇති ස්විච ආදිය) බැලීමට අවශ්‍යයි නම්, කමාන්ඩ් එකේ නම ලියා --help යන ස්විචය යොදන්න (උදා: cd --help).
ටර්මිනල් එකේ ඔබ කලින් ලියපු කමාන්ඩ් එය විසින් මතක තබා ගන්නවා. ඔබට පරණ කමාන්ඩ් බැලීමට අවශ්‍යයි නම්, අප් ඇරෝ කී එක භාවිතා කරන්න. එලෙස යම් පරණ කමාන්ඩ එකක් දිස් වූ පසු, එන්ටර් කිරීමෙන් එය රන් කළ හැකියි. සමහර කමාන්ඩ් රන් කිරීමට ඔබ රූට් එකවුන්ට් එකෙන් ලොග්ඉන් වී තිබිය යුතුයි. ඔබ දැනට සිටින්නේ සාමාන්‍ය යූසර් කෙනෙකු විදියට නම්, තාවකාලිකව රූට්/ඇඩ්මින් බලතල ලබා ගැනීමට ලොග්අවුට් වී නැවත ඇඩ්මින් එකවුන්ට් එකකින් ලොග් වීමට අවශ්‍ය නැත. su යන කමාන්ඩ් එක දෙන්න. එවිට රූට් පාස්වර්ඩ් එක අසාවි. එය නිවැරදිව දුන් විට, ඔබට එම ටර්මිනල් එක තාවකාලිකව (එය ක්ලෝස් කරන තුරු) රූට් බලතල ලැබී ඇත. මීට අමතරව sudo කියා තවත් එවැනි කමාන්ඩ් එකක් තිබේ. හැබැයි මෙහිදී එම sudo කොටස යොදන්නේ රූට් බලතල අවශ්‍ය කරන කමාන්ඩ් එකට ඉදිරියෙන් (උදා: sudo rm -d abc). මෙහිදී රූට් බලතල ලැබෙන්නේ එම කමාන්ඩ් එකට පමණි. එම කමාන්ඩ් එක රන් වී අවසන් වූ පසුව නැවත ඔබ සාමාන්‍ය යූසර් කෙනෙකු බවට ඉබේම පත් වේ.

ටර්මිනල් එකක් ඕපන් කිරීමේ තවත් ක්‍රමයක් ඇත. එනම්, ඕනෑම ෆෝල්ඩර් එකක් මත රයිට් ක්ලික් කර, Open in terminal යන්න තේරීමෙන්. මෙහිදී ටර්මිනල් එක ඕපන් වන්නේ එම ෆෝල්ඩර් එක තමන් දැන් සිටින ෆෝල්ඩර් එක ලෙස සලකමින්. (සාමාන්‍ය විධියට ටර්මිනල් එක ඕපන් කරන විට හෝම් ෆෝල්ඩර් එක තමන් දැන් සිටින එක ලෙස ගත් බව මතකයි නේද?) ඔබ ඉන්ටර්නෙට් එකේ ලිනක්ස් සම්බන්ධව විස්තර සොයන විට, හා යම් යම් ප්‍රශ්නවලට පිළිතුරු සොයන විට, බොහෝවිට, මෙම ටර්මිනල් සමග ලියා ඇති කමාන්ඩ් දකින්නට ලැබේවි. ඒ හැරුණුවිට, ඔබට ටර්මිනල් එකෙන් එතරම් වැඩක් නොමැත (සාමාන්‍ය අය සඳහා).