26 – Command line භාවිතය පහසු කර ගැනීමේ උපක්‍රම (1 කොටස)

වර්තමානයේ mouse (මූසිකය) භාවිතයට හුරුවී සිටීම නිසා බොහොමයක් ආධුනිකයන් keyboard යොදා ගනිමින් commands ලබාදීමට මැළිකමක් දක්වයි.. නමුත් වෘත්තිමය පරිගණක ශිල්පීන් (professionals) වඩාත් නැඹුරු වී ඇත්තේ keyboard භාවිතයටයි. විශේෂයෙන් ම touch typing (යතුරු දෙස නොබලා ටයිප් කිරීම) හැකියාව ඇත්නම් පරිගණකය හැසිරවීමට keyboard යොදා ගැනීමෙන් වේගවත් ලෙස කාර්යයන් ඉටු කර ගැනීමට හැකියාව ලැබේ. Linux යනු පරිගණක වෘත්තිකයන් විසින් නිර්මාණය කල මෙහෙයුම් පද්ධතියක් නිසා command line ද 100% ම keyboard මත පදනම් වී (based) ඇත. Command line හි බලගතු හැකියාවන් සඳහා බලපා ඇත්තේ ද මෙසේ ඉතා නම්‍යශීලි ලෙස keyboard මගින් commands ලබාදීමට ඇති හැකියාවයි. මෙහිදී mouse භාවිතා නොකර සියලු කාර්යයන් ඉටු කරගත අතර ම විවිධ කෙටිමං (shortcuts) සහ උපක්‍රම භාවිතයෙන් ඉතා ඉක්මනින් commands සංස්කරණය (editing) කිරීමේ හැකියාව පවතී. අද සිට ලිපි කිහිපයක් ඉදිරියට මේ සියල්ල පිළිබඳ ව සවිස්තරාත්මකව සොයා බලමු.

Command history (යටගියාව) භාවිතා කර commands නැවත කැඳවීම (recall)

සාමාන්‍යයෙන් අප විසින් command එකක් ක්‍රියාත්මක කල පසු එය නැවත ලබාගත හැකි පරිදි තාවකාලිව මෙහෙයුම් පද්ධතිය තුළ ගබඩා කර ගැනීමක් සිදුවේ. මෙහිදී අසීමිත ලෙස සියලු ම commands ගබඩා කර ගැනීමක් සිදු නොවුවත් සැලකිය යුතු commands සංඛ්‍යාවක් එලෙස නැවත ලබා ගැනීමේ හැකියාව ඇත. උදහරණයක් ලෙස bash shell හි අවසන් වරට ලබාදුන් විධාන (commands) 1000 මෙලෙස නැවත ලබාගත හැකිය. මෙම සිමාව ඉක්මවා commands ඇතුලත් කල විට ක්‍රමානුකුලව වඩාත් පැරණි commands එකින් එක ඉවත් වීම සිදුවේ. ඔබේ Linux මෙහෙයුම් පද්ධතියේ command line හි history ලෙස ගබඩා වන උපරිම commands සංඛ්‍යාව බලා ගැනීමට පහත පරිදි HISTSIZE variable (විචල්‍යය) හි අගය මුද්‍රණය (print) කර බලන්න.

view history size
view history size

මෙලෙස commands නැවත ලබා ගැනීමට හැකිවීම නිසා දීර්ඝ commands යලිත් type කිරීමට සිදු නොවන අතර ම ඇතුලත් කල command එකක කිසියම් වරදක් ඇතිවිට සම්පුර්ණ command එක type කිරීම වෙනුවට command එකේ වරද ඇති ස්ථානය පමණක් සංස්කරණය කර ක්‍රියාත්මක කල හැකිය.

සටහන: Command history ලෙස යොදාගන්නේ කුඩා text file එකකි. Bash shell හි එය .bash_history ලෙස හඳුනාගත හැකිය. සාමාන්‍යයෙන් මෙය සැඟවී පවතින ගොණුවකි (hidden file). ඔබේ shell එකට අදාළ history file එක බලා ගැනීමට home directory හි සිට ls -a විධානය ලබාදෙන්න. එහි අන්තර්ගතය බලා ගැනීමට ගොණු අන්තර්ගතය බලා ගැනීම පාඩම යටතේ කියා දුන් ඕනෑම පාඨ ගොණු දර්ශකයක් (text file viewer) යොදාගත හැකිය.

locate history file
locate history file

Command history තුළ සැරිසැරුම

ඔබට සම්පුර්ණ command history එකවර දර්ශනය කරගැනීමට අවශ්‍ය නම් history ලෙස type කර  ඔබන්න. මෑතකදී ඇතුලත් කල විධාන (commands) n සංඛ්‍යාවක් දර්ශනය කර ගැනීමට history n ලෙස ලබාදෙන්න (උදා.: history 10). Command history අතර ඔබ-මොබ ගමන් කිරීම සඳහා keyboard shortcuts යොදාගන්නා අතර අපට අවශ්‍ය command එක ඉක්මනින් සොයා ගෙන ක්‍රියාත්මක කිරීමේ පහසුකම ද ලබාදී ඇත.

bash history
bash history

Command history තුළ වරක් ඇතුලත් කල command එකක් ඉක්මණින් ක්‍රියාත්මක කිරීමට පහත ක්‍රමවේද භාවිතා කල හැකිය. මෙහිදී command එක සංස්කරණය (edit) කිරීමට අවස්ථාවක් නොලැබෙන අතර පෙර විධානය (previous command) නැවත ක්‍රියාත්මක වේ.

