GNU/Linux >> Tutoriales Linux >  >> Linux

Comando de archivo de Linux:cómo determinar el tipo de archivo en Linux

Introducción

El file de Linux El comando ayuda a determinar el tipo de archivo y sus datos. El comando no tiene en cuenta la extensión del archivo y, en su lugar, ejecuta una serie de pruebas para descubrir el tipo de datos del archivo.

En este tutorial, le mostraremos cómo el file funciona el comando y cómo usarlo.

Requisitos previos

  • Un sistema que ejecuta Linux.
  • Acceso a la ventana de terminal.

Sintaxis de comandos de archivo

El file El comando utiliza la siguiente sintaxis básica:

file [option] [file name]

En la sintaxis anterior, file name representa el nombre del archivo que desea probar. El file El comando realiza tres conjuntos de pruebas para intentar determinar el tipo de archivo, en este orden:

  • Pruebas del sistema de archivos realice una llamada al sistema stat(2) y verifique el resultado con el archivo de encabezado del sistema. De esta forma, el file El comando determina si el archivo es un tipo común para su sistema (como un archivo de texto, una imagen, un directorio, etc.).
  • Pruebas mágicas use una cadena corta de números almacenados cerca del comienzo del archivo ("número mágico") para probar si el archivo es un ejecutable binario y, de ser así, determinar su tipo. La información necesaria para realizar estas pruebas se almacena en /etc/magic o /usr/share/misc/magic de un archivo mágico compilado.
  • Pruebas de idioma use una etiqueta especial para determinar en qué lenguaje de programación está escrito un archivo ejecutable binario.

El resultado del comando proporciona una breve descripción del archivo y el tipo de datos. Por ejemplo, usando el file comando para probar un archivo de texto:

file example.txt

Opciones de comando de archivo

El file El comando utiliza las siguientes opciones:

Ejemplos de comandos de archivo

A continuación se muestran ejemplos de casos de uso comunes para el file comando.

Probar varios archivos

Para probar varios archivos simultáneamente, agregue los nombres de los archivos al final del file comando:

file [file name 1] [file name 2] … [file name n]

Por ejemplo, probar un directorio, un archivo de texto, una imagen y una página web:

file Example example.txt sample.png index.html

Probar todos los archivos en un directorio

Agregue un carácter comodín (* ) al file comando para probar todos los archivos y directorios en el directorio de trabajo actual:

file *

Agregue la ruta a un directorio al carácter comodín para probar el contenido de ese directorio:

