Write a C program to find file properties such as inode number, number of hard link, File permissions, File size, File access and modification time and so on of a given file using stat() system call.
#include<stdio.h>
#include<unistd.h>
#include<dirent.h>
#include<string.h>
#include<time.h>
#include<stdlib.h>
#include<sys/stat.h>
#include<sys/types.h>
int main(int argc,char* argv[])
{
struct stat info;
if(argc!=2)
{
printf("Enter a filename");
scanf("%s",argv[1]);
}
if(stat(argv[1],&info)==-1)
{
printf("stat error/n");
exit(0);
}
printf("inode number=%d\n",info.st_ino);
printf("size = %d",(long)info.st_size);
printf("last file access = %s\n",ctime(&info.st_atime));
printf("notification time = %s\n",ctime(&info.st_mtime));
printf("No of Hardlink = %d\n",info.st_nlink);
printf("File Permissions : \n");
printf((info.st_mode && S_IRUSR)?"r":"-");
printf((info.st_mode && S_IWUSR)?"w":"-");
printf((info.st_mode && S_IXUSR)?"x":"-");
return 0;
}