Mögliches Duplizieren:
Können Verlaufsdateien in Bash vereinheitlicht werden?
Ich verwende Ubuntu Server 9.10 und möchte meinen Bash-Verlauf für mehr als eine Terminalsitzung anzeigen können. Dh meine letzten 200 Befehle oder so, auch wenn ich dazwischen abgemeldet wurde.
Wenn ich das benutze, history
sehe ich nur alle Befehle aus meiner eigentlichen Terminalsitzung. Wie kann ich mehr Befehlsverlauf von Bash sehen? Gibt es spezielle Einstellungen für Bash, die ich gegenüber den Standardwerten in Ubuntu ändern sollte?
Ich habe keine ~/.bash_history
Datei. Aber ich habe ein ~/.bashrc
mit HISTCONTROL=$HISTCONTROL${HISTCONTROL+,}ignoredups
undHISTCONTROL=ignoreboth
echo $HISTFILE
/home/sanoj/.bash_history
echo $HISTSIZE
500
echo $HISTFILESIZE
500
echo $HISTCONTROL
ignoreboth
UPDATE: Ich versuche jetzt Ubuntu Server 10.10 in VirtualBox. Wenn ich VirtualBox nur ohne den Befehl shutdown ausschalte, werden beim nächsten Start die Befehle der letzten Sitzung nicht in der Verlaufsdatei gespeichert.
Die Befehle werden nur gespeichert, wenn ich die Maschine mit dem Befehl shutdown herunterfahre. ZB Herunterfahren -P 0.
Dies muss der Grund für mein Problem sein. Also muss ich herausfinden, wie ich den Befehlsverlauf öfter speichern kann. ZB nach jedem Befehl.
quelle
echo $HISTSIZE
undecho $HISTFILESIZE
? Mein (Ubuntu)~/.bashrc
hat die gleichenHISTCONTROL
Zeilen wie Ihre, was hirntot ist, da die zweite die erste überschreibt und die Werte durch Doppelpunkte und nicht durch Kommas getrennt sein sollen. Wenn Sie dies tunset -o
, wird eine Zeile mit der Aufschrift "history on" angezeigt?500
mitecho
beiden Variablen undhistory on
Antworten:
Sie können verwenden
um den In-Memory-Verlauf sofort an die Verlaufsdatei anzuhängen. Eine Terminalsitzung kann keine andere sehen, es sei denn, dies wird durchgeführt oder die andere wird beendet.
Sie können verwenden
um diese Anzahl von Einträgen zu sehen.
Außerdem
HISTSIZE
sehen Sie den Eintrag in der Bash-Manpage betreffendHISTFILESIZE
.quelle
history -a´ doesn't do anything for me, and not
Geschichte 200 | auch weniger, aber ich habe meine Frage mit mehr Informationen aktualisiert. Danke trotzdem.Sobald Sie sich abgemeldet haben, wird der Verlauf an die Datei angehängt
~/.bash_history
. Schau mal rein.Standardmäßig werden Ihre letzten 500 Befehle gespeichert. Wenn Sie mehr speichern möchten, setzen Sie die Variable
HISTSIZE
in~/.bashrc
.Ich füge auch
ignoredups
zuHISTCONTROL
(mitHISTCONTROL=$HISTCONTROL:ignoredup
). Dadurch werden doppelte aufeinanderfolgende Befehle nur einmal gespeichert.Schauen Sie sich an,
man 1 bash
was Sie sonst noch über die Geschichte tun können.quelle
~/bash_history
Datei, und nichtHISTSIZE
in ,~/.bashrc
aber ich habeHISTCONTROL=$HISTCONTROL${HISTCONTROL+,}ignoredups
undHISTCONTROL=ignoreboth
und es ist Ubuntu Server, wenn diese Angelegenheit..
in~/.bash_history
. Und dafürHISTSIZE
wird nur der Standardwert von 500 Einträgen verwendet.~/.bash_history
Datei auf meinem System. Ich habe immerls -a
nachgesehen.$HISTFILE
Variablen gespeichert , sodassecho $HISTFILE
Sie wissen, wo Sie suchen müssen.echo $HISTFILE
gibt mir/home/sanoj/.bash_history
- seltsam. Vielleicht ist es aus Sicherheitsgründen nicht aktiviert?Der Bash-Verlauf wird normalerweise geladen, wenn die Shell ausgeführt wird, und wird gespeichert, wenn sie normal beendet wird. Sie können dies verwenden
history -a
undhistory -n
überschreiben, jedoch nicht automatisch, es sei denn, Sie missbrauchen$PROMPT_COMMAND
oder ähnliches.quelle
Sanoj, das sollte wirklich "einfach funktionieren"; Ich glaube nicht, dass Sie etwas Besonderes tun müssen, um dies zu ermöglichen. Es hört sich so an, als würde etwas den normalen Ablauf der Ereignisse stören.
Ich würde in / etc / profile, / etc / bashrc (oder vielleicht /etc/bash.bashrc nach einigen Quellen), ~ / .bash_profile, ~ / .bashrc, ~ / .bash_login, ~ / .bash_logout nachsehen wenn es irgendetwas gibt, das den Verlauf beeinflussen könnte (möglicherweise
grep -i hist
in jeder der oben genannten Dateien).... Insbesondere frage ich mich, ob Sie etwas in ~ / .bash_logout haben, das die Datei entfernt.
Ist es alternativ möglich, dass etwas die
$HOME
Variable überschreibt ?quelle