2013-11-23

ලිනක්ස් Shell Programming පාඩම-කොටස 12


    25.පයිප්ප (Pipes).

පයිප්ප කිවිවෙ වතුර යන ඒව නම් නෙවෙයි. මේවයි යන්නෙ කමාන්ඩ්. තේරුනේ නැද්ද? මෙහෙමයි අපි මේ පයිප්ප කියන ඒවයින් කරන්නෙ එක කමාන්ඩ් එකක output එක තවත් කමාන්ඩ් එකක් ඉන්පුට් එකකට ලබාදෙන එක. මේකෙ තියන විශේෂත්වය තමයි එහෙම වෙනකොට කිසිම temporary file එකක් හැදෙන්නෙ නැති වීම (මෙහෙම කියන්නෙ පළමු කමාන්ඩ් එක මගින් දෙන output එක කිසි තැනක save කරගන්නෙ නැතුව කෙලින්ම දෙවනි කමාන්ඩ් එකේ input එකට ලබාදෙන නිසා ). අපට මේක use කරන්නෙ පුලුවන් program එකක out put එක තවත් program එකක ඉන්පුට් එකට සෙට් කරවන්න ටෙම්පරි file හදන්නෙ නැතුව.


උඩ තියන පින්තුරෙන් ඒ ගැන අදහසක් ගන්න උත්සාහ කරන්න.
මේ Syntax එක use කරන්නෙ මේ විදියට.
Command 1 | Command 2

මෙන්න මේ උදාහරණ බැලුවහම හරියටම තේරුම් ගන්න පුලුවන් වේවි.

      1. ls | more –
        ls කමාන්ඩ් එකෙන් වෙන දේ දන්නවනෙ. more කියන කමාන්ඩ් එකත් එක්ක combine කරහම වෙන්නෙ මෙහෙම වැඩක් අපි හිතමු අපි files හා folders ගොඩක් තියන directory එකක ඉදන් ls type කරා කියල එතකොට මෙන්න මේවගේ result එකක් තමයි ටර්මිනල් එකේ Display වෙන්නෙ.


අපි ls | more කියන විදියට රන් කරොත් මෙන්න මේවගේ result එකක් තමයි ලැබෙන්නෙ.කමාන්ඩ් දෙකක එකතුවකින් තමයි මේ result එක ලැබුනෙ.

පෙන්නන තියන දේවල් ලිස්ට් එකක් විදියට පෙන්නනන එක තමයි විශේෂත්වය. එහෙම පෙන්නන්න Screen එක මදිනම් --More-- කියන එක උඩ enter button එක එබීමෙන් ඊළඟ ටික බලන්න පුලුවන්.

2. who | sort 
who කියන කමාන්ඩ් එකෙන් ලැබෙන්නෙ user Account ප්‍රමාණය. Sort කියන කමාන්ඩ් එකත් කලින් use කරල තියෙනව ඒකෙන් වෙන්නෙ අනුපිළිවෙලකට සැකසෙන එක.මේ කමාන්ඩ් එක රන් කිරීමෙන් sort උන user Account ප්‍රමාණය බලා ගන්න පුලුවන්.


3.who | sort > user_list
කලින් කමාන්ඩ් එක මගින් උන දේම තමයි සිද්ධවෙන්නෙ. හැබැයි output එක write වෙන්නෙ ඔයා දැනට ඉන්න ඩිරෙක්ටරි එකේ user_list කියල හැදෙන file එකේ.( > ,>> ,< මේව මතකයිනෙ redirection වලදි කරේ )

4. who | wc -l 
wc කියන කමාන්ඩ් එකෙන් යමක lines ප්‍රමාණය,වචන,අකුරු වගේ ඒවගෙ count එකක් ගන්න පුලුවන්.භාවිතා කරන හැටි පහල තියන ඒව් මගින් ඉගෙන ගන්න.
wc -c :-මේකෙන් bytes වල එකතුව ගන්න පුලුවන්
wc -m :-අකුරු වල එකතුවක් ලබා ගන්න පුලුවන්.
wc -C :- wc -m වලින් ලැබුන ප්‍රතිඑලයම තමයි.
wc -l : lines වල එකතුව.
wc -w : අකුරු අතර තියන හිස් අවකාශය(white space) count කරනව.

who | wc -lවලින් පෙන්නන්නෙ ලයින් ප්‍රමාණෙ count එකusers 5ක් හිටියොත් රිසල්ට එක 5 කියල පෙන්නනෙ. ඔයාලගෙ ඉන්න users ප්‍රමාණයෙ එකතුවක් දකින්න ලැබෙයි.

  1. ls -l | wc -l
මේක ඔයාල කරල බලලම තේරුම් ගන්න හැම එකම කියල දෙන එක හොඳ නෑ නෙ.