Cómo averiguar los tipos de archivos en Linux


La forma más fácil de determinar el tipo de un archivo en cualquier sistema operativo suele ser mirar su extensión (por ejemplo .xml, .sh, .c, .tar, etc.). ¿Qué pasa si un archivo no tiene extensión? ¿Cómo se puede determinar su tipo?

Linux tiene una utilidad útil llamada archivo que realiza algunas pruebas en un archivo específico e imprime el tipo de archivo una vez que la prueba es exitosa. En este breve artículo, explicaremos ejemplos útiles de comandos de archivos para determinar un tipo de archivo en Linux.

Nota: Para tener todas las opciones descritas en este artículo, debe ejecutar la versión de archivo 5.25 (disponible en los repositorios de Ubuntu) o más reciente. Los repositorios de CentOS tienen una versión anterior del comando de archivo (file-5.11) que carece de algunas opciones.

Puede ejecutar el siguiente comando para verificar la versión de la utilidad de archivo como se muestra.

$ file -v

file-5.33
magic file from /etc/magic:/usr/share/misc/magic

Ejemplos de comandos de archivos de Linux

1. El comando de archivo más simple es el siguiente, en el que solo proporciona un archivo cuyo tipo desea averiguar.

$ file etc

2. También puede pasar los nombres de los archivos a examinar desde un archivo (uno por línea), que puede especificar usando el indicador -f como se muestra.

$ file -f files.list

3. Para que el archivo funcione más rápido, puede excluir una prueba (las pruebas válidas incluyen apptype, ascii, encoding, tokens, cdf, compress, elf, soft y tar) de la lista de pruebas realizadas para determinar el tipo de archivo, use el código < > -e marca como se muestra.

$ file -e ascii -e compress -e elf etc

4. La opción -s hace que el archivo también lea archivos especiales de bloques o caracteres, por ejemplo.

$ file -s /dev/sda

/dev/sda: DOS/MBR boot sector, extended partition table (last)

5. Agregar las opciones -z indica al archivo que busque dentro de los archivos comprimidos.

$ file -z backup

6. Si desea reportar información sobre el contenido solamente, no la compresión, de un archivo comprimido, use el indicador -Z .

$ file -Z backup

7. Puede decirle al comando file que genere cadenas de tipo mime en lugar de las más tradicionales legibles por humanos, usando la opción -i .

$ file -i -s /dev/sda

/dev/sda: application/octet-stream; charset=binary

8. Además, puede obtener una lista separada por barras de extensiones válidas para el tipo de archivo encontrado agregando el modificador –extension.

$ file --extension /dev/sda

Para obtener más información y opciones de uso, consulte la página de manual del comando de archivo.

$ man file

¡Eso es todo! El comando file es una utilidad útil de Linux para determinar el tipo de archivo sin extensión. En este artículo, compartimos algunos ejemplos útiles de comandos de archivos. Si tiene alguna pregunta o pensamiento que compartir, utilice el formulario de comentarios a continuación para comunicarse con nosotros.