Tal como el titulo lo dice en UNIX tenemos el comando what y en linux, si no me equivoco, "no tenemos una alternativa" a ese comando.
Básicamente el comando en UNIX se usa de la siguiente manera:
what binarioy la información que nos trae es la de los fuentes con los que se ha compilado el binario.
La particularidad que deben tener los fuentes tal como nos dice la pagina del man de unix (man what) es incluir dentro de el una linea como la siguiente:
char version_id[] = "@(#)identification information";Vemos un ejemplo, escribamos un pequeño programa en C (al que llamaremos a.c), con el siguiente contenido:
char version_id[] = "@(#)a.c v1.2";Ahora compilamos:
#include
main()
{
printf("Hola Mundo \n");
return 0;
}
gcc a.cY esto nos generara, un binario llamado a.out.
Como comente arriba no "disponemos" del comando what en LINUX, pero lo podemos emular de la siguiente manera:
strings a.out | grep '@(#)'y la salida del comando anterior, como se imaginan sera:
@(#)a.c v1.2Como ven, se puede incluir cualquier tipo de información que deseen...
Investigando un poco mas, encontré un fuente de what usado en BSD, que pueden bajar y compilar uds mismos desde aquí.
El único inconveniente que encontré al compilarlo es que no se encontraba la función
strlcpy, la cual se encuentra en la libbsd, -lbsd. Los usuarios de Debian y derivados pueden descargar sin mayor problema...
Bien, espero les sirva, se ven al rato!
No hay comentarios.:
Publicar un comentario