
este file El comando examina el contenido real de un archivo e informa su tipo, independientemente del nombre o la extensión. una persona nombrada photo.jpg Puede ser PNG, archivo binario ELF o texto sin formato. este file El comando te muestra lo que realmente es.
Cómo utilizar la directiva de archivos en Linux
La sintaxis es:
bashfile [OPTIONS] [FILE...]
Pase la ruta para obtener el tipo:
bashfile /etc/hostname# /etc/hostname: ASCII text
usar -b (Breve) Sólo tipo de impresión, no nombre de archivo:
bashfile -b /etc/hostname# ASCII text
Pase varios archivos para obtener resultados para cada archivo:
bashfile /bin/bash /etc/hostname /path/to/image.png
Los comodines de Shell también funcionan:
bashfile /etc/*.conf
Para obtener una lista larga de rutas, colóquelas en un archivo de texto (una por línea) y use -f:
bashfile -f filelist.txt
Esto evita las restricciones de los parámetros del shell y facilita la creación de secuencias de comandos por lotes.
Tipos MIME, archivos comprimidos y enlaces simbólicos
Obtenga tipo MIME y codificación de caracteres y -i:
bashfile -i /var/www/html/index.html# /var/www/html/index.html: text/html; charset=us-ascii
Los scripts que necesitan bifurcarse según el tipo de archivo se benefician de -i — Analizar cadenas MIME es mucho más confiable que analizar texto libre legible por humanos (como «documento HTML, texto ASCII»).
Ver dentro del archivo comprimido y -z:
bashfile -z archive.gz# archive.gz: ASCII text (gzip compressed data, was "notes.txt", ...)
No -z, file Sólo informe gzip compressed data – No se puede saber lo que hay dentro. y -zque informa el contenedor de compresión y el tipo de contenido real.
Procesamiento de enlaces simbólicos: Por defecto, file Informar del propio enlace simbólico. usar -L Síguelo y comprueba el objetivo:
bashfile /usr/bin/python3# /usr/bin/python3: symbolic link to python3.12file -L /usr/bin/python3# /usr/bin/python3: ELF 64-bit LSB pie executable, x86-64, ...
Cómo funciona el comando Archivo: la base de datos mágica
file No mires la expansión. Prueba el contenido del archivo con un conjunto de reglas llamado Magic Database, almacenado en /usr/share/misc/magic (o /usr/share/file/magic en algunos sistemas). Cada regla describe el patrón de bytes en un desplazamiento específico y la etiqueta de tipo que se informará cuando coincida.
Las reglas se prueban secuencialmente. Primer juego ganado: he aquí por qué file Reconoce correctamente los binarios ELF incluso si alguien los nombra .txt.
Para ver las reglas coincidentes, agregue --debug:
bashfile --debug /etc/hostname
Para formatos binarios personalizados, proporcione su propio archivo mágico -m:
bashfile -m /path/to/custom.magic target-file
Si el archivo comienza con shebang (#!/bin/bash, #!/usr/bin/env python3), file Repórtalo como un guión e incluye el nombre del intérprete en la descripción.
usar file filename Para una verificación rápida de tipos, -i Para salida MIME en scripts, -z Verifique el contenido comprimido y -L Cuando se utilizan enlaces simbólicos. Si tiene algún problema, deje un comentario a continuación.









