Ist es möglich, eine Datei aus einem geöffneten Dateideskriptor neu zu erstellen?

Nun, diese Frage mag seltsam erscheinen und ist es wahrscheinlich, aber um einen Zusammenhang zu geben, habe ich gelesendiese um i-node kennenzulernen, in denen der Autor ein interessantes Beispiel gibt:

{
  FILE *fp;

  fp = fopen("some.hidden.file","w");
  unlink("some.hidden.file"); /* deletes the filename part */

  /* some.hidden.file no longer has a filename and is truly hidden */
  fprintf(fp,"This data won't be found\n"); /* access the data part */
  /*etc*/
  fclose(fp); /* finally release the data part */
}

Dies ermöglicht das Erstellen einer "versteckten" temporären Datei.

Meine Frage ist hier: Gibt es eine Möglichkeit, einen Dateinamen neu zu erstellen, der auf die Inode verweist, die von geöffnet wirdfp nach dem der anruf anunlink()?

Haftungsausschluss: Ich beabsichtige nicht, dies in echtem Code zu tun. Ich lerne nur (wieder) über i-Knoten und frage mich, ob dies möglich ist.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage