[linux-l] Kommandozeilenhistorie

Vorlesehase vorlesehase at gmx.de
Sa Jun 2 11:18:15 CEST 2012


Wenn ich mir die history-Datenbank anschauen (~/.bash_history), dann sind  
da nur die eingegebenen Befehle eingetragen.
Es gibt keine absoluten oder zusätzlichen Pfadangaben, an Hand derer man  
erkennen kann, aus welchem Verzeichnis heraus der Befehl gestartet wurde.

Wenn da also steht: "mkdir Geburtstagsfeier", dann kann ich aus der  
history heraus nicht erkennen, von wo aus ich den Befehl abgesetzt habe,  
der kann, mal abgesehen von den Rechten des Users, theoretisch überall  
ausgeführt worden sein. Die history-Datenbank speichert das einfach nicht!  
Es müsste entweder eine 2. Spalte geben, wo das aktuelle "working  
directory" (pwd) gespeichert wird, bevor der Befehl ausgeführt wird oder  
die Einträge müssten absolute Pfadangaben sein, was dann einer  
wiederholenden Nutzung in anderen Verzeichnissen entgegensteht, bzw.  
history müsste so clever sein, dass es die leading-(führenden-)Pfadangaben  
ignoriert.

Natürlich kann man die history analysieren und mittels vorhergehender  
"cd"-Befehle erahnen, in welche Verzeichnisse man vorher gewechselt ist.
Diese Analysefunktion bietet history meines Wissens aber nicht. Demzufolge  
ist es also nicht möglich dies mit history allein herauszufinden.
Dazu müsstest du deine eigene Analysefunktion basteln. Wenn du Sie fertig  
hast, dann kannst du ja den history-Programmierern sagen, sie sollen die  
Funktion offiziell in den Code einbinden.
Oder du schreibst dir history so um, dass es eine 2. Spalte mit den  
Arbeitspfaden anlegt, bzw. bei absoluten Pfaden die führenden Angaben  
ignorieren, was den Entwicklern ebenfalls zu melden wäre. :)

Hoffe ich habe das richtig verstanden und mich verständlich ausgedrückt.
Wenn nicht, so oft lesen, bis es verstanden wurde.

(Ja, ich darf so frech sein, weil heute MEIN Geburtstag ist :D )

Schönes Weekend noch!

MfG Christian

- - -


> Hallo an alle,
>
> ist es möglich, beim Durchsuchen der Befehlschronik auf der Kommandzeile
> via "history" nach Befehl zu filtern, die aus einem bestimmten
> Verzeichnis heraus aufgerufen wurden?
> Also so etwas wie:
>
> # cd /VERZEICHNIS
> # BEFEHL 1
> # BEFEHL 2 && BEFEHL 3
> # cd -
> # BEFEHL 4
> # BEFEHL 5-n....
>
> # history | grep [Befehl die im Verzeichnis 'VERZEICHNIS' aufgerufen  
> wurden]
>
> Ich hoffe, es ist klar geworden, was ich erreichen will.
>
> Vielen Dank für Eure Hilfe,
>
> Pascal



Mehr Informationen über die Mailingliste linux-l