22 – ගොණු සහ නාමාවලි කළමනාකරණය (file & directory management) (1 කොටස)

ඕනෑම මෙහෙයුම් පද්ධතියකදී ගොණු සහ නාමාවලි කළමනාකරණය අත්‍යාවශ්‍ය අංගයකි. මෙහිදී වර්තමානයේ ඉතා ජනප්‍රිය වී ඇති රූපක අතුරු මුහුණත් (GUI) මගින් මුසිකය (mouse) භාවිතයෙන් අදාළ මූලික කාර්යයන් බොහොමයක් සිදු කරගත හැකි නමුත් වඩාත් සංකීර්ණ කාර්යයන් ඉටු ගැනීම සඳහා command line හරහා ලැබෙන සහයෝගය ඉතා  වැදගත් ය. බොහෝ දුරට සේවාදායක පරිගණක වල (server computers) දිනපතා අති විශාල files/directories ප්‍රමාණයක් නිර්මාණය වන නිසා GUI හරහා ඒවා කළමනාකරණය කිසිසේත් ම ප්‍රයෝගික නොවේ. අනෙක් අතට Linux මෙහෙයුම් පද්ධතිය මගින් මෙම කාර්යයන් ස්වයංක්‍රියව (automate) කර ගැනීමට ඉඩ සලසන නිසා පරිශීලක මැදිහත්වීම (user intervention) අවම මට්ටමක පවත්වා ගනිමින් පරිශීලකයා අතින් සිදුවිය හැකි වැරදි සහ අඩුපාඩු මගහැර 100% නිරවද්‍යතාවයෙන් අදාළ කාර්යයන් ඉටු කරගත හැකිය. තවද command line හරහා ගොණු කළමනාකරණය ඉතා වේගවත් (fast) වන අතර ම වඩාත් නම්‍යශීලි (flexible) ලෙස සංකීර්ණ කාර්යයන් (complex tasks) හැසිරවීමේ බලගතු (powerful) හැකියාව ද ඇත.

සටහන: සත්‍ය වශයෙන් ම GUI තුළ දී අප ක්‍රියාත්මක කරන ගොණු/නාමාවලි කළමනාකරණ කාර්යයන් වලදී පසුබිමින් ක්‍රියාත්මක වන්නේ ඊට අදාළ ව command line තුළදී අප ලබාදෙන විධානයයි.

ප්‍රධාන වශයෙන් ගොණු/නාමාවලි කළමනාකරණයේ දී අප සිදු කරන කාර්යයන් කිහිපයක් ඇත. එනම්,

  1. ගොණු/නාමාවලි පිටපත් කිරීම (copy).
  2. ගොණු/නාමාවලි තැන්මාරු/විතැන් කිරීම (move)
  3. නාමාවලි නිර්මාණය (create directories).
  4. අනවශ්‍ය ගොණු/නාමාවලි ඉවත් කිරීම/මකා දැමීම (remove/delete files & directories).
  5. ගොණු/නාමාවලි සඳහා සබැඳි (links) නිර්මාණය.

ඉහත දැක්වූ සියල්ල ම සාමාන්‍යයෙන් files/directories අඩු සංඛ්‍යාවක් (few) ඇති අවස්ථාවලදී සිදු කිරීම පහසු වන නමුත් පළමු කාර්යයන් 4 files/directories විශාල ප්‍රමාණයක් ඇති විට තරමක් අසීරුය. මෙහිදී command line මගින් අපගේ පිහිටට තුරුම්පු (wild cards) ලෙස හඳුන්වන සුවිශේෂ උපක්‍රමයක් ලබා දී ඇත.

තුරුම්පු (wild cards) භාවිතය

 Wild cards භාවිතා කිරීමේන් files/directories එකකට වැඩි ගණනක් නියෝජනය කල හැකි නිසා අපගේ කාර්යයන් ඉතා පහසු වේ. මෙහිදී සංකේත (symbols) සහ අක්‍ෂර පංති (character classes) යොදා ගනිමින් කිසියම් රටාවකට (pattern) ගැලපෙන පරිදි අවශ්‍ය files/directories පමණක් තෝරාගෙන commands ලබාදිය හැකිය. පහත දැක්වෙන්නේ wild cards සහ එමගින් තෝරගත හැකි රටාවන් (patterns) ය.

