Imagen de destrangis
0 puntos

Buenas, tengo un problema, necesito hacer una "traduccion" de la orden ls -l, para que entendais lo que pretendo, os dejo un ejemplo:

# ls - l // aquí el usuario introduce la orden ls -l y se muestra lo siguiente por pantalla

-ew-r--r-- 1 root root 2828 2006.05.12 13.00 agt.ini

Ahora lo que tengo que hacer es esa traducción, y esto debe quedar, así:

"El fichero agt.ini creadro el 12, de Mayo, de 2006 a las 13.00 horas pertenece al usuario root del grupo root ocupa 2828 bytes. Los permisos son de lectura y escritura para el usuario, de lectura para el grupo y de lectura para el resto."

Lo que me gustaria saber es como se llaman y donde se ubican las variables que componen la orden ls -l para poderlas llamar desde un programa en C. He leido en un libro de Linux, que ls.c esta en /urs/src/cmd/, pero no encuentro ese directorio en Ubuntu 6, no existe.

Ruego por favor si alguien sabe donde y como puedo ver el código fuente de ls orden LS, que me ayuda, o si tiene alguna idea sobre como abordar este problema.

Muchas gracias

Imagen de Anónimo
+1
0
-1

Para acceder a esa informacion de fichero estan las funciones stat, lstat y fstat.

Para usarlas tienes que incluir en tu programa "sys/stat.h" y "unistd.h". Te devuelven toda la informacion en una variable de tipo "struct stat".

Para saber cuales son los campos que necesitas usar escribe en un terminal "man lstat".

Espero que esto te ayude.

+1
0
-1