මා කලින් භාවිතා කළ විධාන සඳහා මගේ විධාන රේඛා ඉතිහාසය සොයන්නේ කෙසේද?


209

ඉතිහාසය බැලීම හැරුණු විට, මගේ ඉතිහාසය පෙරීමට ක්‍රමයක් තිබේද?

"Ssh" සමඟ ආරම්භ වූ විධානයක් සෙවීමට මට අවශ්‍ය යැයි කියන්න?

Answers:


299

Ctrl+ ඔබා Rටයිප් කරන්න ssh. Ctrl+ Rනවතම විධානයේ සිට පැරණි එක දක්වා සෙවීම ආරම්භ කරයි (ප්‍රතිලෝම සෙවීම). ඔබට ආරම්භ වන විධානයන් එකකට වඩා තිබේ නම්, ඔබ තරගය සොයා ගන්නා තෙක් + නැවත නැවතත් sshඔබන්න .CtrlR

ඔබ තරගය සොයාගත් පසු Enterවිධානය ක්‍රියාත්මක කිරීමට හෝ වමේ / දකුණු කර්සරය ඔබන්න .

සෙවුමේ දිශාව හරවා යැවීමට Ctrl+ සඳහා පෙරනිමි ප්‍රතිලෝම විකල්පයක් නොමැත, Rනමුත් මෙහිදී ඔබට ඒ පිළිබඳ යෝජනා කිහිපයක් සොයාගත හැකිය.


101

ඔබට ඔබේ ඉතිහාසය සෙවීමට අවශ්‍ය නම්, ඔබට සෙවීමට history | grep sshඅවශ්‍ය ඕනෑම දෙයක් සඳහා ssh ආදේශ කිරීම භාවිතා කළ හැකිය .


1
මම මෙම ක්‍රමය භාවිතා කරමි, මන්ද මගේ පෙරණයට ගැලපෙන සෑම විධානයක්ම ලැයිස්තුවේ බැලීමට මම සම්බන්ධ කරමි.
පිසු

16

