Tutoriales

Comando de archivo en Linux: identificar tipos de archivos sin extensiones de archivo

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:

Publicaciones relacionadas
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.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba