C中lstat fstat和stat的区别
Difference between lstat fstat and stat in C
我正在用 C 编写一份学校作业,以在文件系统中搜索目录、常规文件和符号链接。现在我使用 lstat
来获取有关项目的信息。
那么lstat
fstat
和stat
系统调用有什么区别?
谷歌搜索以下内容:lstat v fstat v stat
提供的第一个 link 是描述这些差异的手册页:http://manpages.ubuntu.com/manpages/hardy/man2/stat.2.html
页面上列出的是以下简单答案:
stat() 统计path指向的文件并填充buf。
lstat() 与 stat() 相同,只是如果路径是符号 link,则 link 本身是 stat-ed,而不是它引用的文件。
fstat() 与 stat() 相同,只是要统计的文件由文件描述符 fd 指定。
我也在搜索 stat vs lstat vs fstat
,虽然这个问题已经有了答案,但我希望看到它的格式如下:
lstat()
is identical to stat()
, except that if pathname is a symbolic
link, then it returns information about the link itself, not the file
that it refers to.
fstat()
is identical to stat()
, except that the file about which
information is to be retrieved is specified by a file descriptor
(instead of a file name).
相同点:它们都以文件名作为参数。
区别:每当文件名是符号 link 时,stat() returns 是有关与 link 关联的目标文件的属性或 inode 信息。而 lstat() return 只有 link.
的属性
请参阅 stat() 与 lstat() 的联机帮助页。
我正在用 C 编写一份学校作业,以在文件系统中搜索目录、常规文件和符号链接。现在我使用 lstat
来获取有关项目的信息。
那么lstat
fstat
和stat
系统调用有什么区别?
谷歌搜索以下内容:lstat v fstat v stat
提供的第一个 link 是描述这些差异的手册页:http://manpages.ubuntu.com/manpages/hardy/man2/stat.2.html
页面上列出的是以下简单答案: stat() 统计path指向的文件并填充buf。 lstat() 与 stat() 相同,只是如果路径是符号 link,则 link 本身是 stat-ed,而不是它引用的文件。 fstat() 与 stat() 相同,只是要统计的文件由文件描述符 fd 指定。
我也在搜索 stat vs lstat vs fstat
,虽然这个问题已经有了答案,但我希望看到它的格式如下:
lstat()
is identical tostat()
, except that if pathname is a symbolic link, then it returns information about the link itself, not the file that it refers to.
fstat()
is identical tostat()
, except that the file about which information is to be retrieved is specified by a file descriptor (instead of a file name).
相同点:它们都以文件名作为参数。
区别:每当文件名是符号 link 时,stat() returns 是有关与 link 关联的目标文件的属性或 inode 信息。而 lstat() return 只有 link.
的属性请参阅 stat() 与 lstat() 的联机帮助页。