file [path to directory]/*

Por ejemplo, para probar el contenido del Ejemplo directorio, use:

file Example/*

Archivos de prueba en un rango

El file El comando le permite probar un subconjunto de archivos en un directorio utilizando rangos de estilo Regex. Seleccione un rango colocando los valores entre paréntesis. Por ejemplo, probar archivos y directorios con nombres en el rango a-l:

file [a-l]*

Dado que los rangos de estilo Regex distinguen entre mayúsculas y minúsculas, el resultado del ejemplo anterior solo muestra los tipos de archivos que comienzan con minúsculas a-l. Agregar otro rango también le permite incluir caracteres en mayúsculas:

file [a-l]* [A-L]*

Archivos de prueba de una lista

El file El comando le permite usar un archivo de texto como una lista de archivos para probar. El archivo de texto solo debe contener un nombre de archivo por línea.

Usa el -f y agregue la ruta al archivo de lista a file comando:

file -f list.txt

Probar archivos especiales

El file El comando no siempre puede leer archivos especiales, como archivos del sistema:

file /dev/sda5

En el ejemplo anterior, la salida del comando de archivo muestra que /dev/sda5 es un archivo especial de bloque pero no ofrece detalles adicionales. Usando el -s La opción le permite probar completamente archivos especiales:

sudo file -s /dev/sda5

Probar archivos comprimidos

Usa el -z opción para probar completamente los archivos comprimidos, tratando de detectar su contenido:

file -z install.tar.gz

Prueba de la versión analizada del archivo

Usando el -c La opción muestra la impresión del cheque para la versión analizada del archivo:

file -c example.txt

Esta opción generalmente se usa con -m opción para depurar e instalar un nuevo archivo mágico.

Mostrar resultados breves

Usando el -b La opción muestra la versión breve de la salida. Esta versión de la salida solo muestra los tipos de archivos y omite los nombres de los archivos.

file -b Example example.txt sample.png index.html

Agregar separadores a la salida

Usando el -F La opción le permite definir un carácter que actúa como separador entre las secciones de nombre de archivo y tipo de archivo de la salida. Por ejemplo, agregue un signo más (+ ) como separador con:

file -F + Example example.txt sample.png index.html

Eliminar el relleno de nombre de archivo de la salida

Utilice el -N opción para eliminar el relleno entre las secciones de nombre de archivo y tipo de archivo de la salida:

file -N Example example.txt sample.png index.html

La salida resultante ya no está alineada verticalmente:


Linux
  1. Cómo quitar (eliminar) un archivo o directorio en Linux

  2. Cómo usar el comando md5sum en Linux

  3. Cómo guardar la salida del comando en un archivo en Linux

  4. Cómo usar el comando Tar en Linux

  5. ¿Cómo determinar el tipo de sistema de archivos de manera confiable en Linux?

Cómo usar un comando de archivo en Linux

Cómo abrir un archivo en Linux

Cómo mezclar líneas en un archivo en Linux

Cómo determinar el tipo MIME de un archivo en Linux

Cómo usar el comando lsof en Linux

Cómo usar el comando shred de Linux

    Opción Descripción
    --apple Cambia la salida del comando a la utilizada por versiones anteriores de MacOS.
    -b, --brief Cambia la salida del comando a modo breve.
    -C, --compile Crea un archivo de salida que contiene una versión analizada previamente del archivo o directorio mágico.
    -c, --checking-printout Comprueba la impresión de la versión analizada del archivo mágico.
    -d Imprime información de depuración interna en el formato de error estándar.
    -E En caso de error del sistema de archivos, emite un mensaje de error y sale.
    -e, --exclude Excluye una prueba de la lista de pruebas realizadas en un archivo.
    --exclude-quiet Excluye las pruebas que el file el comando no sabe sobre.
    --extension Imprime una lista de extensiones válidas para el tipo de archivo.
    -F, --separator Utiliza la cadena proporcionada como separador entre el nombre y el tipo de archivo.
    -f, --files-from Utiliza un archivo de texto proporcionado como una lista de archivos para probar. La lista debe contener solo un nombre de archivo por línea.
    -h, --no-deference Desactiva el seguimiento de enlaces simbólicos.
    -i, --mime Cambia la salida del comando a una cadena de tipo MIME.
    --mime-type, --mime-encoding Cambia la salida del comando a una cadena de tipo MIME y solo muestra el elemento especificado (tipo o codificación).
    -k, --keep-going Mantiene la prueba después de que los primeros resultados coincidan.
    -l, --list Muestra una lista de patrones coincidentes en orden descendente de fuerza.
    -L, --deference Habilita el seguimiento de enlaces simbólicos.
    -m, --magic-file Utiliza un archivo mágico alternativo proporcionado por el usuario.
    -N, --no-pad No rellena los nombres de los archivos para alinearlos con la salida.
    -n, --no-buffer Descarga la salida después de revisar cada archivo.
    -p, --preserve-date Intenta conservar la última vez que se accedió al archivo para que se parezca al file el comando no lo probó.
    -P, --parameter Establece varios parámetros, como bytes máximos o recursividad, conteo y límite de longitud.
    -r, --raw Desactiva la traducción de caracteres no imprimibles.
    -s, --special-files Habilita la lectura de archivos especiales.
    -S, --no-sandbox Deshabilita el sandboxing en los sistemas que lo admiten.
    -v, --version Muestra la versión del file comando.
    -z, --uncompress Comprueba archivos comprimidos.
    -Z, --uncompress-noreport Comprueba los archivos comprimidos y solo muestra el tipo de archivo sin la compresión.
    -0, --print0 Muestra un carácter nulo después del final del nombre del archivo.
    --help Muestra el mensaje de ayuda.