2013-09-06 15 views
10

Aby wyłączyć historię w środowisku Linux Mam realizowane następujące polecenia:Wyłącz historia w Linuksie

export HISTFILESIZE=0 
export HISTSIZE=0 
unset HISTFILE 

Czy taka kombinacja poleceń wystarczy czy muszę też wykonać history -c lub coś innego?

Czy ta historia pozostanie wyłączona, nawet po ponownym uruchomieniu serwera lub takie polecenia muszą zostać wykonane po ponownym uruchomieniu komputera?

+1

Powinieneś zapytać o to na [Unix i Linux] (http://unix.stackexchange.com/) Oddział StackExchange – rook

Odpowiedz

16

Wystarczy dodać to polecenie do pliku startowego bash, które mogłyby być /etc/profile, ~/.bash_profile, ~/.bash_login, ~/.profile lub ~/.bashrc zależności swój zakres docelowy i distro który dostosowuje bash. Zobacz sekcję bash (INVOCATION) (man bash).

shopt -u -o history 

Albo

set +o history 

Które wyłączyć historię.

Chociaż trzeba wyczyścić historię raz:

history -c 

A także usunąć plik ~/.bash_history.

1

Jeśli chcesz, aby przetrwał przez ponowne uruchomienie, możesz dodać je do ~/.bashrc lub /etc/profile.

22

Dla większości zastosowań powinno wystarczyć unset HISTFILE.

który wyłącza zapisu pliku historii, a nadal pozwala przechodzić ostatnich poleceniach się/dół.
Zmiana HISTFILESIZE nie ma żadnego efektu po wyzerowaniu HISTFILE, ponieważ wpływa tylko na to, ile wierszy zostanie zapisanych do pliku historii po wyjściu powłoki. Jeśli ustawione na 0 z ustawieniem HISTFILE, plik zostanie obcięty do 0 na wyjściu.
Zmiana HISTSIZE zmienia liczbę poleceń, które bieżący shell zapamięta.

Aby zmienić ten stan na stały, ~/.bashrc lub ~/.profile to dobre miejsca do wstawiania poleceń.