[linux-l] Gibt es 2 verschiedene Linux-Befehlspuffer?

Mike Dornberger Mike.Dornberger at gmx.de
Di Jan 6 11:54:25 CET 2009


Hi,

On Mon, Jan 05, 2009 at 08:52:07PM +0100, Detlef Lechner wrote:
> Ich habe in der Zwischenzeit
> absichtlich den Rechner neu gestartet. Trotzdem hat sich an der Anzeige
> des gespeicherten Befehls 'lynx ~' nichts geändert. Die "aktuelle
> bash-Instanz" muß auf Daten auf der Festplatte zurückgegriffen haben, so
> daß sie das Datum richtig wiedergegeben hat. In welcher Datei war das
> Datum und die Zeit dieses Befehls gespeichert? Offenbar nicht in der
> Datei ~/.bash_history. Denn in ~/.bash_history ist das Datum nicht
> gespeichert. Das habe ich mir mittels Gedit angesehen.

wenn mir nur einfiele, wo ich den Krams gelesen hatte... Da stand auch
etwas, daß der Timestamp der Befehle, die aus der .bash_history (bzw.
$HISTFILE) gelesen wurden, auf eben diese Zeit des Lesens gesetzt werden.
Schau mal `history | less ' nach, ob da viele Befehle (sollten also alle am
Anfang sein) den selben Zeitstempel haben.

> Gibt es also zwei verschiedene Befehlspuffer?
> man bash verwendet die Begriffe 'history list' und 'command history'.
> Sind das Synonyma?

Nicht wirklich, so wie ich das sehe. 'history list' bezieht sich (meist[*])
auf die Auflistung in .bash_history/$HISTFILE, 'command history' auf das,
was in der aktuellen Bash-Session gespeichert ist. Vgl. auch (man bash aus
Debian Sarge):

| The command number and the history number are  usually  different:  the
| history  number of a command is its position in the history list, which
| may include commands  restored  from  the  history  file  (see  HISTORY
| below),  while  the  command  number is the position in the sequence of
| commands executed during the current shell session.

  [*] Die man page der Bash aus Sarge handhabt diese Unterscheidung an
      manchen Stellen mMn. etwas lax. So wird beispielsweise auch von
      'history list' im Abschnitt über I-search des readline-Modules
      gesprochen. Aber genau genommen müßte man an der Stelle wohl noch
      einen neuen Term einführen, was aber unübersichtlich wird
      (Unterscheidung zwischen history list, command list und session-new
      commands list in etwa). Die Beschreibung des `history' Buildins
      spricht sogar einmal von 'command history list'. NB: In der man page
      unter cygwin und Debian Etch habe ich jetzt nicht noch einmal
      nachgelesen.

Viele Grüße,
 Mike Dornberger



Mehr Informationen über die Mailingliste linux-l