බැෂ් ඉතිහාසය මුළුමනින්ම ඉවත් කරන්නේ කෙසේද?


272

මගේ සේවාදායකයේ ඉතිහාසයෙන් පෙර පැවති සියලු විධාන ඉවත් කිරීමට මට අවශ්‍යය. මම භාවිතා කළ history -cඅතර සියල්ල ඉවත් වී ඇති බවක් පෙනේ, නමුත් මම සේවාදායකයට ගිය විට, සියලු විධාන තවමත් පවතී.

ඒවා ස්ථිරවම ඉවත් කරන්නේ කෙසේද?

Answers:


363

ගොනුව ~/.bash_historyඉතිහාසය දරයි.

සේවාදායකයේ බැෂ් ඉතිහාසය මුළුමනින්ම ඉවත් කිරීමට, ටර්මිනලය විවෘත කර ටයිප් කරන්න

cat /dev/null > ~/.bash_history

අනෙක් විකල්ප ක්‍රමය වන්නේ සම්බන්ධ ~/.bash_historyවීමයි/dev/null

කෙසේවෙතත්,

එක් කරදරකාරී අතුරු ආබාධයක් නම්, ඉතිහාස සටහන් වල මතකයේ පිටපතක් ඇති අතර ඔබ ඉවත් වූ විට එය නැවත ගොනුවට ගලා යයි .

මෙය විසඳීම සඳහා, පහත දැක්වෙන විධානය භාවිතා කරන්න (මා වෙනුවෙන් වැඩ කර ඇත):

cat /dev/null > ~/.bash_history && history -c && exit

17
ඔබට ඉහත විධානය .bashrc & .bash_logout තුළ තැබිය හැකිය. ඔබ පිවිසෙන විට එයින් අදහස් කරන්නේ කුමක්ද යන්න ඔබට පැහැදිලි ඉතිහාසයක් ඇති අතර ඔබ පිටව යන විට ඔබේ ඉතිහාසය හිස් වනු ඇත
කාසිම්

26
ඔබට එහි / dev / null අවශ්‍ය ඇයි? කැමතිද > ~/.bash_hstoryප්රමාණවත් වෙයිද?
වින්‍යාස කරන්නා

4
ඔව් එය ප්‍රමාණවත් වනු ඇත!
fromnaboo

3
එස්එස්එච් හරහා සම්බන්ධ වී සිටියදී මම එය රාස්ප්බෙරි පෙට්ටියක කිරීමට උත්සාහ කළෙමි. Command කාසිම් විසින් යෝජනා කළ පරිදි .bashrc & .bash_logout යන දෙකටම මම ඉහත විධානය (cat / dev / null> ~ / .bash_history && history -c && exit) එක් කළෙමි. දැන් මම එස්එස්එච් හරහා සම්බන්ධ වූ වහාම දුරස්ථ ධාරකය සම්බන්ධතාවය වසා දමයි (මෝටඩ් මුද්‍රණය කිරීමෙන් පසුව). උදව්: /
උසස්

14
නිසි ලෙස කියවීමකින් තොරව සහ සැකසුම් හා දත්ත ප්‍රවාහය තේරුම් නොගෙන ඔබ අන්ධ ලෙස දේවල් කරන විට කුමක් සිදුවේදැයි පෙන්වීමට යයි. නරක සන්නිවේදනයේ අන්තරායන් ද එය පෙන්වයි. Devav2 කළේ එය එක් වරක් ධාවනය කිරීම වන අතර කාසිම් විසින් ලිවිය යුතුව තිබුණේ පිවිසුම් විධානාවලිය ඇතුළත් කිරීමට පෙර පිටවීමේ විධානය ඉවත් කිරීමයි.
ශ්‍රී

152

කුමක් කරන්න ද:

දී සෑම විවෘත bash shell (ඔබ විවෘත බහු පර්යන්ත තිබිය හැක):

history -c
history -w

ඇයි: ඉහත සඳහන් කළ පරිදි history -cගොනුව හිස් කරයි ~/.bash_history. Bash shell එක වහාම ඉතිහාසය bash_history ගොනුවට යොමු නොකරන බව සැලකිල්ලට ගැනීම වැදගත්ය. එබැවින්, (1) ඉතිහාසය ගොනුවට යොමු කිරීම වැදගත් වන අතර (2) සියලු පර්යන්තවල ඉතිහාසය ඉවත් කරන්න . ඉහත විධානයන් කරන්නේ එයයි.

යොමුව: http://www.giannistsakiris.com/index.php/2007/09/13/how-to-clear-bash-history-and-what-to-watch-out-for/


3
ඇත්තටම, අනිත් පැත්ත මට වැඩ කළා.
kristianp

26
බොහෝ අවස්ථාවන්හීදී, ඔබට මෙම විධානයන් දෙක එකට ඒකාබද්ධ කළ හැකිය:history -cw
එලියට්

