现在,这个问题可能看起来很奇怪,而且可能是,但是为了给出一些背景信息,我一直在阅读this来了解i节点,其中作者给出了一个有趣的例子:
{
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 */
}
这允许创建“隐藏”的临时文件。
我的问题是:有没有办法重新创建一个文件名,该文件名指向 免责声明:我不打算在实际代码中执行此操作;我只是(重新)了解i节点,并想知道这是否可行。 fp
在unlink()
调用之后保持打开的inode? p>
答案 0 :(得分:2)
我担心这是不可能的,因为link
系统调用需要有效的文件名(即现有链接)而不是UNIX文件描述符。 the Single UNIX Specification中没有flink
个功能。