Programar el comando ls -l en C
maxence57590
Mensajes publicados
4
Estado
Miembro
-
maxence57590 Mensajes publicados 4 Estado Miembro -
maxence57590 Mensajes publicados 4 Estado Miembro -
Hola,
En el marco de un proyecto, me gustaría mostrar los diferentes tipos de archivos en un directorio (ejecutable, texto, etc...).
Puedo mostrar los archivos con "opendir" pero no dejo de buscar y no encuentro nada sobre cómo mostrar los tipos de archivos... Si alguien tiene una idea que proponer, gracias de antemano.
En el marco de un proyecto, me gustaría mostrar los diferentes tipos de archivos en un directorio (ejecutable, texto, etc...).
Puedo mostrar los archivos con "opendir" pero no dejo de buscar y no encuentro nada sobre cómo mostrar los tipos de archivos... Si alguien tiene una idea que proponer, gracias de antemano.
4 respuestas
Un archivo regular es muy diferente de un enlace simbólico, de un tubo nombrado o de una entrada de dispositivo (carácter, bloque).
<ital>struct dirent {
ino_t d_ino; /* número de inodo */
off_t d_off; /* no es un desplazamiento; ver NOTAS */
unsigned short d_reclen; /* longitud de este registro */
unsigned char d_type; /* tipo de archivo; no es soportado
por todos los tipos de sistemas de archivos */
char d_name[256]; /* nombre de archivo */
}</itall>
La entrada d_type contiene el tipo de entrada.
Ver
Para determinar los tipos de archivos, consulta libmagic
--
Gates te dio ^W te vendió las ventanas.
GNU nos dio toda la casa. (Alexandrino)
<ital>struct dirent {
ino_t d_ino; /* número de inodo */
off_t d_off; /* no es un desplazamiento; ver NOTAS */
unsigned short d_reclen; /* longitud de este registro */
unsigned char d_type; /* tipo de archivo; no es soportado
por todos los tipos de sistemas de archivos */
char d_name[256]; /* nombre de archivo */
}</itall>
La entrada d_type contiene el tipo de entrada.
Ver
man 3 readdir
Para determinar los tipos de archivos, consulta libmagic
--
Gates te dio ^W te vendió las ventanas.
GNU nos dio toda la casa. (Alexandrino)
maxence57590
Mensajes publicados
4
Estado
Miembro
¡Un gran GRACIAS, realmente me ayuda, siento que no estoy lejos de la meta deseada!
Hola,
El "tipo de un archivo" no existe. Todos los archivos son una serie de bytes, no hay diferencia.
Según el sistema operativo, puedes tener nociones de extensiones o derechos de ejecución que te permiten añadir información adicional. Pero nada que se pueda generalizar.
--
La confianza no excluye el control.
El "tipo de un archivo" no existe. Todos los archivos son una serie de bytes, no hay diferencia.
Según el sistema operativo, puedes tener nociones de extensiones o derechos de ejecución que te permiten añadir información adicional. Pero nada que se pueda generalizar.
--
La confianza no excluye el control.
Las extensiones solo tienen sentido en Windows.
Si hablas de "ls -l", probablemente estés en GNU/Linux. Así que olvida esta historia de extensión.
ls -l no muestra el tipo de archivo. Solo indicará si se trata de un directorio o no... Sin embargo, también mostrará los permisos del archivo (lectura, escritura, etc.).
¿Es realmente ls -l lo que deseas reproducir?
--
Google es tu amigo
Si hablas de "ls -l", probablemente estés en GNU/Linux. Así que olvida esta historia de extensión.
ls -l no muestra el tipo de archivo. Solo indicará si se trata de un directorio o no... Sin embargo, también mostrará los permisos del archivo (lectura, escritura, etc.).
¿Es realmente ls -l lo que deseas reproducir?
--
Google es tu amigo