Używam Linux Mint 17.1 Rebecca przez około 2 dni i przypadkowo wpisałem moje hasło do terminala, który jest teraz wyświetlany na liście historii poleceń, które wcześniej wpisałem.
Chcę całkowicie wyczyścić historię terminali. Próbowałem użyć następujących poleceń w terminalu, które, jak sądzę, wyczyściłyby historię na zawsze, ale nie:
history -c
reset
tput reset
Powyższe polecenia „wyczyszczą” historię z terminala, ale kiedy wyjdę i przywołam nową, cała moja poprzednia historia wciąż tam jest i można ją ponownie wyświetlić za pomocą polecenia - history, a także naciskając strzałkę W GÓRĘ na klawiaturze . Nie chcę, aby tak się stało, dopóki całkowicie nie wyczyszczę swojej historii, a następnie chcę nadal z niej korzystać.
Jak mogę całkowicie wyczyścić moją historię terminali - na zawsze i zacząć od nowa?
Uwaga: Nie chcę wychodzić z terminalu bez zapisywania historii, po prostu wyczyść ją na zawsze w tym jednym przypadku.
źródło
sed -i "s/$your_pass//g" ~/.bash_history
...Odpowiedzi:
reset
lubtput reset
tylko robi rzeczy z terminalem. Historia jest całkowicie zarządzana przez powłokę, która pozostaje nienaruszona.history -c
czyści twoją historię w bieżącej powłoce. Wystarczy (ale przesada), jeśli właśnie wpisałeś hasło i nie opuściłeś tej powłoki lub nie zapisałeś jej historii jawnie.Po wyjściu z bash historia jest zapisywana w pliku historii, który domyślnie znajduje się
.bash_history
w twoim katalogu domowym. Dokładniej, historia utworzona podczas bieżącej sesji jest dołączana do pliku; wpisy, które są już obecne, pozostają nienaruszone. Aby zastąpić plik historii historią bieżącej powłoki, uruchomhistory -w
.Zamiast usuwać wszystkie wpisy historii, możesz otworzyć
.bash_history
w edytorze i usunąć wiersze, których nie chcesz zachować. Możesz to zrobić w bashu, mniej wygodnie,history
wyświetlając wszystkie wpisy, a następniehistory -d
usuwając wpisy, których nie chcesz, a na koniechistory -w
zapisując.Pamiętaj, że nawet po edycji pliku historii możliwe jest, że Twoje hasło nadal znajduje się gdzieś na dysku z wcześniejszej wersji pliku. Nie można go już odzyskać przez system plików, ale może być nadal możliwe (ale prawdopodobnie niełatwe) znalezienie go poprzez bezpośredni dostęp do dysku. Jeśli użyjesz tego hasła w innym miejscu, a dysk zostanie skradziony (lub ktoś uzyska dostęp do dysku), może to być problem.
źródło
history
aby sprawdzić zawartość dziennika historii i numery linii, które chcesz usunąć, przypuszczalnie chcesz usunąć numer linii 1000 z dziennika historii, a następniehistory -d 1000
Próbowałem historii -c, ale historia powraca, gdy wychodzimy i otwieramy ponownie. Pomogło mi to.
Spowoduje to wyczyszczenie historii zapisanej w pliku historii, a także historii w bieżącej sesji (dzięki czemu nie zostanie zapisana w pliku po
bash
wyjściu). Następnie wychodzi ze skorupy. Następna sesja powłoki nie będzie miała historii.źródło
Zamiast usuwać wszystkie wpisy historii, wpisz następujące polecenia w swoim terminalu:
history -c
(dla historii usuwania)history -w
(zapisz historię)źródło
inc_append_history
lubshare_history
.Ponieważ występuje tutaj problem bezpieczeństwa, należy rozważyć bezpieczne usunięcie pliku historii.
źródło
Jako neofita, który boryka się z tym samym problemem, uciekłem się raczej do dość brutalnego sposobu usunięcia i odtworzenia pliku historii:
Działa to dla mnie bez powodowania nieprzyjemnych skutków ubocznych, o których jestem świadomy.
źródło
Rodzaj:
history -c; rm ~/.bash_history
history -c
czyści historię bieżącej sesji,rm ~/.bash_history
czyści historię długoterminową, więchistory -c; rm ~/.bash_history
czyści obie.źródło