|
使用 unlink 可以移除一个文件。
unlink 系统调用移除掉文件的目录入口以及目录里的链接数(link count)减 1 。如果 unlink 成功就返回0,出错就返回 -1。对于这个调用,你必须在一个目录里,这个文件的目录入口处有写和执行权限。
用法:#include <unistd.h>
int unlink(const char *path);
int link(const char *path1, const char *path2);
int symlink(const char *path1, const char *path2);
如果连接数已经为 0 并且没有其它进程打开文件,这个文件就会被删除。事实上,目录入口(directory entry)总是会立即被移除的,但文件空间直到最后一个进程关闭它后才被还原。rm 程序使用这个调用。额外的链接表示一个文件多个可以改变的名字,通常由 ln 程序来创建。你可以通过 link 系统调用创建一个文件的新的链接。
link 系统调用创建一个已经存在文件的一个新的链接(参数path1表示这个文件).新的目录入口由 path2 指定。你可以通过使用 symlink 系统调用来创建一个符号链接。注意,一个文件的符号链接不会增加“文件的参考数”(file's reference count),也不会像普通链接(硬链接)那样阻止文件有效的被删除。 |
|