GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Ist es möglich herauszufinden, welches Programm oder Skript eine bestimmte Datei erstellt hat?

In meinem Home-Verzeichnis sind plötzlich drei Dateien mit den Namen „client_state.xml“, „lockfile“ und „time_stats_log“ aufgetaucht. Die letzten beiden sind leer. Ich frage mich, wie sie dorthin gekommen sind. Es ist nicht das erste Mal, dass es passiert ist, aber das letzte Mal ist Wochen her; Ich habe die Dateien gelöscht und nichts ist kaputt gegangen oder hat sich beschwert. Ich konnte nicht daran denken, was ich zu der Zeit tat, die von stat $filename gemeldet wurde . Kann ich irgendwie herausfinden, woher sie kommen?

Gibt es alternativ eine Möglichkeit, das Home-Verzeichnis (aber nicht die Unterverzeichnisse) auf die Erstellung von Dateien zu überwachen?

Akzeptierte Antwort:

Ich glaube nicht, dass es eine Möglichkeit gibt, festzustellen, welches Programm erstellt wurde eine Datei.

Für Ihre alternative Frage:
Sie können Achten Sie jedoch darauf, dass die Datei neu erstellt wird, indem Sie inotify verwenden . inotifywait ist eine Befehlszeilenschnittstelle für inotify Teilsystem; Sie können es anweisen, nach create zu suchen Ereignisse in Ihrem Home-Verzeichnis:

$ (sleep 5; touch ~/making-a-test-file) &
[1] 22526

$ inotifywait -e create ~/
Setting up watches.
Watches established.
/home/mmrozek/ CREATE making-a-test-file

Sie möchten es wahrscheinlich mit -m ausführen (Monitor), der ihm mitteilt, nicht zu beenden, nachdem er das erste Ereignis gesehen hat


Linux
  1. Welcher Prozess hat dieses X11-Fenster erstellt?

  2. Shell-Skript zum Verschieben der ältesten Dateien?

  3. Skript, um festzustellen, ob Dateien Bilder sind?

  4. Was sind Sparse-Dateien in Linux?

  5. Wie finde ich heraus, welcher Prozess eine Datei in Linux gesperrt hat?

Älteste Datei finden und löschen, wenn mehr als X Dateien in einem Verzeichnis in Linux vorhanden sind

Finden Sie verlorene Dateien mit Scalpel

So finden Sie Dateien basierend auf dem Zeitstempel in Linux

Was ist der Unix-Befehl, um herauszufinden, welche ausführbare Datei einem bestimmten Befehl entspricht?

Gibt es ein Git-ähnliches Dateisystem?

So finden Sie heraus, ob Dateien in einem Ordner vorhanden sind, und beenden ihn entsprechend (in KSH)