මම ඉහත සුළු වෙනස්කම් කරමි, මට හොඳින් ක්‍රියා කරයි (ඔබ ඔබේ බාෂ් ඉතිහාසය ගැන සඳහන් කරන්නේ නම්

මගේ නිවසේ ෆෝල්ඩරයේ මම නමින් ගොනුවක් සාදමි

.inputrc

ඇතුළත මෙය යයි

"\e[5~": history-search-backward
"\e[6~": history-search-forward

සටහන: ඉහත 14.04 හි තවදුරටත් ක්‍රියාත්මක වන බවක් නොපෙනේ, එබැවින් මෙය එකම දේ කරයි -

"\e[A":history-search-backward
"\e[B":history-search-forward

ඊට පෙර මා කැමති විධානයක් ටයිප් කර පිටුව ඉහළට / පිටුව dn බොත්තම් භාවිතා කරමින් ඉතිහාසය සොයයි, සෑම විටම පිටු ඉහළට ආරම්භ වේ


ඔබට root අවසර තිබේ නම්, ඔබට / etc / inputrc සංස්කරණය කළ හැකිය, එබැවින් මෙය සියලු පරිශීලකයින් සඳහා ක්‍රියා කරනු ඇත.
වුල්ෆි

1
@ ඩග්, හ්ම් .. මම උබුන්ටු 15.04. මෙම විසඳුම ක්‍රියාත්මක වන නමුත් Ctrl + LeftArrow / Ctrl + RightArrow යතුරු අවුල් කරන්න. නිකුතුව පෙනෙන්නේ .inputrc ගොනුවක් නිර්මාණය කිරීම හා එහි ඇතුළත් කිරීම් සමඟ නොවේ.
රවී

.Inputrc හෝ පර්යන්තය වසා දැමීමට අමතක නොකරන්න
ඩේවිඩ් බ්‍රොසාර්ඩ්

14

Ctrl+ එබීමෙන් R"ප්‍රතිලෝම-අයි-සෙවුම්" ප්‍රකාරය ආරම්භ වනු ඇත, "ssh" ටයිප් කිරීමෙන් "ssh" අඩංගු විධාන සඳහා ඔබේ ඉතිහාසය සොයනු ඇත.


10

මෙන්න සම්භාව්‍ය විධාන භාවිතා කරන තවත් ක්‍රමයක් (ඩිස්ට්‍රෝස් හරහා වැඩ කිරීමට වැඩි ඉඩක් ඇත). විධාන ඉතිහාසය .bash_historyඔබගේ නිවාස නාමාවලියෙහි ගොනුවේ ගබඩා කර ඇති බැවින් ඔබට මෙය කළ හැකිය:

grep "ssh" ~/.bash_history

-iඔබට සංවේදී නොවන සෙවීමක් අවශ්‍ය නම් ධජය අමතක නොකරන්න .


history | grep sshතාවකාලික සැසියේ ssh පමණක් පෙන්වනු ඇත, එබැවින් මම මෙම පිළිතුර සඳහා යන්නෙමි.
iniravpatel

3

මම පහත දැක්වෙන කාර්යය අන්තර්ජාලයේ කොතැනක හෝ සොයාගෙන ඇති අතර එය විශාල බලපෑමක් ඇති කර ඇත්තෙමි. මෙය ඔබගේ ~/.bashrc:

hgrep () { 
    history | egrep --color=auto --recursive "$@" | egrep --color=auto --recursive -v "hgrep $@"
}

දැන් ඔබේ කවචය නැවත පටවන්න : exec bash. ඔබට දැන් නව විධානයක් ඇත, ඔබට එය එසේ භාවිතා කළ හැකිය:

hgrep ssh

එය ඔබගේ ඉතිහාසයට ගැලපෙන විධාන ලැයිස්තුවක් පෙන්වයි. විධානයක් ක්‍රියාත්මක කිරීම !සඳහා විධාන අංකය ටයිප් කරන්න . මෙන්න උදාහරණයක්:

~:$ hgrep scp
  207  tn scp foreign-teachers __HOST__:unity.log __HOST__:compiz.log .
  421  tn scp scott-laptop __HOST__:Scott\ Severance.asc .
  422  tn scp scott-laptop __HOST__:'Scott\ Severance.asc' .
  468  tn scott-desktop scp -r Backgrounds/* __HOST__:Pictures/Backgrounds
  469  tn scott-laptop scp -r Backgrounds/* __HOST__:Pictures/Backgrounds
  470  scp -r Backgrounds/* 192.168.1.2:Pictures/Backgrounds
~:$ !207

මම මෙම ප්‍රවේශයට වඩා Ctrl+ වඩා හොඳට කැමතියි, Rමන්ද එය වඩාත් නම්‍යශීලී සෙවීම් වලට ඉඩ සලසයි, මට එකවර බහුවිධ ප්‍රති results ල දැකිය හැකිය.




1

මම ලොග් නිසා මගේ bash පරිසරය සකස් කිරීමට වැඩි කැමැත්තක් - ඉතිහාසය යහපත් නමුත් සීමා සියලු සියලු විධාන ඔවුන් තුළ ධාවනය කර තිබෙන බහලුම අමතරව, මම කවදා හෝ ක්රියාත්මක කර ඇති විධාන එවිට මම ලැයිස්තුවට විධාන ක්රියාත්මක කරන්න. මම වත්මන් ඩිරෙක්ටරියේ ධාවනය කර ඇති අතර, එය ග්‍රෙප් කිරීම සඳහා පයිප්ප දැමිය හැකිය - එය 'පිඟාන' ලෙස හැඳින්වේ බලන්න:

https://github.com/wolfwoolford/dish

ඔබට හඹා යෑමට අවශ්‍ය නම්, මෙය ඔබේ .bashrc ( https://github.com/wolfwoolford/dish/blob/master/dishrc ) හි මූලාශ්‍රය කරන්න.

ඩිරෙක්ටරිය නොසලකා මෙතෙක් ක්‍රියාත්මක වන සෑම විධානයක්ම මුද්‍රණය කරන 'ඩිෂ්' නොහොත් ඩිෂ් ග්ලෝබල් යනුවෙන් ඔබට නොමිලේ ලැබෙන ඉතා ප්‍රයෝජනවත් විධානයක් තිබේ. නිසැකවම මෙය ප්‍රයෝජනවත් වන්නේ grep සහ වලිගය ආදිය භාවිතා කරන විට පමණි ...

මම වසර ගණනාවක් තිස්සේ එය භාවිතා කර ඇති අතර එය නව පෙට්ටියක් සැකසෙන සෑම විටම ස්ථාපනය කරන පළමු දෙයයි. එය ඔබ පෙළ ලිපිගොනු තුළට සැඟවුණු නාමාවලියක (~ / .dish) ලොග් කරයි .. මට කවදාවත් තැටි අවකාශය පිළිබඳ ගැටළුවක් නොවීය ...


0

මෙය @ssmy ට අදහස් දැක්වීමක් ලෙස ලිවීමට අවශ්‍ය වූ නමුත් සහයෝගයෙන් කටයුතු කිරීම සඳහා අදහස් දැක්වීමේ ආකෘතිය ලබා ගැනීමට නොහැකි විය.

history | grep sshඔබ සමඟ ඉතිහාසය සෙවීමෙන් පසුව , විස්මිත සලකුණක් සහිතව එහි අංකය ටයිප් කිරීමෙන් ඔබට අවශ්‍ය විධානය ක්‍රියාත්මක කළ හැකිය, උදා !42.

උදාහරණයක්:

$ ඉතිහාසය | grep ssh
  5 ssh me@someserver.net
 13 ssh me@someotherserver.net
 42 ssh me@thisone.com
$! 42
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.