Comandos LinuxExplicados en español
/
Ficha04 / 104
Categoría
Archivos
Ejemplos
5
Ver también
stat · ls · head · cat

file

file (archivo)

Detecta qué tipo de archivo es por su contenido, no por su extensión.

Determina el tipo real de un archivo analizando sus bytes (magic numbers), no solo la extensión (.txt, .jpg). Lo usas cuando no sabes qué es un archivo descargado, cuando una extensión está equivocada o para ver si un archivo es ejecutable, texto, imagen, binario, etc.

Sintaxisfile [opciones] ARCHIVO...
§ 1

Despiece

5 ejemplos
Detectar el tipo de un archivo

Detectar el tipo de un archivo

2 piezas
Lámina01 / 05
Comandofile script.sh
Piezas2
Escala1:1
N.ºPiezaTipoQué hace
1fileComandoEl comando para detectar tipos de archivo.
2script.shArgumentoEl archivo a analizar.
Resultado

Muestra algo como 'script.sh: Bourne-Again shell script, ASCII text executable'.

Ver solo el tipo (sin nombre)

3 piezas
Lámina02 / 05
Comandofile -b foto.jpg
Piezas3
Escala1:1
N.ºPiezaTipoQué hace
1fileComandoEl comando para detectar tipos de archivo.
2-bOpciónModo breve: solo muestra el tipo.
3foto.jpgArgumentoEl archivo a analizar.
Resultado

Muestra solo 'JPEG image data, JFIF standard 1.01' sin el nombre del archivo.

Ver tipo MIME

3 piezas
Lámina03 / 05
Comandofile -i documento.txt
Piezas3
Escala1:1
N.ºPiezaTipoQué hace
1fileComandoEl comando para detectar tipos de archivo.
2-iOpciónMuestra el tipo MIME.
3documento.txtArgumentoEl archivo a analizar.
Resultado

Muestra 'documento.txt: text/plain; charset=us-ascii' o con el charset correspondiente.

Analizar archivo comprimido

3 piezas
Lámina04 / 05
Comandofile -z datos.tar.gz
Piezas3
Escala1:1
N.ºPiezaTipoQué hace
1fileComandoEl comando para detectar tipos de archivo.
2-zOpciónDescomprime temporalmente para ver el contenido interno.
3datos.tar.gzArgumentoArchivo comprimido a inspeccionar.
Resultado

Muestra que es gzip comprimido y también indica qué hay adentro (por ejemplo 'POSIX tar archive').

Analizar varios archivos

3 piezas
Lámina05 / 05
Comandofile *.txt *.jpg
Piezas3
Escala1:1
N.ºPiezaTipoQué hace
1fileComandoEl comando para detectar tipos de archivo.
2*.txtArgumentoTodos los archivos .txt en la carpeta actual.
3*.jpgArgumentoTodos los archivos .jpg en la carpeta actual.
Resultado

Analiza cada archivo y muestra su tipo correspondiente, uno por línea.

§ 2

Opciones

Las que sí vas a usar
OpciónQué hace
-b--briefNo muestra el nombre del archivo, solo el tipo. Útil para scripts.
-z--uncompressPrueba a descomprimir archivos comprimidos para ver qué hay adentro.
-i--mimeMuestra el tipo MIME (text/plain, image/png, etc.) en vez de la descripción en texto.
-L--dereferenceSigue enlaces simbólicos y analiza el archivo destino.
-k--keep-goingNo se detiene al primer error; sigue analizando el resto.
§ 3

Fallas comunes

FallaRemedio
Creer que la extensión define el tipo.file analiza el contenido. Un archivo .txt puede ser un ejecutable renombrado; file lo detectará correctamente.
Archivo vacío.Un archivo de 0 bytes suele aparecer como 'empty' (vacío). Eso es normal.
No tener permisos de lectura.Si no puedes leer el archivo, file puede no analizarlo. Necesitarás permisos (o sudo solo si es estrictamente necesario).
Archivo binario muy grande.file lee solo los primeros bytes para identificarlo, así que aunque el archivo sea gigante, es rápido y seguro.
§ 4

Preguntas frecuentes

¿Para qué sirve el comando file?
Sirve para saber qué tipo de archivo es realmente, analizando su contenido, no su extensión.
¿Por qué usar file en lugar de ver la extensión?
Porque la extensión puede estar cambiada. file detecta si es texto, binario, imagen, script, PDF, etc., con base en su contenido.
¿Qué muestra file -i?
Muestra el tipo MIME del archivo, como text/plain, application/pdf o image/png. Es útil para web o scripts.
¿Qué hace file -z?
Intenta descomprimir archivos comprimidos (.gz, .bz2) temporalmente para ver qué tipo de archivo contienen adentro.
¿Cómo veo solo el tipo sin el nombre del archivo?
Con file -b archivo. Así solo obtienes la descripción del tipo, ideal para usar en scripts.
§ 5

Ver también