[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