2011-07-15 17 views
166

Po użyciu klawisza up w terminalu systemu Linux można ponownie użyć poprzednich poleceń. Świetna funkcja. Jednak zacząłem rejestrować mysql w mysql z wrażliwymi szczegółami w poleceniu.Usuwanie historii terminali w systemie Linux

Jak mogę usunąć tę historię?

+1

Które powłoki –

+0

Niestety, ja zupełnie zapomniałem wspomnieć, że używam bash. –

+16

Ponieważ to pytanie jest zamknięte, nie mogę dodać tego jako odpowiedzi. Możesz powiedzieć bash, aby nie zapisywał żadnej historii dla konkretnej sesji za pomocą tego polecenia: 'export HISTFILE =/dev/null' –

Odpowiedz

339

Możesz wyczyścić historię bash tak:?

history -cw

+4

Naprawdę podoba mi się ta odpowiedź - od razu działa, zamiast kasować '.bash_history', która wymaga ponownego uruchomienia powłoki. – mikemaccana

+1

Nie działa na moim komputerze z Ubuntu 14.04. Historia pojawia się z nowym terminalem. Wszystko, co zadziałało, to '> ~/bash_history'. Jednak należy zrestartować terminal. –

+0

Działa również na Mac OS X El Capitan (testowany na wersji 10.11.2), ale musisz dodać następującą linię do swojego '~/.bash_profile':' export SHELL_SESSION_HISTORY = 0', a następnie wykonaj 'source ~ /. bash_profile' i zakończyć działanie i ponownie uruchomić aplikację Terminal. Jeśli chcesz zrozumieć, co robi to polecenie eksportu, powinieneś zdecydowanie sprawdzić poniższy link: http://superuser.com/questions/950403/bash-history-not-preserved-between-terminal-sessions-on-mac –

23

Jeśli używasz bash, to historia terminala jest zapisywana w pliku o nazwie .bash_history. Usuń go, a historia zniknie.

Jednak w przypadku MySQL lepszym rozwiązaniem nie jest wpisanie hasła w wierszu poleceń. Jeśli podasz opcję -p, bez wartości, zostaniesz poproszony o podanie hasła i nie będzie on zalogowany.

Inną opcją, jeśli nie chcesz wprowadzać hasła za każdym razem, jest zapisanie go w pliku my.cnf. Utwórz plik o nazwie ~/.my.cnf z czymś takim:

[client] 
user = <username> 
password = <password> 

Upewnij się, aby zmienić uprawnienia do pliku tak, że tylko można odczytać pliku.

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.

+3

+1 do określania '-p'. Jest to całkowicie poprawne podejście do tego problemu. – andyb

+2

Właściwie w moim systemie Linux bash pamięta historię i odtwarza plik podczas wylogowywania. Musisz się zalogować, usunąć plik, zalogować się ponownie, wylogować pierwszą powłokę, usunąć plik, a następnie wylogować się z drugiej powłoki. – cHao

+0

Dzięki za wskazanie tego. Myślałem, że jestem sprytny, używając opcji -p + hasło bezpośrednio w poleceniu, ponieważ było to o wiele szybsze, niż naciśnięcie strzałki w górę, ponieważ mam bardzo długie hasło. Czas na ponowne rozpatrzenie .. –

Powiązane problemy