El comando de archivo viene con muchos sistemas Unix y tiene una base de datos de firmas que utiliza para identificar la estructura de un archivo desconocido. El comando también se puede usar contra un directorio para determinarlo como un directorio. La sintaxis del comando de archivo es muy fácil:
# file [file or directory]
Ejemplo:
# file /tmp /tmp: sticky, directory # file /tmp/adobegc.log /tmp/adobegc.log: ASCII text
También puede mostrar si el archivo está vacío, lo que también puede ser útil a veces para encontrar archivos vacíos. También toma expresiones regulares al proporcionar los nombres de archivos o directorios.
file prueba cada argumento en un intento de clasificarlo. Hay tres conjuntos de pruebas, realizadas en este orden:pruebas de sistema de archivos, pruebas mágicas y pruebas de idioma. La primera prueba que tiene éxito hace que se imprima el tipo de archivo.
El tipo impreso generalmente contendrá una de las palabras texto (el archivo contiene solo caracteres de impresión y algunos caracteres de control comunes y probablemente sea seguro leerlo en una terminal ASCII), ejecutable (el archivo contiene el resultado de compilar un programa en un formato comprensible para algún núcleo UNIX u otro), o datos que significan cualquier otra cosa (los datos suelen ser 'binarios' o no imprimibles).
Ejemplos de comandos de archivo
1. Para obtener el tipo de archivo:
# file file.txt
2. Para obtener el tipo de archivo en breve:
# file -b file.txt # file --brief file.txt
3. Para compilar un archivo de código C:
# file -C file.c # file --compile file.c
4. Para generar una impresión de verificación de la forma analizada del archivo mágico:
# file -c file.txt # file --checking-printout file.txt
5. Para excluir la prueba nombrada en testname:
# file -e text file.txt # file --exclude text file.txt
nombre de prueba | Descripción |
---|---|
tipo de aplicación | Tipo de aplicación EMX (solo en EMX). |
texto | Varios tipos de archivos de texto (esta prueba intentará adivinar la codificación del texto, independientemente |
codificación | Diferentes codificaciones de texto para pruebas de magia blanda. |
fichas | Busca tokens conocidos dentro de archivos de texto. |
cdf | Imprime los detalles de los archivos de documentos compuestos. |
comprimir | Comprueba y mira dentro de los archivos comprimidos. |
elfo | Imprime los detalles del archivo ELF. |
suave | Consulta archivos mágicos. |
alquitrán | Examina archivos tar. |
6. Para utilizar la cadena especificada como separador entre el nombre del archivo y el resultado del archivo devuelto:
# file -F " " file.txt # file --separator " " file.txt
7. Para leer los nombres de los archivos a examinar desde el archivo de nombres:
# file -f file.txt # file --files-from file.txt
8. Para hacer que no se sigan los enlaces simbólicos:
# file -h file.txt # file --no-dereference file.txt
9. Para hacer que el comando de archivo genere cadenas de tipo mime:
# file -i file.txt # file -mime file.txt
10. Como -i, pero imprime solo el elemento especificado:
# file --mime-type file.txt # file --mime-encoding file.txt
11. Para no detenerse en el primer partido, continuar:
# file -k file.txt # file --keep-going file.txt
12. La opción To hace que se sigan los enlaces simbólicos:
# file -L file.txt # file --dereference file.txt
13. Para especificar una lista alternativa de archivos y directorios que contengan magia:
# file -m magicfile file.txt # file --magic-file magicfile file.txt
14. Para no rellenar los nombres de archivo para que se alineen en la salida:
# file -N file.txt # file --no-pad file.txt
15. Para forzar el vaciado de stdout después de comprobar cada archivo:
# file -n file.txt # file --no-buffer file.txt
16. Para preservar el tiempo de acceso de los archivos:
# file -p file.txt # file --preserve-date file.txt
17. No traduzca caracteres no imprimibles a \ooo:
# file -r file.txt # file --raw file.txt
18. Para leer archivos especiales:
# file -s file.txt # file --special-files file.txt
19. Para imprimir la versión del programa y salir:
# file -v
20. Para intentar buscar dentro de los archivos comprimidos:
# file -z file.gz # file --uncompress file.gz
21. Para generar un carácter nulo 0 después del final del nombre del archivo:
# file -0 file.txt # file --print0 file.txt
22. Para obtener ayuda para el archivo:
# file --help