!n - Command history එකෙහි n ස්ථානයේ දැක්වෙන command එක නැවත ක්‍රියාත්මක වේ. උදාහරණයක් වශයෙන් ඉහත රූපයේ දැක්වෙන which command එක නැවත ක්‍රියාත්මක කිරීමට අවශ්‍ය නම් !3 ලෙස type කරන්න.
!! - අවසානයට ඇතුලත් කල command එක නැවත ක්‍රියාත්මක කල හැකිය.
!?text? - text මගින් දැක්වෙන අක්‍ෂර රටාවට ගැළපෙන වඩාත් මෑතකදී ඇතුලත් කල command එක ක්‍රියාත්මක වේ. ඉහත උදාහරණයට අදාළ ව ?whi? ලෙස type කල විට which java යන්න ක්‍රියාත්මක වේ.

ඉහත දැක්වූ පරිදි පෙර විධානය එකවරම නැවත ක්‍රියාත්මක කිරීම වෙනුවට අවශ්‍ය සංස්කරණයන් කල පසු විධානය ක්‍රියාත්මක කිරීම වඩාත් ප්‍රයෝජනවත් වේ. මේ සඳහා පහත දැක්වෙන keyboard shortcuts භාවිතා කරමින් අවශ්‍ය command එක නැවත ලබාගත් පසු සංස්කරණය (edit) කිරීම කල හැකිය.

Ctrl + P හෝ  (up arrow)- අවසානයට type කල command එක නැවත ලබාගැනීමට මෙය එක් වරක් ඔබන්න. වඩාත් පැරණි commands ලබාගැනීමට කිහිපවරක් එබීම කල හැකිය.
Ctrl + N හෝ  (down arrow)- ඉහත පරිදි commands කිහිපයක් පසුපසට ගිය පසු නැවත ඉදිරියට පැමිණීමට යොදාගත හැකිය.
Ctrl + R (reverse-i-search) - වෘද්ධිමය (incremental) ලෙස ප්‍රතිවර්තව (reverse) commands සෙවීම සඳහා මෙම යතුරු එබීමෙන් පසු ඔබට අවශ්‍ය command එකේ මුල් අකුරු කිහිපය type කිරීම ආරම්භ කරන්න. ඊට ගැළපෙන ලෙස මෑතකදී ඇතුලත් කල command එක දිස්වන අතර තවදුරටත් type කරගෙන යාමේදී වඩාත් ගැළපෙන command එක ලබාගත හැකිය. අවශ්‍ය නම් edit කිරීම සිදුකර  එබීමෙන් විධානය ක්‍රියාත්මක කිරීමට පිළිවන.
Ctrl + S (forward-i-search) - වෘද්ධිමය ලෙස ඉදිරියට (forward) commands සෙවීමට යොදාගනී. (සමහර අවස්ථා වලදී ක්‍රියාත්මක නොවිය හැකිය.)
Ctrl + O (execute and advance) - History list එකෙහි දැනට සිටින ස්ථානයේ ඇති command එක ක්‍රියාත්මක කරමින් ම ඊළඟ command එකට ගමන් කරයි.
Alt + P (reverse search) - ඉහත දැක්වූ reverse-i-search ක්‍රියාවලියට සමාන වන නමුත් commands සෙවීම ආරම්භ කිරීමට  එබීම කල යුතුය.
Alt + N (forward search) - Forward-i-search ක්‍රියාවලියට සමාන වන අතර commands සෙවීම ආරම්භ කිරීමට  එබීම කල යුතුය. (සමහර අවස්ථා වලදී ක්‍රියාත්මක නොවිය හැකිය.)
Alt + < (top of the list) - History list එකෙහි මුලට ගමන් කරයි.
Alt + > (bottom of the list) - History list එකෙහි අගට ගමන් කරයි.

සටහන: ඔබට command line හි vi editor සමග පළපුරුද්දක් ඇත්නම් fc command සමග history list එකේ command එකෙහි ඉලක්කම ඇතුලත් කිරීමෙන් එය vi editor තුළ විවෘත කර සංස්කරණය කල හැකිය. Command එක සංස්කරණය (edit) කර vi වලින් ඉවත් වීමේදී (:q! හෝ :wq) ක්‍රියාත්මක වීම සිදුවේ. අවශ්‍ය නම් ඉලක්කම් පරාසයක් දැක්වීමෙන් ඒ සියල්ල එකවර vi editor එකෙහි edit කිරීමට හැකියාව ඇත. මෙහිදී vi editor එකෙන් ඉවත් වීමේදී සියළුම commands පිළිවෙලින් ක්‍රියාත්මක වීම සිදුවේ.
උදා.: fc 8, fc 8 20

වැදගත්: ඉහත fc command ක්‍රියාත්මක කිරීමේදී vi editor යොදාගැනෙන්නේ සම්මත සැකසුම (default) ලෙස පමණි. ඔබට අවශ්‍ය නම් වෙනත් editor එකක් සම්මතය ලෙස යොදාගැනීමට පිළිවන.

ඉහත ↑↓ (arrow keys) වෙනුවට Ctrl/Alt සමග අක්‍ෂර (letters) භාවිතා කිරීමෙන් touch typing හුරු අයෙකුට සම්මත ලෙස දෑත තබාගෙන සිටින ඉරියව්වේ (home position) සිට ම edit කිරීමට පහසුව සැලසේ. එමගින් දීර්ඝ ලෙස type කිරීමේදී කාලය ඉතිරි වේ.

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

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 ගිණුම හරහා ය. පිට වන්න /  වෙනස් කරන්න )