2
කිසියම් හේතුවක් නිසා මෙය උබුන්ටු 14.04 හි ක්‍රියා නොකරයි. එය කළ යුතු නමුත් එය එසේ නොවේ. ඔබ "history -cw" විධානය නිකුත් කරන්නේ නම්, ඉතිහාසය තවදුරටත් නොමැති බව ඉහළ ඊතලය මඟින් ඔබට තහවුරු කළ හැකිය, නමුත් ඔබ වෙනත් ටර්මිනල් කවුළුවක් (යුනිටි ඩෙස්ක්ටොප් එකේ) මාරුව සමඟ ආරම්භ කළහොත් ටර්මිනල් අයිකනය මත ක්ලික් කරන්න (මට එය තිබේ ඔබ "history -cw" කී වතාවක් කළත් විධාන ඉතිහාසය නැවත පැමිණේ. "cat / dev / null> ~ / .bash_history" මට වැඩ කළ එකම ක්‍රමයයි.
හතෝරු හන්සෝ

මම උබන්ටු නොවන අතර, OSX හි මගේ බෑෂ් කවචය සඳහා හොඳින් ක්‍රියා කරයි.
ස්කොට් බිග්ස්

4
එය ඉතිහාසය -c සහ පසුව ඉතිහාසය -w, ඔබ මුලින්ම ඉතිහාසය ඉවත් කර වෙනස්කම් ලියන්න. ටර්මිනලය වසා නැවත එය විවෘත කිරීමෙන් මෙය පහසුවෙන් සනාථ වේ, -w පළමුව විධාන නැවත එහි ඇත, -w සමඟ අවසන් ඉතිහාසය effectively ලදායී ලෙස නිෂ්කාශනය වේ.
හතෝරු හන්සෝ

64

ඉතිහාසය සදහටම ඉවත් කිරීමට පහත විධානයන් ක්‍රියාත්මක කරන්න

history -c && history -w

වාසනාව!


3
පිළිගත් පිළිතුරට වඩා හොඳය. ;)
චිරාමිසු

මෙම ධජ කරන්නේ කුමක්ද යන්න පැහැදිලි කරන්නේ නම් මෙම පිළිතුර ඊටත් වඩා ප්‍රයෝජනවත් වනු ඇත (එම නිසා ඒවා භාවිතා කිරීමට සුදුසු විධානයන් වන්නේ ඇයි / ඇයි).
LarsH

20

තවත් සරල එකක් තිබේ: history -cටර්මිනල් විමසුමේ ධාවනය කර නැතිවී ගොස් ඇති සියල්ලම bash_historyගොනුවේ ඇතුළත් කිරීම් වේ .


නැත, එසේ නොවේ. ඉවත් වන්න, ලොග් වන්න, ඊතලය මට සියල්ල ලබා දෙයි. ඔබට "ඉතිහාසය -w" ද අවශ්ය වේ.
stolsvik

1
ඔබ OP හි ප්‍රශ්නය කියවන්නේ නම්, history -cමෙම ප්‍රශ්නයට තුඩු දුන් නිශ්චිත ක්‍රමය භාවිතා කිරීම බව ඔබ දැන ගනු ඇත .
ජේ.මෝනි

10

මෙය කළ හැකි තවත් ක්‍රමයක් වන්නේ විධානය ~/.bash_historyභාවිතා කර ගොනුව මකා දැමීමයි rm ~/.bash_history. ඔබ වෙනත් වේලාවක පිවිසෙන විට, .bash_historyගොනුව ස්වයංක්‍රීයව නිර්මාණය වේ.


4
අවම වශයෙන් සමහර OS වල ~ / .bash_history ඔබ පිටවන විට තැටියට ලියා ඇත - * buntus ගැන විශ්වාස නැත.
d -_- b

8

වත්මන් කවචයේ ඉතිහාසය හිස් කරන්න:

history -c

ඔබ ඉවත් වන විට, ඔබගේ වර්තමාන කවචයේ ඉතිහාසය ~ / .bash_history වෙත එකතු කර ඇති අතර එය පෙර කවචයන්ගේ ඉතිහාසය හැඹිලියක් වන උපරිම සංඛ්‍යාවට එකතු කර ඇත ("man bash" හි HISTFILESIZE බලන්න).

ඔබට ඉතිහාසය මුළුමනින්ම ඉවත් කිරීමට අවශ්‍ය නම්, ඉහත සඳහන් බොහෝ ප්‍රවේශයන් යෝජනා කර ඇති ~ / .බැෂ්_ ඉතිහාසය හිස් කළ යුතුය. එවැනි:

history -c && history -w

මෙය වත්මන් කවචයේ ඉතිහාසය හිස් කර වත්මන් කවචයේ ඉතිහාසය (හිස්) ~ / .බෑෂ්_ ඉතිහාසය නැවත ලිවීමට බල කරයි .... හෝ වඩාත් නිවැරදිව කිවහොත්, එය HISTFILE (පෙරනිමිය ~ / .bash_history වෙත පෙරළා දැමීමට) බල කරයි.

මෙය උපකාරී වේ යැයි සිතමි.


4
ඔබ පිළිතුරු නිවැරදියි, නමුත් ප්‍රශ්නය අවුරුදු දෙකකි, පිළිතුරු පිළිගෙන ඇති අතර ඔබ ලබා දුන් පිළිතුරම ඇතුළත් කර ඇත.
චාල්ස් ග්‍රීන්

6
rm ~/.bash_history; history -c; logout

දැන් නැවත ලොග් වී ඔබේ ඊතලය ඔබට කිසිවක් ලබා නොදෙන බවට සාක්ෂි දරන්න.


1
AskasiyA එය සේවාදායකයක් සහ ssh සැසියක් ගැන, එබැවින් සංස්කරණය කිරීමට අවශ්‍ය නැත ...
Radu Rădeanu

0

මෙය උත්සාහ කරන්න

ඔබේ සංස්කරණය .profileකර ගොනුවේ අවසානයේ පහත පේළිය එක් කරන්න

rm -f .bash_history

මේ ආකාරයෙන්, ඔබ පිවිසෙන සෑම අවස්ථාවකම, එය ඔබගේ .bash_history ගොනුව ස්වයංක්‍රීයව මකා දමනු ඇත. -R පුනරාවර්තන ඉවත් කිරීමේ විකල්පය එකතු කිරීම භයානක වන අතර අවශ්‍ය නොවේ.

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.