සටහන: Command line තුළදී wild cards භාවිතාව ගොණු කළමනාකරණයට පමණක් සිමා නොවන අතර ඒවා බොහෝ commands සමග භාවිතා කල හැකිය.

* - අක්‍ෂර ඕනෑම සංඛ්‍යාවක් ගැළපිය හැකිය.
? - ඕනෑම එක් අක්‍ෂරයක් පමණක් ගැළපිය හැකිය.
[chars] - වරහන් තුළ දක්වා ඇති අක්‍ෂර වලින් ඕනෑම එකක් ගැලපීම සිදු කරයි.
[!chars] - වරහන් තුළ දක්වා ඇති අක්‍ෂර හැර වෙනත් ඕනෑම අක්‍ෂරයක් ගැලපීම සිදු කරයි.
[[:class:]] - class මගින් දක්වා ඇති අක්‍ෂර පන්තිය (character class) ගැලපීම සිදු කරයි.

පහතින් දැක්වෙන්නේ බහුල ව භාවිතා වන character classes කිහිපයකි.

[:alnum:] - අකුරු හෝ ඉලක්කම්
[:alpha:] - අකුරු පමණක්
[:digit:] - ඉලක්කම් පමණක්
[:lower:] - simple letters පමණක්
[:upper:] - capital letters පමණක්

සැ.යු.: lower සහ upper යන character classes වෙනුවට අතීතයේදී [a-z] සහ [A-Z] යන පරාසයන් (ranges) භාවිතා කරන ලද නමුත් වර්තමානයේදී ඒවා සඳහා බොහෝ දුරට අනුකුලතාවයක් නොදක්වයි.

Wild cards යොදා ගන්නා ආකාරය පිලිබඳ උදාහරණ කිහිපයක් පහත දැක්වේ.

* - සියලු ම files සහ directories නියෝජනය වේ.
g* - g අකුරෙන් පටන් ගන්නා files සහ directories.
b*.txt - b අකුරෙන් පටන්ගෙන .txt වලින් අවසන් වන සියලු ම files.
data??? - data යන්නෙන් පටන් ගන්නා තවත් අකුරු 3ක් පමණක් ඇති files සහ directories.
[abc]*a, b හෝ c යන ඕනෑම අකුරකින් පටන් ගන්නා සියලු ම files සහ directories.
backup.[0-9][0-9][0-9] - දිගු නාමය (extension) ඉලක්කම් 3කින් අවසන් වන backup යන ගොණු නාමය (filename) සහිත files.
[[:upper:]]* - Capital අකුරකින් පටන් ගන්නා සියලු ම files සහ directories.
[![:digit:]]* - ඉලක්කමකින් ආරම්භ නොවන සියලු ම files සහ directories.
*[[:lower:]123] - 1, 2 හෝ 3 යන ඉලක්කමකින් හෝ simple අකුරකින් අවසන් වන සියලු ම files සහ directories.

One thought on “22 – ගොණු සහ නාමාවලි කළමනාකරණය (file & directory management) (1 කොටස)

  1. […] Character classes ගැන වැඩිදුර තොරතුරු දැනගැනීමට ගොණු සහ නාමාවලි කළමනාකරණය ලිපිය බලන්න. පහත උදාහරණ වල echo command හි output […]

    කැමතියි

ප්‍රතිචාරයක් ලබාදෙන්න

Fill in your details below or click an icon to log in:

WordPress.com Logo

ඔබ අදහස් දක්වන්නේ ඔබේ WordPress.com ගිණුම හරහා ය. පිට වන්න /  වෙනස් කරන්න )

Google photo

ඔබ අදහස් දක්වන්නේ ඔබේ Google ගිණුම හරහා ය. පිට වන්න /  වෙනස් කරන්න )

Twitter picture

ඔබ අදහස් දක්වන්නේ ඔබේ Twitter ගිණුම හරහා ය. පිට වන්න /  වෙනස් කරන්න )

Facebook photo

ඔබ අදහස් දක්වන්නේ ඔබේ Facebook ගිණුම හරහා ය. පිට වන්න /  වෙනස් කරන්න )