Advertisement
Guest User

Untitled

a guest
May 19th, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.13 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <sys/stat.h>
  3. #include <sys/statvfs.h>
  4. #include <dirent.h>
  5. #include <stdlib.h> // exit
  6.  
  7. void rm_test_runStat(const char *name){
  8. struct stat fileStat;
  9. struct statvfs fileStatvfs;
  10. if(stat(name, &fileStat)!=0){
  11. perror(name);
  12. exit(1);
  13. };
  14. statvfs(name, &fileStatvfs);
  15. printf("Failas: %s\n", name);
  16. printf("Savininko ID: \t\t%i\n", fileStat.st_uid);
  17. printf("Failo dydis: \t\t%d bytes\n", fileStat.st_size);
  18. printf("Link skaicius: \t\t%d\n", fileStat.st_nlink);
  19. printf("Failo inode: \t\t%d\n", fileStat.st_ino);
  20. printf("Failo bloku dydis: \t%d\n", fileStatvfs.f_bsize);
  21. printf("Laisvu bloku skaicius: \t%d\n", fileStatvfs.f_bfree);
  22. printf("Laisvi blokai neprivilegijuotiems naudotojams: %d\n", fileStatvfs.f_bavail);
  23. printf("i-node'ai: \t\t%d\n", fileStatvfs.f_files);
  24. printf("Failo sistemos ID: \t%lu\n", fileStatvfs.f_fsid);
  25. printf("Veliaveles: \t\t%d\n", fileStatvfs.f_flag);
  26. printf("Didziausias failo vardo ilgis: \t%d\n", fileStatvfs.f_namemax);
  27. printf("Leidimai: \t\t%lo\n", fileStat.st_mode & (S_IRWXU | S_IRWXG | S_IRWXO));
  28. printf("File Permissions: \t");
  29. if(S_ISDIR(fileStat.st_mode))
  30. printf("d");
  31. else if(S_ISREG(fileStat.st_mode))
  32. printf("f");
  33. else
  34. printf("-");
  35. //printf( (S_ISDIR(fileStat.st_mode)) ? "d" : "-");
  36. //printf( (S_ISREG(fileStat.st_mode)) ? "f" : "-");
  37. printf( (fileStat.st_mode & S_IRUSR) ? "r" : "-");
  38. printf( (fileStat.st_mode & S_IWUSR) ? "w" : "-");
  39. printf( (fileStat.st_mode & S_IXUSR) ? "x" : "-");
  40. printf( (fileStat.st_mode & S_IRGRP) ? "r" : "-");
  41. printf( (fileStat.st_mode & S_IWGRP) ? "w" : "-");
  42. printf( (fileStat.st_mode & S_IXGRP) ? "x" : "-");
  43. printf( (fileStat.st_mode & S_IROTH) ? "r" : "-");
  44. printf( (fileStat.st_mode & S_IWOTH) ? "w" : "-");
  45. printf( (fileStat.st_mode & S_IXOTH) ? "x" : "-");
  46. printf("\n\n");
  47.  
  48. /* TIKRINIMAS VEIKIMO PERMISSIONS */
  49. printf( "%lo\n", fileStat.st_mode & S_IRUSR);
  50. printf( "%lo\n",fileStat.st_mode & S_IWUSR);
  51. printf( "%lo\n",fileStat.st_mode & S_IXUSR);
  52. }
  53.  
  54. int main( int argc, char * argv[] ){
  55. rm_test_runStat(argv[1]);
  56. return 0;
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement