Search
Search titles only
By:
Search titles only
By:
Log in
Register
Search
Search titles only
By:
Search titles only
By:
Menu
Install the app
Install
Forums
New posts
All threads
Latest threads
New posts
Trending threads
Trending
Search forums
What's new
New posts
New ads
New profile posts
Latest activity
Free Ads
Latest reviews
Search ads
Members
Current visitors
New profile posts
Search profile posts
Contact us
Latest ads
Premium Land with House for Sale
anil1961
Updated:
Today at 10:15 AM
AWS Certified Solutions Architect-Associate + AWS Certified Cloud Practitioner
Sanjeewani95
Updated:
Wednesday at 8:16 PM
🚀 එක පැකේජ් එකයි - මාසෙටම Unlimited Internet! 🌐
sayuru bandara
Updated:
Tuesday at 10:57 AM
🎬 CapCut Pro 1 Month Access! LKR 600
sayuru bandara
Updated:
Tuesday at 10:55 AM
🚀 Google One AI PRO Plan (Gemini Pro Activation) – 18 Months Access! LKR 2200
sayuru bandara
Updated:
Tuesday at 10:53 AM
Electronics
Vehicles
Property
Search
Reply to thread
Forums
General
ElaKiri Talk!
DevOps_මුලික_UNIX / Linux_කමන්ඩ්ස් _5 - රිටර්න් ටු ls
Get the App
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Message
<blockquote data-quote="ja2k17ja" data-source="post: 21828229" data-attributes="member: 562617"><p><strong>DevOps_මුලික_UNIX / Linux_කමන්ඩ්ස් _5 - රිටර්න් ටු ls</strong></p><p></p><p><span style="font-size: 15px"><u>DevOps_මුලික_UNIX / Linux_කමන්ඩ්ස් _5 - රිටර්න් ටු ls</u></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">මම ඔයාලට කලින් කියපුවිදියට අපි ls ගැන වැඩිපුර විස්තරයක් අද කතා කරන්න බලාපොරොත්තු වෙනව. දැන් ඔයාලට UNIX / Linux ගැන තරමක දැනුමක් තියෙන නිසා මම කමාන්ඩ්ස් ගැන දීර්ග විස්තර කිරීම් නොකර ප්රයෝගික උදාහරණ මගින් පාඩම ඉදිරියට ගෙනයනව . යම් අපැහැදිලි තැනක් තිබුනොත් කෙලින්ම අහන්න .</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">දැන් ඔයාල හැමෝම දන්නවා ls කියන්නෙ file සහ directory ලයිස්තුගතකරන කමාන්ඩ් එකක් කියල. දැනටමත් ඔයාල ls සමග a සහ l ඔප්ෂන් බාවිතාකරන විදිය දන්නවා . අපි එතන සිටි ඉදිරියට යමු. මුලින්ම අපි අලුතින් ඩිරෙක්ටරි එකක් හදල එකේ ඇතුලෙ files ටිකකුත් හදාගෙන වැඩේට බහිමු.</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">දැන් අපිට අලුතෙන් හදපු ෆයිල් 20 කට සහ ඩිරෙක්ටරි 10 කට වඩා තියෙනව. දැන්අපිට ls සමග සෙල්ලම් කරන්න පුළුවන් .</span></p><p><span style="font-size: 15px">මෙතනින් එහාට යන්න කලින් ඔයාලට Linux terminalඑකට clear කමාන්ඩ් එක දීල screen එක clear කරගන්න පුළුවන්.</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"><strong>1) ls -1</strong></span></p><p><span style="font-size: 15px">අපිට මේ කමාන්ඩ් එක මගින් file name හෝ directory name පමණක් සහිත ලැයිස්තුවක් output විදියට ලැබෙනව . ඔයාලට Job එකක් කරනකොට shell scripts ලියන්න මේක හුගක් වැදගත් වෙනව. නමුත් අපිට මේ කමාන්ඩ් එකෙන් file එකක් සහ directory එකක් පැහැදිලිව හදුනාගන්න බෑ, මොකද UNIX / Linux වලදී සියලුම දේවල් files විදියට සලකන නිසා file name එකෙන් පමණක් හදුනාගන්න බෑ . මේ බලන්න . (නමුත් terminal emulatorඑකේ ෆයිල් සහ ඩිරෙක්ටරිවල text color එක බාවිතා කරලා හදුනාගන්න පුළුවන් ) </span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">ඉහත ලයිස්තුවේ file සහ directory සියල්ල එකට තියෙනවා කියල පේනව . මම ඉදිරියේදී කියල දෙන්නම් අපි කොහොමද file විතක් හෝ directory විතරක් ලැයිස්තු ගතකරන්නේ කියල.</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">අපි නැවතත් ls -l කමාන්ඩ් එක ට්රයි කරලා බලමු .</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">ඔයාල පොඩ්ඩක් output එක දිහා ටිකක් ඕනෑකමින් බලන්න. අපිට මේ output එක බලල file සහ directory වෙන්කරල හදුනාගන්න පුලුවන්ද කියල . ඔව් අපිට පුළුවන්. මම ඒ හදුනාගන්න විදිය කියල දෙන්නම්. ඊට කලින් ඔයාලට පොඩි කරුණක් කියන්නම්. job interviews වලදි මට ඕන තරම් අයදුම් කරුවො හමුවෙලා තියෙනවා මේ පුංචි දේවල් නොදන්නා. ඒ වගේම Sys admin ලත් හමුවෙලා තියෙනව. මම එහෙම කිව්වම ඔයාල හිතනව ඇති මේදේවල් නොදැන job එකක් කරන්න බැ කියල. නෑ job එකක් කරන්න පුළුවන්. නමුත් shell script එකක line 3 හෝ 4 කින් කරන්න පුළුවන් වැඩේ ඒ අය කරන්නෙ Java වගේ language එකක් බවිත කරලා line 30ක් විතර code ලියල. ඒකයි මම මේ පොඩි දෙවල් වලට ලොකු තැනක් දෙන්නේ.</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">දැන් ls පාඩම මොහොතකට නතර කරල අපි ඉතා වැදගත් දෙයක් කතා කරමු.</span></p><p><span style="font-size: 15px">අපි මුලින් "1dir" කියල directory එකක් හැදුව නේද . අපි එක ඉහත output එකේ කොතනද තියෙන්නේ කියල බලමු. හරි, හොයාගත්ත . මේ තියෙන්නේ ඒ ලයින් එක.</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"><strong><span style="color: Red">d</span>rwxr-xr-x 2 nix nix 4096 Jun 19 09:16 1dir</strong></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">උඩ තියෙන පේලියේ අපිට දැනටදන්නෙ "1dir" කියන directory name එක විතරයි නෙ . දැන් මම කියල දෙන්නෙ ඊට පෙර තියෙන අකුරු සහ ඉලක්කම් වලින් නිරුපනය කරන්නෙ මොනවද කියල . අදට කියල දෙන්නේ මුල්ම අකුර හෝ සංකේතය ගැන, file පර්මිෂන් පාඩමෙන් අනෙක් ටික ගැන කියල දෙනව හොදේ <img src="/styles/default/xenforo/smilies/default/happy.gif" class="smilie" loading="lazy" alt=":)" title="Happy :)" data-shortname=":)" /></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">අපේ වම අත පැත්තෙ සිට එනවිට මුලින්ම හමුවෙන දේ බලමු . අපිට හමු වෙන්නේ "d" අකුර . d අකුරන් නිරුපනය කරන්නේ මේ තියෙන file එක directory එකක් කියල(මතක් කරගන්න UNIX / Linux හි සියලුම දේවල් ගණන් ගැනෙන්නෙ files විදියට). දැන් හරි අපිට මෙහෙම කියන්න පුළුවන් ඉහත පේළියේ මුල්ම ස්ථානය මගින් file type එක පෙන්නුම් කරනව.</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">දැන් අපි බලමු අපි හදපු "about" කියන file එකට අදාල පේළිය අරගෙන . මෙන්න ඒක </span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"><strong><span style="color: red">-</span>rw-r--r-- 1 nix nix 0 Jun 19 09:15 about</strong></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">"about" කියන එකේ file types එක ඉන්ඩිකෙට්ස් කරන තැන තියෙන්නෙ "-" එක . මොකක්ද මේ - න් කියන්නෙ . - නිරුපනය කරන්නේ Ordinary file එකක් කියල. </span></p><p><span style="font-size: 15px">දැන් ඔයාලට තේරුණා නේද අපි කොහොමද file ද directory ද කියල බලා ගන්නෙ .</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">UNIX / Linux වල මේ විදියට file types කිහිපයක් තියෙනව මම දන්නා තරමින් ඒ ටික කියන්නම් .</span></p><p><span style="font-size: 15px"><strong><span style="color: Red">-</span></strong> Ordinary file</span></p><p><span style="font-size: 15px"><strong><span style="color: red">d</span></strong> Directory file</span></p><p><span style="font-size: 15px"><strong><span style="color: red">l</span></strong> Symbolic link</span></p><p><span style="font-size: 15px"><strong><span style="color: red">p</span></strong> Named pipe (FIFO)</span></p><p><span style="font-size: 15px"><strong><span style="color: red">s</span></strong> Socket</span></p><p><span style="font-size: 15px"><strong><span style="color: red">b</span></strong> Block Special file</span></p><p><span style="font-size: 15px"><strong><span style="color: red">c</span></strong> Character Special file</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">ඉහත ලිස්ට් එකේ මුල් 5 හොදට මතක තියාගන්න ඔයාලට DevOps කෙනෙක් වෙන්න මේදේවල් වැදගත් වෙනව .</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">දැන් අපි බලමු මේ කියල තියෙන files වර්ග UNIX / Linux වල කොතනදිද හමු වෙන්නේ කියල </span></p><p><span style="font-size: 15px">ඔයාලත් මම මේ කරල පෙන්නන දේවල් ටික ඔයාලගේ server එකේ හෝ Linux PC එකේ කරල බලන්න.</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">දැන් මම පෙන්නනව Block Special file හා Character Special file කොහෙද තියෙන්නෙ කියල .</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">ජස්ට් ls -l /dev</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">මම ඉහත පෙන්නලා තියෙන්නෙ output එකෙන් තෝරගත් කොටසක් . (output එක කිලෝ මීටරයක් විතර දිගයි)</span></p><p><span style="font-size: 15px">දැන් දන්නවා b සහ c ටයිප් files නොර්මලි තියෙන්නෙ /dev එක ඇතුලෙ කියල . පොඩ්ඩක් හොදින් බලන්න tty කියාල දෙයකුත් තියෙනව. ඔයාලට මතකද tty ? හරි ඔයාල හොද ළමයි වගේ මතක් කරගන්නකො.</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">දැන් යන්නේ Symbolic link තියෙන්නේ කොහෙද කියල බලන්න. (Symbolic link ගැන හා ඒවා හදන විදිය මම ඔයාලට පසුව කියල දෙනව)</span></p><p><span style="font-size: 15px">Symbloic link පහසුවෙන්ම දැකගන්න පුළුවන්වෙන්නේ /usr/lib එකේ </span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">ට්රයි ls -l /usr/lib</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">සැ . යු ඔයාලගෙ output එකේ රිසල්ට් එක මගේ එකට වඩා වෙනස් වෙන්න පුළුවන්. මොකද /usr/lib එකේ තියෙන දේවල් depend වෙනවා සිස්ටම් එකේ ඉන්ස්ටෝල් කරලා තියෙන library අනුව.</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">අපි දැන් බලමු Named pipe ගැන. මුලින්ම කියන්න ඕන UNIX / Linux වල pipe වර්ග 2ක් තියෙනව, මින් එක වර්ගයක් පිහිටල තියෙන්නේ Kernel එක ඇතුලෙ. අපි ඒ pipe වර්ගයට කියන්නෙ <strong>Unnamed pipe</strong> කියල. දෙවන වර්ගය තමයි Named pipe. Named pipe වලට FIFO (First In, First Out) කියලත් කියනවා, මෙම file වල විශේෂත්වයක් වෙන්නෙ file length එක 0 සහ file size එකේ වැඩි වීමක් සිදුනොවීම . මෙන්න මේ ටික හොදට මතක තියාගන්න. Named pipe මගින් විවිධ processes වලට එකිනෙක අතර පණිවුඩ හුවමාරු කරගන්න ඉඩ සලසා දෙනව . දැනට මේ ටික මතක තියාගන්න. ඉදිරියට මම Named pipe ගැන උදාහරණ සමග ප්රයෝජන කියල දෙනව .</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">අපි දැන් Named pipe එක හදල ls පාරක් දීල බලමු.</span></p><p><span style="font-size: 15px">අපිට් මෙන්න මේ කමාන්ඩ් එකෙන් Named pipe එකක් හදාගන්න පුළුවන්. මෙහිදී අපි "my_pipe" කියල එක නම් කරමු.</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">ට්රයි mkfifo my_pipe</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">දැන් ls -l දීල බලමු </span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">මෙබලන්න</span></p><p><span style="font-size: 15px"><span style="color: red">p</span>rw-r--r-- 1 nix nix 0 Jun 19 17:21 my_pipe</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">"my_pipe" හි file type ඉන්ඩිකෙට් කරන තැන තියෙන අකුර "p" </span></p><p><span style="font-size: 15px">මුල්ම කලේ අපි Named pipe හදන්න බාවිතා කලේ mknod කමාන්ඩ් එක. වර්තමනෙ අපි mkfifo කමාන්ඩ් එක තමයි යොදාගන්නෙ, මේක Named pipe වලටම තියන කමාන්ඩ් එකක්.</span></p><p><span style="font-size: 15px">මම ඔයාලට mknod වලින් Named pipe හදන විදිය කියන්නම්. එකට අපි මෙන්න මේ කමාන්ඩ් එක බාවිතා කරනව </span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">ට්රයි mknod my_pipe2 p </span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">ඉහත කමාන්ඩ් එකේ <strong>mknod</strong> හි පලවෙනි argument එක විදියට දීල තියෙන්නෙ Named pipe එක සදහා යොදන නම . දෙවන argument එක විදියට තියෙන p අකුරෙන් කියන්නෙ . අපිට Named pipe වර්ගයේ එකක් හදන්න කියල. එකෙන් කියන්නෙ අපිට mknod කමාන්ඩ් එකෙන් Named pipe වලට අමතරව තව file වර්ග හදන්න පුළුවන් කියන එක තමයි. අපි ඒ ගැනත් ඉදිරියට කථා කරමු.</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">අපි හදපු Named pipe ටික අපිට නොර්මල් file එකක් delete කරන විදියටම delete කරන්න පුළුවන් . </span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">ට්රයි rm my_pipe my_pipe2</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">දැන් අපි කතා කරමු Socket ගැන. සරලව කිව්වොත් UNIX / Linux Socket කියන්නෙ ක්රියාකාරීත්වයෙන් Named pipe වලට සමාන දෙයක්. Socket වල ක්රියාකාරිත්වය සහ එයින් ඇති ප්රයෝජන මම ඔයාලට උදාහරණ මගින් ඉදිරියේදි කියල දෙනව. දැන් ඒක විස්තර කරන්න ගියොත් ඔයාලට තේරුම් ගන්න ටිකක් අමාරු වෙනව. </span></p><p><span style="font-size: 15px">මම දැනට් Socket file එකකට උදාහරනයක් විතරක් දැන් පෙන්වනව .</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">දැන් ඉතින් UNIX / Linux වල ඇති file types ගැන ඔයාලට පොඩ්ඩක් කියල දුන්න. බය වෙන්න දෙයක් නැ මම ඉදිරියේදී උදාහරණ මගින් වැඩි විස්තරයක් ඔයාලට දෙනව.</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">අපි නැවත ls ගැන ඉගෙන ගන්න යමු <img src="/styles/default/xenforo/smilies/default/happy.gif" class="smilie" loading="lazy" alt=":)" title="Happy :)" data-shortname=":)" /></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">අපි දැන් ls මගින් ලැබෙන output එක ෆිල්ටර් කරල ආකාර ඉගෙන ගනිමු . ඔයාල දැක්ක නේදඅපේ ls -l කමාන්ඩ් එකට කිලෝ මීටර් ගණන් දිග output ලැබෙනව කියල. බොහෝ වේලාවට එමගින් අපි අපහසුතාවයට පත්වෙනව. </span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">මම දැන් ඔයාලට ls හා එහි options / switches වලට අමතරව "<strong>Metacharacter</strong> " බාවිතා කරලා අපිට උවමනා ආකාරයට ls මගින් තොරතුරු ලබාගන්න ආකාරය කියල දෙන්නම් . Metacharacter කියල අපි හදුන්වන්නෙ character එකෙන් නිරුපනය කරන අගය ට (face value) වඩා වෙනත් විශේෂ තේරුමක් තියෙන characters. උදාහරණයක් ලෙස කියනවනම් මෙන්න මේවගේ ඒවා </span></p><p><span style="font-size: 15px"><strong>* ? [ ] ! -</strong></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">අපි cd ~/lsmore කමාන්ඩ් එකෙන් lsmore ඩිරෙක්ටරි එකට ඇතුල්වෙලා අපේ වැඩටික දැන් පටන් ගනිමු. </span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"><strong>* සමග</strong> </span></p><p><span style="font-size: 15px">ට්රයි ls -l *1</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">ට්රයි ls -l *s</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">ට්රයි ls -l m*</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">ට්රයි ls -l y*u</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">ට්රයි ls -l t*e</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"><strong>දැන් ? සමග </strong></span></p><p><span style="font-size: 15px">ට්රයි ls -l ?ou</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">ට්රයි ls -l i?</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">ට්රයි ls -l f??e</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"><strong>* හා ?</strong></span></p><p><span style="font-size: 15px">ට්රයි ls -l ?h*</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">දැන් අපි ටිකක් සංකීර්ණ උදාහරණ ටික බලමු </span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"><strong>[ හා ] සමගින් </strong></span></p><p><span style="font-size: 15px">ට්රයි ls -l [a]</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">ට්රයි ls -l [a]*</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">ට්රයි ls -l [ab]</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">ට්රයි ls -l [ab]*</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">ට්රයි ls -l [abc]</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">ට්රයි ls -l [a-c]</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">ට්රයි ls -l [a-e]</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">ට්රයි ls -l [a-e]*</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">ඉහත උදාහරණ දිහා බලනකොට ඔයාලට යමක් තේරෙනව ඇති කියල හිතනව. පොඩ්ඩක් ඉන්න මම පොඩි පැහැදිලි කිරීමක් කරන්න.</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">අපී <strong>ls -l [a]</strong> ගෙන බලමු. මෙහිදී file name එක "a" පමණක් තියෙන file ලැයිස්තුගත වුණා. දැන් බලමු <strong>ls -l [a]*</strong> මෙහිදී file name එකේ මුල් අකුර "a" වෙන file හා directory ලැයිස්තුගත වුණා. මේ කමාන්ඩ්ස් දෙක ls -l a හා ls -l a* සමානයි .</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">දැන් බලමු ls -l [ab] මෙහිදී file name එක "a" හෝ "b" පමණක් තියෙන files ලැයිස්තුගත වුණා. අපි ls -l [ab]* යෙදූ විට අපිට file name එකේ මුල් අකුර "a" හෝ "b" වෙන file හා directory ලැයිස්තුගත වුණා.</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">දැන් ඔයාලට පැහැදිලි වෙනවා අපිට "<strong>[</strong>" සහ "<strong>]</strong>" බාවිතා කිරීමෙන් යම්කිසි පරාසයක දෙයක් තෝරාගන්න පුළුවන් කියල. තවදුරටත්බලනවානම් ls -l [a-e]* මගින් කියවෙන්නෙ English හෝඩියේ a වල සිට e දක්වා තිබෙන අකුරු වලින් පටන් ගන්නා file හෝ directory ලැයිස්තුගත කරන්න කියල. මේක short hand ක්රමයක් </span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">අපිට් කෙලින්ම මෙන්න මේ වගේ file name එක දීල වුනත් ls මගින් ලැයිස්තු ගත්කිරීමක් පවා සිදුකරන්න පුළුවන් </span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">ට්රයි ls -l about</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">අවසන් වරට් කියන්න තියෙන්නේ <strong>?</strong> මගින් එක අකුරක සිමාව නිරුපනය කරන අතර<strong> * </strong>මගින් අසීමිත අකුරු ගණනක් නිරුපනය කරයි.</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">මම හිතනවා දැන් ඔයාල ls ගැන යම් පමණකට දැනුවත් වීමක් වුන කියල.</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">අපි ඊළගට file හා directory පර්මිෂන් සමග හමුවෙමු.</span></p><p><span style="font-size: 15px"></span></p><p><span style="font-size: 15px">ස්තුතියි !</span></p><p><span style="font-size: 15px"></span></p><p></p><p><a href="http://www.elakiri.com/forum/showthread.php?p=21832283" target="_blank"><span style="font-size: 15px">DevOps_UNIX / Linux_6_file permission_ගැන</span></a></p></blockquote><p></p>
[QUOTE="ja2k17ja, post: 21828229, member: 562617"] [b]DevOps_මුලික_UNIX / Linux_කමන්ඩ්ස් _5 - රිටර්න් ටු ls[/b] [SIZE="4"][U]DevOps_මුලික_UNIX / Linux_කමන්ඩ්ස් _5 - රිටර්න් ටු ls[/U] මම ඔයාලට කලින් කියපුවිදියට අපි ls ගැන වැඩිපුර විස්තරයක් අද කතා කරන්න බලාපොරොත්තු වෙනව. දැන් ඔයාලට UNIX / Linux ගැන තරමක දැනුමක් තියෙන නිසා මම කමාන්ඩ්ස් ගැන දීර්ග විස්තර කිරීම් නොකර ප්රයෝගික උදාහරණ මගින් පාඩම ඉදිරියට ගෙනයනව . යම් අපැහැදිලි තැනක් තිබුනොත් කෙලින්ම අහන්න . දැන් ඔයාල හැමෝම දන්නවා ls කියන්නෙ file සහ directory ලයිස්තුගතකරන කමාන්ඩ් එකක් කියල. දැනටමත් ඔයාල ls සමග a සහ l ඔප්ෂන් බාවිතාකරන විදිය දන්නවා . අපි එතන සිටි ඉදිරියට යමු. මුලින්ම අපි අලුතින් ඩිරෙක්ටරි එකක් හදල එකේ ඇතුලෙ files ටිකකුත් හදාගෙන වැඩේට බහිමු. දැන් අපිට අලුතෙන් හදපු ෆයිල් 20 කට සහ ඩිරෙක්ටරි 10 කට වඩා තියෙනව. දැන්අපිට ls සමග සෙල්ලම් කරන්න පුළුවන් . මෙතනින් එහාට යන්න කලින් ඔයාලට Linux terminalඑකට clear කමාන්ඩ් එක දීල screen එක clear කරගන්න පුළුවන්. [B]1) ls -1[/B] අපිට මේ කමාන්ඩ් එක මගින් file name හෝ directory name පමණක් සහිත ලැයිස්තුවක් output විදියට ලැබෙනව . ඔයාලට Job එකක් කරනකොට shell scripts ලියන්න මේක හුගක් වැදගත් වෙනව. නමුත් අපිට මේ කමාන්ඩ් එකෙන් file එකක් සහ directory එකක් පැහැදිලිව හදුනාගන්න බෑ, මොකද UNIX / Linux වලදී සියලුම දේවල් files විදියට සලකන නිසා file name එකෙන් පමණක් හදුනාගන්න බෑ . මේ බලන්න . (නමුත් terminal emulatorඑකේ ෆයිල් සහ ඩිරෙක්ටරිවල text color එක බාවිතා කරලා හදුනාගන්න පුළුවන් ) ඉහත ලයිස්තුවේ file සහ directory සියල්ල එකට තියෙනවා කියල පේනව . මම ඉදිරියේදී කියල දෙන්නම් අපි කොහොමද file විතක් හෝ directory විතරක් ලැයිස්තු ගතකරන්නේ කියල. අපි නැවතත් ls -l කමාන්ඩ් එක ට්රයි කරලා බලමු . ඔයාල පොඩ්ඩක් output එක දිහා ටිකක් ඕනෑකමින් බලන්න. අපිට මේ output එක බලල file සහ directory වෙන්කරල හදුනාගන්න පුලුවන්ද කියල . ඔව් අපිට පුළුවන්. මම ඒ හදුනාගන්න විදිය කියල දෙන්නම්. ඊට කලින් ඔයාලට පොඩි කරුණක් කියන්නම්. job interviews වලදි මට ඕන තරම් අයදුම් කරුවො හමුවෙලා තියෙනවා මේ පුංචි දේවල් නොදන්නා. ඒ වගේම Sys admin ලත් හමුවෙලා තියෙනව. මම එහෙම කිව්වම ඔයාල හිතනව ඇති මේදේවල් නොදැන job එකක් කරන්න බැ කියල. නෑ job එකක් කරන්න පුළුවන්. නමුත් shell script එකක line 3 හෝ 4 කින් කරන්න පුළුවන් වැඩේ ඒ අය කරන්නෙ Java වගේ language එකක් බවිත කරලා line 30ක් විතර code ලියල. ඒකයි මම මේ පොඩි දෙවල් වලට ලොකු තැනක් දෙන්නේ. දැන් ls පාඩම මොහොතකට නතර කරල අපි ඉතා වැදගත් දෙයක් කතා කරමු. අපි මුලින් "1dir" කියල directory එකක් හැදුව නේද . අපි එක ඉහත output එකේ කොතනද තියෙන්නේ කියල බලමු. හරි, හොයාගත්ත . මේ තියෙන්නේ ඒ ලයින් එක. [B][COLOR="Red"]d[/COLOR]rwxr-xr-x 2 nix nix 4096 Jun 19 09:16 1dir[/B] උඩ තියෙන පේලියේ අපිට දැනටදන්නෙ "1dir" කියන directory name එක විතරයි නෙ . දැන් මම කියල දෙන්නෙ ඊට පෙර තියෙන අකුරු සහ ඉලක්කම් වලින් නිරුපනය කරන්නෙ මොනවද කියල . අදට කියල දෙන්නේ මුල්ම අකුර හෝ සංකේතය ගැන, file පර්මිෂන් පාඩමෙන් අනෙක් ටික ගැන කියල දෙනව හොදේ :) අපේ වම අත පැත්තෙ සිට එනවිට මුලින්ම හමුවෙන දේ බලමු . අපිට හමු වෙන්නේ "d" අකුර . d අකුරන් නිරුපනය කරන්නේ මේ තියෙන file එක directory එකක් කියල(මතක් කරගන්න UNIX / Linux හි සියලුම දේවල් ගණන් ගැනෙන්නෙ files විදියට). දැන් හරි අපිට මෙහෙම කියන්න පුළුවන් ඉහත පේළියේ මුල්ම ස්ථානය මගින් file type එක පෙන්නුම් කරනව. දැන් අපි බලමු අපි හදපු "about" කියන file එකට අදාල පේළිය අරගෙන . මෙන්න ඒක [B][COLOR="red"]-[/COLOR]rw-r--r-- 1 nix nix 0 Jun 19 09:15 about[/B] "about" කියන එකේ file types එක ඉන්ඩිකෙට්ස් කරන තැන තියෙන්නෙ "-" එක . මොකක්ද මේ - න් කියන්නෙ . - නිරුපනය කරන්නේ Ordinary file එකක් කියල. දැන් ඔයාලට තේරුණා නේද අපි කොහොමද file ද directory ද කියල බලා ගන්නෙ . UNIX / Linux වල මේ විදියට file types කිහිපයක් තියෙනව මම දන්නා තරමින් ඒ ටික කියන්නම් . [B][COLOR="Red"]-[/COLOR][/B] Ordinary file [B][COLOR="red"]d[/COLOR][/B] Directory file [B][COLOR="red"]l[/COLOR][/B] Symbolic link [B][COLOR="red"]p[/COLOR][/B] Named pipe (FIFO) [B][COLOR="red"]s[/COLOR][/B] Socket [B][COLOR="red"]b[/COLOR][/B] Block Special file [B][COLOR="red"]c[/COLOR][/B] Character Special file ඉහත ලිස්ට් එකේ මුල් 5 හොදට මතක තියාගන්න ඔයාලට DevOps කෙනෙක් වෙන්න මේදේවල් වැදගත් වෙනව . දැන් අපි බලමු මේ කියල තියෙන files වර්ග UNIX / Linux වල කොතනදිද හමු වෙන්නේ කියල ඔයාලත් මම මේ කරල පෙන්නන දේවල් ටික ඔයාලගේ server එකේ හෝ Linux PC එකේ කරල බලන්න. දැන් මම පෙන්නනව Block Special file හා Character Special file කොහෙද තියෙන්නෙ කියල . ජස්ට් ls -l /dev මම ඉහත පෙන්නලා තියෙන්නෙ output එකෙන් තෝරගත් කොටසක් . (output එක කිලෝ මීටරයක් විතර දිගයි) දැන් දන්නවා b සහ c ටයිප් files නොර්මලි තියෙන්නෙ /dev එක ඇතුලෙ කියල . පොඩ්ඩක් හොදින් බලන්න tty කියාල දෙයකුත් තියෙනව. ඔයාලට මතකද tty ? හරි ඔයාල හොද ළමයි වගේ මතක් කරගන්නකො. දැන් යන්නේ Symbolic link තියෙන්නේ කොහෙද කියල බලන්න. (Symbolic link ගැන හා ඒවා හදන විදිය මම ඔයාලට පසුව කියල දෙනව) Symbloic link පහසුවෙන්ම දැකගන්න පුළුවන්වෙන්නේ /usr/lib එකේ ට්රයි ls -l /usr/lib සැ . යු ඔයාලගෙ output එකේ රිසල්ට් එක මගේ එකට වඩා වෙනස් වෙන්න පුළුවන්. මොකද /usr/lib එකේ තියෙන දේවල් depend වෙනවා සිස්ටම් එකේ ඉන්ස්ටෝල් කරලා තියෙන library අනුව. අපි දැන් බලමු Named pipe ගැන. මුලින්ම කියන්න ඕන UNIX / Linux වල pipe වර්ග 2ක් තියෙනව, මින් එක වර්ගයක් පිහිටල තියෙන්නේ Kernel එක ඇතුලෙ. අපි ඒ pipe වර්ගයට කියන්නෙ [B]Unnamed pipe[/B] කියල. දෙවන වර්ගය තමයි Named pipe. Named pipe වලට FIFO (First In, First Out) කියලත් කියනවා, මෙම file වල විශේෂත්වයක් වෙන්නෙ file length එක 0 සහ file size එකේ වැඩි වීමක් සිදුනොවීම . මෙන්න මේ ටික හොදට මතක තියාගන්න. Named pipe මගින් විවිධ processes වලට එකිනෙක අතර පණිවුඩ හුවමාරු කරගන්න ඉඩ සලසා දෙනව . දැනට මේ ටික මතක තියාගන්න. ඉදිරියට මම Named pipe ගැන උදාහරණ සමග ප්රයෝජන කියල දෙනව . අපි දැන් Named pipe එක හදල ls පාරක් දීල බලමු. අපිට් මෙන්න මේ කමාන්ඩ් එකෙන් Named pipe එකක් හදාගන්න පුළුවන්. මෙහිදී අපි "my_pipe" කියල එක නම් කරමු. ට්රයි mkfifo my_pipe දැන් ls -l දීල බලමු මෙබලන්න [COLOR="red"]p[/COLOR]rw-r--r-- 1 nix nix 0 Jun 19 17:21 my_pipe "my_pipe" හි file type ඉන්ඩිකෙට් කරන තැන තියෙන අකුර "p" මුල්ම කලේ අපි Named pipe හදන්න බාවිතා කලේ mknod කමාන්ඩ් එක. වර්තමනෙ අපි mkfifo කමාන්ඩ් එක තමයි යොදාගන්නෙ, මේක Named pipe වලටම තියන කමාන්ඩ් එකක්. මම ඔයාලට mknod වලින් Named pipe හදන විදිය කියන්නම්. එකට අපි මෙන්න මේ කමාන්ඩ් එක බාවිතා කරනව ට්රයි mknod my_pipe2 p ඉහත කමාන්ඩ් එකේ [B]mknod[/B] හි පලවෙනි argument එක විදියට දීල තියෙන්නෙ Named pipe එක සදහා යොදන නම . දෙවන argument එක විදියට තියෙන p අකුරෙන් කියන්නෙ . අපිට Named pipe වර්ගයේ එකක් හදන්න කියල. එකෙන් කියන්නෙ අපිට mknod කමාන්ඩ් එකෙන් Named pipe වලට අමතරව තව file වර්ග හදන්න පුළුවන් කියන එක තමයි. අපි ඒ ගැනත් ඉදිරියට කථා කරමු. අපි හදපු Named pipe ටික අපිට නොර්මල් file එකක් delete කරන විදියටම delete කරන්න පුළුවන් . ට්රයි rm my_pipe my_pipe2 දැන් අපි කතා කරමු Socket ගැන. සරලව කිව්වොත් UNIX / Linux Socket කියන්නෙ ක්රියාකාරීත්වයෙන් Named pipe වලට සමාන දෙයක්. Socket වල ක්රියාකාරිත්වය සහ එයින් ඇති ප්රයෝජන මම ඔයාලට උදාහරණ මගින් ඉදිරියේදි කියල දෙනව. දැන් ඒක විස්තර කරන්න ගියොත් ඔයාලට තේරුම් ගන්න ටිකක් අමාරු වෙනව. මම දැනට් Socket file එකකට උදාහරනයක් විතරක් දැන් පෙන්වනව . දැන් ඉතින් UNIX / Linux වල ඇති file types ගැන ඔයාලට පොඩ්ඩක් කියල දුන්න. බය වෙන්න දෙයක් නැ මම ඉදිරියේදී උදාහරණ මගින් වැඩි විස්තරයක් ඔයාලට දෙනව. අපි නැවත ls ගැන ඉගෙන ගන්න යමු :) අපි දැන් ls මගින් ලැබෙන output එක ෆිල්ටර් කරල ආකාර ඉගෙන ගනිමු . ඔයාල දැක්ක නේදඅපේ ls -l කමාන්ඩ් එකට කිලෝ මීටර් ගණන් දිග output ලැබෙනව කියල. බොහෝ වේලාවට එමගින් අපි අපහසුතාවයට පත්වෙනව. මම දැන් ඔයාලට ls හා එහි options / switches වලට අමතරව "[B]Metacharacter[/B] " බාවිතා කරලා අපිට උවමනා ආකාරයට ls මගින් තොරතුරු ලබාගන්න ආකාරය කියල දෙන්නම් . Metacharacter කියල අපි හදුන්වන්නෙ character එකෙන් නිරුපනය කරන අගය ට (face value) වඩා වෙනත් විශේෂ තේරුමක් තියෙන characters. උදාහරණයක් ලෙස කියනවනම් මෙන්න මේවගේ ඒවා [B]* ? [ ] ! -[/B] අපි cd ~/lsmore කමාන්ඩ් එකෙන් lsmore ඩිරෙක්ටරි එකට ඇතුල්වෙලා අපේ වැඩටික දැන් පටන් ගනිමු. [B]* සමග[/B] ට්රයි ls -l *1 ට්රයි ls -l *s ට්රයි ls -l m* ට්රයි ls -l y*u ට්රයි ls -l t*e [B]දැන් ? සමග [/B] ට්රයි ls -l ?ou ට්රයි ls -l i? ට්රයි ls -l f??e [B]* හා ?[/B] ට්රයි ls -l ?h* දැන් අපි ටිකක් සංකීර්ණ උදාහරණ ටික බලමු [B][ හා ] සමගින් [/B] ට්රයි ls -l [a] ට්රයි ls -l [a]* ට්රයි ls -l [ab] ට්රයි ls -l [ab]* ට්රයි ls -l [abc] ට්රයි ls -l [a-c] ට්රයි ls -l [a-e] ට්රයි ls -l [a-e]* ඉහත උදාහරණ දිහා බලනකොට ඔයාලට යමක් තේරෙනව ඇති කියල හිතනව. පොඩ්ඩක් ඉන්න මම පොඩි පැහැදිලි කිරීමක් කරන්න. අපී [B]ls -l [a][/B] ගෙන බලමු. මෙහිදී file name එක "a" පමණක් තියෙන file ලැයිස්තුගත වුණා. දැන් බලමු [B]ls -l [a]*[/B] මෙහිදී file name එකේ මුල් අකුර "a" වෙන file හා directory ලැයිස්තුගත වුණා. මේ කමාන්ඩ්ස් දෙක ls -l a හා ls -l a* සමානයි . දැන් බලමු ls -l [ab] මෙහිදී file name එක "a" හෝ "b" පමණක් තියෙන files ලැයිස්තුගත වුණා. අපි ls -l [ab]* යෙදූ විට අපිට file name එකේ මුල් අකුර "a" හෝ "b" වෙන file හා directory ලැයිස්තුගත වුණා. දැන් ඔයාලට පැහැදිලි වෙනවා අපිට "[B][[/B]" සහ "[B]][/B]" බාවිතා කිරීමෙන් යම්කිසි පරාසයක දෙයක් තෝරාගන්න පුළුවන් කියල. තවදුරටත්බලනවානම් ls -l [a-e]* මගින් කියවෙන්නෙ English හෝඩියේ a වල සිට e දක්වා තිබෙන අකුරු වලින් පටන් ගන්නා file හෝ directory ලැයිස්තුගත කරන්න කියල. මේක short hand ක්රමයක් අපිට් කෙලින්ම මෙන්න මේ වගේ file name එක දීල වුනත් ls මගින් ලැයිස්තු ගත්කිරීමක් පවා සිදුකරන්න පුළුවන් ට්රයි ls -l about අවසන් වරට් කියන්න තියෙන්නේ [B]?[/B] මගින් එක අකුරක සිමාව නිරුපනය කරන අතර[B] * [/B]මගින් අසීමිත අකුරු ගණනක් නිරුපනය කරයි. මම හිතනවා දැන් ඔයාල ls ගැන යම් පමණකට දැනුවත් වීමක් වුන කියල. අපි ඊළගට file හා directory පර්මිෂන් සමග හමුවෙමු. ස්තුතියි ! [/SIZE] [URL="http://www.elakiri.com/forum/showthread.php?p=21832283"][SIZE="4"]DevOps_UNIX / Linux_6_file permission_ගැන[/SIZE][/URL] [/QUOTE]
Insert quotes…
Verification
Haya warak paha keeyada? (haya wadi kireema paha)
Post reply
Top
Bottom