Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Sujet de rattrapage - Systeme Unix - Tech1
- Duree : 12h (c'est super largement suffisant)
- Ressources : les man (la aussi c'est largement suffisant)
- Nom : my_find
- Rendu : ~/../rendu/psu/my_find/
- ******************************
- Projet my_find
- Vous devez creer un binaire qui va rechercher dans une arborescence selon
- certains criteres, et qui execute une commande donnee pour chaque element trouve.
- Synopsis : my_find <repertoire> <option de recherche> <parametre de l'option> <commande> [<parametre de la commande> [..]]
- les options de recherche :
- -mt_prev : la date de modification du fichier est anterieure a la date passee en parametre YYYY-MM-dd/HH:mm:ss
- -mt_post : la date de modification du fichier est posterieure a la date passee en parametre YYYY-MM-dd/HH:mm:ss
- -at_prev : comme -mt_prev mais avec la date d'acces
- -at_post : comme -mt_post mais avec la date d'acces
- -ct_prev : comme -mt_prev mais avec la date de changement de status
- -ct_post : comme -mt_post mais avec la date de changement de status
- -inum : l'inode est egal au parametre
- -name : le nom est identique au parametre
- -iname : le nom est identique au parametre sans tenir compte de la casse
- -subname : le nom contient le parametre
- -isubname : le nom contient le parametre sans tenir compte de la casse
- -size : la taille en octet est egale au parametre
- -size_inf : la taille en octet est inferieure au parametre
- -size_sup : la taille en octet est superieure au parametre
- -type : le type du fichier est celui passe en parametre, a savoir :
- b block special
- c character special
- d directory
- f regular file
- l symbolic link
- p FIFO
- s socket
- -perm : les permissions du fichier correspondent au parametre
- Pour chaque element trouve, la commande est executee, le nom de l'element avec son
- chemin incluant le repertoire de recherche est passe en dernier parametre.
- Pour les options de recherche traitant de la date, de la taille et des permissions, c'est
- le fichier pointe par les liens qui est utilise. Sinon, c'est le lien lui-meme.
- Only execve, pas les autres, pas system, ni scandir, ni les fts
- Les entrees . et .. ne matchent jamais les options de recherche.
- ex:
- $> my_find . -type d echo
- affiche les noms des repertoires et sous repertoires de ./ .
- $> ./my_find / -name ls ls -la
- -r-xr-xr-x 1 root bin 236112 Aug 16 2010 /bin/ls
- $>
- (boulon@endor 58)./my_find . -mt_post 2011-06-21/00:42:00 ls -la
- -rwxr-xr-x 1 boulon users 15336 Jun 27 11:46 ./my_find
- -rw-r--r-- 1 boulon users 7080 Jun 27 11:30 ./main.c
- -rw-r--r-- 1 boulon users 2286 Jun 27 11:47 ./my_find.txt
- -rw-r--r-- 1 boulon users 7081 Jun 27 11:20 ./main.c~
- -rw-r--r-- 1 boulon users 2220 Jun 27 11:23 ./my_find.txt~
- (boulon@endor 59)./my_find . -mt_prev 2011-06-21/00:42:00 ls -la
- -rw------- 1 boulon users 587944 Jun 20 19:13 ./my_find.core
- (boulon@endor 60)
- (boulon@endor 63)./my_find . -perm 0755 ls -la
- -rwxr-xr-x 1 boulon users 15336 Jun 27 11:46 ./my_find
- (boulon@endor 64)
- Pas la peine de stresser, l'integralite du code peut etre tapee en moins de 2h.
- Commencez par faire un seul repertoire, c'est comme un ls mais au lieu d'afficher
- les infos sur les fichiers, vous executez la commmande passee en parametre de my_find.
- Ensuite occuppez vous des sous-repertoires.
- ****************************
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement