Usuń historię terminali w systemie Linux [zamknięte]
170
Używając klawisza w górę w terminalu systemu Linux, możesz ponownie użyć poprzednich poleceń. Świetna funkcja. Jednak zacząłem logować mysql do mysql z poufnymi szczegółami w poleceniu.
Przepraszam, zupełnie zapomniałem wspomnieć, że używam basha.
Frank Vilea
16
Ponieważ to pytanie jest zamknięte, nie mogę go dodać jako odpowiedzi. Można powiedzieć, bash nie zapisać dowolną historię konkretnej sesji z tym poleceniem:export HISTFILE=/dev/null
Chris Eberle
1
Mogę też dodać to: nie wpisuj poufnych informacji do linii poleceń - poczekaj na podpowiedź: D
buczenie Ptak
Odpowiedzi:
343
Możesz wyczyścić swoją historię bash w następujący sposób:
Naprawdę podoba mi się ta odpowiedź - działa to natychmiast, zamiast usuwania, .bash_historyktóre wymaga ponownego uruchomienia powłoki, aby odniosła skutek.
mikemaccana,
1
Nie działa na moim komputerze z systemem Ubuntu 14.04. Historia pojawia się wraz z nowym terminalem. Wszystko, co działało, to >~/bash_history. Muszę jednak zrestartować terminal w tym celu.
Aniket Thakur
Działa także w systemie Mac OS X El Capitan (testowane na wersji 10.11.2), ale trzeba dodać, że następujący wiersz do ~/.bash_profile: export SHELL_SESSION_HISTORY=0, a następnie zrobić source ~/.bash_profilei do końca zamknąć i ponownie uruchomić aplikację Terminal. Jeśli chcesz zrozumieć, co robi to polecenie eksportu, zdecydowanie powinieneś sprawdzić następujący link: superuser.com/questions/950403/…
King-Wizard
1
nie wystarczy tylko -c? Instrukcje mówią, że -c czyści listę historii przez usunięcie wszystkich wpisów. -w zapisuje bieżącą historię do pliku historii i dołącza ją do listy historii. Po prostu -c działa dobrze.
Kahn
24
Jeśli używasz basha, historia terminala jest zapisywana w pliku o nazwie .bash_history. Usuń go, a historia zniknie.
Jednak w przypadku MySQL lepszym podejściem jest nie wprowadzanie hasła w wierszu poleceń. Jeśli po prostu określisz opcję -p, bez wartości, zostaniesz poproszony o podanie hasła i nie zostanie ono zarejestrowane.
Inną opcją, jeśli nie chcesz za każdym razem wpisywać hasła, jest zapisanie go w pliku my.cnf. Utwórz plik o nazwie ~ / .my.cnf z czymś takim:
[client]
user =<username>
password =<password>
Upewnij się, że zmieniłeś uprawnienia do pliku, aby tylko Ty mógł odczytać plik.
Oczywiście w ten sposób twoje hasło jest nadal zapisywane w pliku tekstowym w twoim katalogu domowym, tak jak było wcześniej zapisane w .bash_history.
+1 do określenia -p. To jest całkowicie poprawne podejście do tego problemu
andyb
2
Właściwie w moim systemie Linux bash pamięta historię i odtwarza plik przy wylogowaniu. Musisz się zalogować, usunąć plik, zalogować się ponownie, wylogować się z pierwszej powłoki, usunąć plik, a następnie wylogować się z drugiej powłoki.
cHao,
Dzięki za zwrócenie uwagi. Myślałem, że jestem sprytny, używając opcji -p + hasło bezpośrednio w poleceniu, ponieważ naciśnięcie strzałki w górę było o wiele szybsze, ponieważ mam bardzo długie hasło. Czas to przemyśleć ...
Frank Vilea,
5
Nie zapomnij, aby unset HISTFILEnie zapisywać bieżącej historii.
Ignacio Vazquez-Abrams
Zredagowałem swoją odpowiedź i dodałem rozwiązanie uniemożliwiające każdorazowe wpisywanie hasła.
export HISTFILE=/dev/null
Odpowiedzi:
Możesz wyczyścić swoją historię bash w następujący sposób:
history -cw
źródło
.bash_history
które wymaga ponownego uruchomienia powłoki, aby odniosła skutek.>~/bash_history
. Muszę jednak zrestartować terminal w tym celu.~/.bash_profile
:export SHELL_SESSION_HISTORY=0
, a następnie zrobićsource ~/.bash_profile
i do końca zamknąć i ponownie uruchomić aplikację Terminal. Jeśli chcesz zrozumieć, co robi to polecenie eksportu, zdecydowanie powinieneś sprawdzić następujący link: superuser.com/questions/950403/…Jeśli używasz basha, historia terminala jest zapisywana w pliku o nazwie .bash_history. Usuń go, a historia zniknie.
Jednak w przypadku MySQL lepszym podejściem jest nie wprowadzanie hasła w wierszu poleceń. Jeśli po prostu określisz opcję -p, bez wartości, zostaniesz poproszony o podanie hasła i nie zostanie ono zarejestrowane.
Inną opcją, jeśli nie chcesz za każdym razem wpisywać hasła, jest zapisanie go w pliku my.cnf. Utwórz plik o nazwie ~ / .my.cnf z czymś takim:
Upewnij się, że zmieniłeś uprawnienia do pliku, aby tylko Ty mógł odczytać plik.
Oczywiście w ten sposób twoje hasło jest nadal zapisywane w pliku tekstowym w twoim katalogu domowym, tak jak było wcześniej zapisane w .bash_history.
źródło
-p
. To jest całkowicie poprawne podejście do tego problemuunset HISTFILE
nie zapisywać bieżącej historii.