Advertisement
Guest User

Untitled

a guest
Sep 20th, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.41 KB | None | 0 0
  1. Sujet de rattrapage - Systeme Unix - Tech1
  2.  
  3. Duree : 12h (c'est super largement suffisant)
  4. Ressources : les man (la aussi c'est largement suffisant)
  5.  
  6. Nom : my_find
  7. Rendu : ~/../rendu/psu/my_find/
  8.  
  9. ******************************
  10.  
  11. Projet my_find
  12.  
  13. Vous devez creer un binaire qui va rechercher dans une arborescence selon
  14. certains criteres, et qui execute une commande donnee pour chaque element trouve.
  15.  
  16. Synopsis : my_find <repertoire> <option de recherche> <parametre de l'option> <commande> [<parametre de la commande> [..]]
  17.  
  18. les options de recherche :
  19. -mt_prev : la date de modification du fichier est anterieure a la date passee en parametre YYYY-MM-dd/HH:mm:ss
  20. -mt_post : la date de modification du fichier est posterieure a la date passee en parametre YYYY-MM-dd/HH:mm:ss
  21. -at_prev : comme -mt_prev mais avec la date d'acces
  22. -at_post : comme -mt_post mais avec la date d'acces
  23. -ct_prev : comme -mt_prev mais avec la date de changement de status
  24. -ct_post : comme -mt_post mais avec la date de changement de status
  25. -inum : l'inode est egal au parametre
  26. -name : le nom est identique au parametre
  27. -iname : le nom est identique au parametre sans tenir compte de la casse
  28. -subname : le nom contient le parametre
  29. -isubname : le nom contient le parametre sans tenir compte de la casse
  30. -size : la taille en octet est egale au parametre
  31. -size_inf : la taille en octet est inferieure au parametre
  32. -size_sup : la taille en octet est superieure au parametre
  33. -type : le type du fichier est celui passe en parametre, a savoir :
  34. b block special
  35. c character special
  36. d directory
  37. f regular file
  38. l symbolic link
  39. p FIFO
  40. s socket
  41. -perm : les permissions du fichier correspondent au parametre
  42.  
  43.  
  44. Pour chaque element trouve, la commande est executee, le nom de l'element avec son
  45. chemin incluant le repertoire de recherche est passe en dernier parametre.
  46.  
  47. Pour les options de recherche traitant de la date, de la taille et des permissions, c'est
  48. le fichier pointe par les liens qui est utilise. Sinon, c'est le lien lui-meme.
  49.  
  50. Only execve, pas les autres, pas system, ni scandir, ni les fts
  51.  
  52. Les entrees . et .. ne matchent jamais les options de recherche.
  53.  
  54. ex:
  55. $> my_find . -type d echo
  56.  
  57. affiche les noms des repertoires et sous repertoires de ./ .
  58.  
  59.  
  60. $> ./my_find / -name ls ls -la
  61. -r-xr-xr-x 1 root bin 236112 Aug 16 2010 /bin/ls
  62. $>
  63.  
  64.  
  65. (boulon@endor 58)./my_find . -mt_post 2011-06-21/00:42:00 ls -la
  66. -rwxr-xr-x 1 boulon users 15336 Jun 27 11:46 ./my_find
  67. -rw-r--r-- 1 boulon users 7080 Jun 27 11:30 ./main.c
  68. -rw-r--r-- 1 boulon users 2286 Jun 27 11:47 ./my_find.txt
  69. -rw-r--r-- 1 boulon users 7081 Jun 27 11:20 ./main.c~
  70. -rw-r--r-- 1 boulon users 2220 Jun 27 11:23 ./my_find.txt~
  71. (boulon@endor 59)./my_find . -mt_prev 2011-06-21/00:42:00 ls -la
  72. -rw------- 1 boulon users 587944 Jun 20 19:13 ./my_find.core
  73. (boulon@endor 60)
  74.  
  75.  
  76. (boulon@endor 63)./my_find . -perm 0755 ls -la
  77. -rwxr-xr-x 1 boulon users 15336 Jun 27 11:46 ./my_find
  78. (boulon@endor 64)
  79.  
  80.  
  81.  
  82. Pas la peine de stresser, l'integralite du code peut etre tapee en moins de 2h.
  83. Commencez par faire un seul repertoire, c'est comme un ls mais au lieu d'afficher
  84. les infos sur les fichiers, vous executez la commmande passee en parametre de my_find.
  85. Ensuite occuppez vous des sous-repertoires.
  86.  
  87.  
  88. ****************************
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement