Chcę usunąć wszystkie poprzednie polecenia z historii mojego serwera. Użyłem history -c
i wydaje się, że wszystko zostało wyczyszczone, ale kiedy ssh do serwera, wszystkie polecenia są nadal dostępne.
Jak mogę je trwale usunąć?
Plik ~/.bash_history
zawiera historię.
Aby całkowicie wyczyścić historię bash na serwerze, otwórz terminal i wpisz
cat /dev/null > ~/.bash_history
Innym alternatywnym sposobem jest link ~/.bash_history
do/dev/null
Jednym irytującym efektem ubocznym jest to, że wpisy historii mają kopię w pamięci i po wylogowaniu opróżniają się z powrotem do pliku .
Aby obejść ten problem, użyj następującego polecenia (działało dla mnie):
cat /dev/null > ~/.bash_history && history -c && exit
> ~/.bash_hstory
wystarczyłoby?Co robić:
W każdej otwartej powłoce bash (możesz mieć wiele otwartych terminali):
Dlaczego: Jak wspomniano powyżej,
history -c
opróżnia plik~/.bash_history
. Należy zauważyć, że powłoka bash nie od razu opróżnia historię do pliku bash_history. Dlatego ważne jest (1) opróżnienie historii do pliku i (2) wyczyszczenie historii we wszystkich terminalach . To właśnie robią powyższe polecenia.Odniesienie: http://www.giannistsakiris.com/index.php/2007/09/13/how-to-clear-bash-history-and-what-to-watch-out-for/
źródło
history -cw
wykonaj następujące polecenia, aby na zawsze wyczyścić historię
powodzenia!
źródło
Jest jeszcze jeden o wiele prostszy:
history -c
w wierszu polecenia znikają wszystkie wpisy wbash_history
pliku.źródło
history -c
jest dokładną metodą, która doprowadziła do tego pytania.Innym sposobem na to jest usunięcie
~/.bash_history
pliku za pomocąrm ~/.bash_history
polecenia. Przy kolejnym logowaniu.bash_history
plik zostanie utworzony automatycznie.źródło
Wyczyść historię bieżącej powłoki:
Po wylogowaniu historia bieżącej powłoki jest dołączana do ~ / .bash_history, która jest pamięcią podręczną historii poprzednich powłok, do maksymalnej liczby (patrz HISTFILESIZE w „man bash”).
Jeśli chcesz całkowicie usunąć historię, zasadniczo musisz opróżnić ~ / .bash_history, co sugeruje wiele powyższych wpisów. Jak na przykład:
Spowoduje to wyczyszczenie historii bieżącej powłoki, a następnie zmusi historię bieżącej powłoki (pustą) do zastąpienia ~ / .bash_history .... lub, aby być bardziej dokładnym, zmusi ją do zastąpienia HISTFILE (domyślnie ~ / .bash_history).
Mam nadzieję że to pomoże.
źródło
Zaloguj się ponownie i bądź świadkiem, że twoja strzała nic ci nie daje.
źródło
Spróbuj tego
edytuj swój
.profile
i dodaj poniższy wiersz na końcu plikuw ten sposób za każdym razem, gdy się zalogujesz, automatycznie usunie Twój plik .bash_history. Dodanie opcji -r rekurencyjnego usuwania wydaje się niebezpieczne i nie jest potrzebne.
źródło