Réimplémentation en C de la commande Unix ls, avec gestion des options -l, -a, -R et tri des entrées.
Telecharger & tester
- WebAssembly: Testable directement dans le navigateur ci-dessus.
make && ./my_ls [-l] [-a] [-R] [-r] [-t] [-d] [chemins...]
myls est un projet Epitech (Tek1) de la piscine systeme qui consiste a recoder en C la commande Unix ls avec la gestion des options -a, -l, -R, -d, -r et -t.
Les options peuvent etre passees dans n'importe quel ordre et combinees ou non (-l -t, -lRt, -lt -R -t doivent produire le meme resultat), et le programme doit egalement accepter une liste de fichiers et/ou de dossiers en parametres, avec un affichage recursif via -R qui reproduit l'entete de chaque repertoire comme le ferait la commande originale.
Le format detaille (-l) reconstruit les droits, le proprietaire, le groupe, la taille, la date de modification et le nom du fichier a partir des appels systeme bas niveau, sans passer par aucune fonction de formatage de la libc au-dela de la liste autorisee.
Seuls les appels systeme et fonctions opendir, readdir, closedir, stat, lstat, write, getpwuid, getgrgid, time, ctime, readlink, va_start/va_arg/va_end, malloc, free, perror, strerror et exit sont autorises, ce qui oblige a reimplementer soi-meme le formatage colonne et la logique d'affichage.
En bonus, la mise en colonnes de la sortie sans l'option -l, le tri et la coloration des entrees, ainsi que la gestion d'options supplementaires comme -u, -F, -g ou -f sont proposes.
Projet suivant
