大家好,又见面了,我是你们的朋友全栈君。
在 Linux 系统中,可以通过 stat 命令来查看文件的属性。实际上,这个命令内部是通过调用 stat() 函数来获取文件属性的。stat 函数是 Linux 中的一个系统调用,用于获取文件的相关信息。(可以通过“man 2 stat”命令查看详细信息):
代码语言:C 代码运行次数:0 运行 复制
#include <sys/stat.h> #include <unistd.h> int stat(const char *pathname, struct stat *buf);
pathname:用于指定需要查看属性的文件路径。
buf:是一个指向 struct stat 类型结构体的指针。调用 stat 函数时,需要传入一个 struct stat 变量的指针,获取到的文件属性信息将被记录在这个结构体中。
返回值:成功时返回 0;失败时返回 -1,并设置错误码。
示例代码:获取文件的 inode 节点编号以及文件大小,并将它们打印出来。
Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。它虽然不是Linux系统核心的一部分,但它调用了系统核心的大部分功能来执行程序、建立文件并以并行的方式协调各个程序的运行。因此,对于用户来说,shell是最重要的实用程序,深入了解和熟练掌握shell的特性极其使用方法,是用好Linux系统
24
代码语言:C 代码运行次数:0 运行 复制
#include <sys/stat.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
int main(void){
struct stat file_stat;
int ret;
/* 获取文件属性 */
ret = stat("./test_file", &file_stat);
if (-1 == ret)
{
perror("stat error");
exit(-1);
}
/* 打印文件大小和 inode 编号 */
printf("file size: %ld bytes\n"
"inode number: %ld\n",
file_stat.st_size,
file_stat.st_ino);
exit(0);
}测试验证:
从图中可以得知,此文件的大小为 4060 个字节,inode 编号为 656929。
接下来编译测试程序,并运行:

发布者:全栈程序员栈长,转载请注明出处:https://www.php.cn/link/daccd87747bf3626e603e5750195c368 原文链接:https://www.php.cn/link/c8377ad2a50fb65de28b11cfc628d75c
以上就是linux的stat命令_fstat函数的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号