#include<stdio.h>
#include<time.h>
#include<sys/stat.h>
#include<unistd.h>
#include<sys/types.h>
#include<errno.h>
#include<stdlib.h>
int main(int argc, char **argv)
{
struct stat buf;
if(argc!=2)
{
perror("Usage:my_stat <filename>\n");
exit(1);
}
if( stat(argv[1], &buf) ==-1 )
{
perror("stat:");
exit(1);
}
printf("设备 %d\n",buf.st_dev);//文件设备编号
printf("文件大小: %d I/O: %d\n",buf.st_size,buf.st_blksize);//文件大小,以字节计算
printf("块个数: %d Inode : %d\n",buf.st_blocks,buf.st_ino);//占有文件区块个数,一般一个区块大小通常512字节
printf("mode: %o 硬链接: %d\n",buf.st_mode,buf.st_nlink);//文件类型与存取权限
printf("UID : %d GID: %d\n",buf.st_uid,buf.st_gid);//用户所有者的用户id
printf("最近访问: %s",ctime(&buf.st_atime));//文件最近一次被访问时间
printf("最近更改: %s",ctime(&buf.st_mtime));//最后一次被修改的时间
return 0;
}