Provided by: manpages-es-extra_0.8a-19_all bug

NOMBRE

       file - determina el tipo de ficheros

SINOPSIS

       file [ -vbczL ] [ -f nombrefichero ] [ -m ficheromágico ] fichero ...

DESCRIPCIÓN

       Esta  página del Manual documenta la versión 3.26 de la orden file .  File comprueba cada argumento en un
       intento de clasificarlo.  Hay tres conjuntos de pruebas, efectuadas en este orden: pruebas de sistemas de
       ficheros, pruebas de números mágicos, y pruebas de lenguajes.  La primera prueba que tenga éxito hace que
       se muestre el tipo del fichero.

       El tipo mostrado contendrá usualmente una de las palabras text  (texto:  el  fichero  contiene  solamente
       caracteres  ASCII  y  probablemente  es seguro leerlo en una terminal ASCII ), executable (ejecutable: el
       fichero contiene el resultado de la compilación de un programa  en  una  forma  comprensible  para  algún
       núcleo  UNIX),  o data (datos), que significa cualquier otra cosa (los datos son normalmente `binarios' o
       no imprimibles). Las excepciones son los formatos  de  ficheros  bien  conocidos  (volcados  de  memoria,
       archivos   de   tar)   que   se   sabe  que  contienen  datos  binarios.   Cuando  modifique  el  fichero
       /usr/share/misc/magic o el  propio  programa,  conserve  estas  palabras  reservadas.   Muchos  programas
       dependen  de  que  file muestre todos los ficheros legibles de un directorio con la palabra ``text''.  No
       haga como hicieron en la versión de Berkeley, que cambiaron ``shell commands text''  (texto  con  órdenes
       del shell) a ``shell script'' (guión del shell).

       Las  pruebas  de  sistemas  de  ficheros se basan en un examen de la devolución de una llamada al sistema
       stat(2).  El programa comprueba si el fichero está vacío, o si  es  alguna  clase  de  fichero  especial.
       Cualquier  tipo  de  fichero apropiado al sistema donde se esté (enchufes, enlaces simbólicos, o tuberías
       con nombre (FIFOs) en aquellos sistemas que las implementen) se intuye si está definido en el fichero  de
       cabecera del sistema sys/stat.h.

       Las  pruebas de números mágicos se emplean para comprobar ficheros con datos dispuestos en formatos fijos
       particulares.  El ejemplo canónico de esto es un fichero ejecutable binario (programa  compilado)  a.out,
       cuyo  formato  se  describe  en  a.out.h  y posiblemente en exec.h en el directorio normal de ficheros de
       cabecera.  Estos ficheros tienen un `número  mágico'  guardado  en  una  posición  particular  cerca  del
       principio  del  fichero, que le dice al sistema operativo UNIX que el fichero es un binario ejecutable, y
       de qué tipo de entre unos cuantos. El concepto de `número mágico' se ha aplicado por extensión a ficheros
       de datos.  Cualquier fichero con algún identificador  invariante  en  una  posición  fija  y  cercana  al
       principio  en el fichero puede normalmente describirse de esta forma. La información de estos ficheros se
       lee del `fichero mágico' /usr/share/misc/magic.

       Si un argumento resulta ser un fichero ASCII, file intenta adivinar el lenguaje en el que  está  escrito.
       Las  pruebas  de lenguaje buscan cadenas de caracteres particulares (cf.  names.h) que pueden aparecer en
       cualquier lugar dentro de los primeros bloques de un fichero.  Por ejemplo, la palabra clave  .br  indica
       que  el  fichero  es  con  mucha  probabilidad un fichero de entrada de troff(1), mientras que la palabra
       struct puede indicar un programa en C.  Estas pruebas son menos confiables que  las  de  los  dos  grupos
       anteriores,  de forma que se realizan en último lugar.  Las rutinas de pruebas de lenguajes también hacen
       algunas otras comprobaciones (como buscar archivos de tar(1)) y determinan si el mensaje para un  fichero
       desconocido debe ser `ascii text' (texto ASCII) o `data' (datos).

OPCIONES

       -v      Muestra la versión del programa y acaba.

       -m lista
               Especifica una lista alternativa de ficheros que contienen números mágicos. Ésta puede constar de
               un solo fichero, o de una lista de ficheros separados por signos de dos puntos.

       -z      Intenta mirar dentro de ficheros comprimidos.

       -b      No precede las líneas de salida con los nombres de los ficheros (modo breve).

       -c      Produce  un listado de comprobación de la forma analizada del fichero mágico. Normalmente esto se
               emplea en conjunción con -m para depurar un nuevo fichero mágico antes de instalarlo.

       -f nombrefichero
               Lee los nombres de los ficheros a examinar desde nombrefichero (uno por línea) antes de la  lista
               de  argumentos.   O  bien  nombrefichero  o  bien  por lo menos un argumento que sea un nombre de
               fichero, debe estar presente; para comprobar la entrada estándar, emplee `-' como un argumento de
               nombre de fichero.

       -L      Esta opción hace que se sigan los enlaces simbólicos, como la opción del mismo  nombre  de  ls(1)
               (en sistemas que admitan enlaces simbólicos).

FICHEROS

       /usr/share/misc/magic - lista predeterminada de números mágicos

ENTORNO

       La  variable  de  entorno MAGIC se puede emplear para establecer los ficheros predeterminados con números
       mágicos.

VÉASE TAMBIÉN

       magic(4) - descripción del formato del fichero mágico.
       strings(1), od(1), hexdump(1) - herramientas para examinar ficheros que no son de texto.

CONFORMANCIA CON ESTÁNDARES

       Se cree que este programa excede en comportamiento al descrito por SVID  en  FILE(CMD),  tanto  como  uno
       pueda deducir del vago lenguaje contenido en dicho documento.  Su comportamiento es mayormente compatible
       con  el programa de System V del mismo nombre. Esta versión sabe de más números mágicos, sin embargo, por
       lo que producirá una salida diferente (si bien más acertada) en muchos casos.

       La diferencia más significante entre esta versión y la de System V es que esta  versión  trata  cualquier
       espacio  en  blanco  como  un  delimitador,  de  forma  que los espacios en cadenas de patrones deben ser
       protegidos. Por ejemplo,
       >10  string    language impress    (imPRESS data)
       en un fichero mágico existente tendría que cambiarse a
       >10  string    language\ impress   (imPRESS data)
       Además, en esta versión, si una cadena patrón contiene una barra inclinada invertida, debe ser protegida.
       Por ejemplo
       0    string         \begindata     Andrew Toolkit document
       en un fichero mágico existente tendría que cambiarse a
       0    string         \\begindata    Andrew Toolkit document

       SunOS en distribuciones 3.2 y siguientes, de Sun Microsystems, incluye una orden file(1) derivada  de  la
       de  System  V,  pero  con  algunas  extensiones.  Mi versión difiere de la de Sun sólo en pequeñas cosas.
       Incluye la extensión del operador `&', empleado como, por ejemplo,
       >16  long&0x7fffffff     >0        not stripped

DIRECTORIO MÁGICO

       Las entradas del fichero mágico han sido tomadas de varias  fuentes,  principalmente  de  USENET,  y  han
       contribuido  varios autores.  Christos Zoulas (su dirección está más abajo) recogerá entradas adicionales
       o corregidas del fichero mágico.  Se distribuirá periódicamente una consolidación  de  las  entradas  del
       fichero mágico.

       El  orden  de  las  entradas en el fichero mágico es significativo.  Dependiendo del sistema que esté Ud.
       usando, el orden en el que estén puestas juntas puede ser incorrecto.  Si su vieja orden file  emplea  un
       fichero  mágico,  mantenga  el  viejo  fichero mágico por ahí para comparación (por ejemplo, renómbrelo a
       /usr/local/share/magic.orig).

HISTORIA

       Ha habido una orden file en cada UNIX desde al menos la Versión 6 de Investigación  (estando  fechada  la
       página  del  Manual  en  Enero  de  1975).   La  versión  de  System  V  introdujo  un  cambio importante
       significativo: la lista externa de tipos con números mágicos.  Esto ralentizaba algo el programa pero  lo
       hacía mucho más flexible.

       Este  programa,  basado  en  la  versión  de System V, ha sido escrito por Ian Darwin sin mirar el código
       fuente de nadie.

       John Gilmore revisó extensamente el código, haciéndolo mejor  que  la  primera  versión.   Geoff  Collyer
       encontró  algunas cosas inadecuadas y proporcionó algunas entradas del fichero mágico.  Desde entonces el
       programa ha ido evolucionando continuamente.

AUTORES

       Escrito por Ian F. Darwin, dirección UUCP {utzoo  |  ihnp4}!darwin!ian,  dirección  Internet  ian@sq.com,
       dirección postal: P.O. Box 603, Station F, Toronto, Ontario, CANADÁ M4Y 2L8.

       Alterado  por  Rob McMahon, cudcv@warwick.ac.uk, en 1989, para extender el operador `&' de un simple `x&y
       != 0' a `x&y op z'.

       Alterado por Guy Harris, guy@netapp.com, en 1993, para:

              poner el operador `&' ``al viejo estilo'' de nuevo como estaba, porque 1) el cambio de Rob McMahon
              rompió con el estilo de uso anterior, 2) el operador al ``nuevo estilo'' `&' de  SunOS,  que  esta
              versión  de  file  también  admite,  ya maneja también `x&y op z', y 3) el cambio de Rob no estaba
              documentado en ningún caso;

              añadir múltiples niveles de `>';

              añadir las palabras clave ``beshort'', ``leshort'', etc., para buscar números en el fichero en  un
              orden de bytes específico, en vez de en el orden de bytes nativo del proceso que esté ejecutando a
              file.

       Cambios por Ian Darwin y varios autores incluyendo a Christos Zoulas (christos@astron.com), 1990-1997.

ADVERTENCIA LEGAL

       Derechos de copia © Ian F. Darwin, Toronto, Canadá, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993.

       Este  software  no  está  sujeto  y  no  puede  hacerse estarlo a cualquier licencia de la Cía. AT&T, Sun
       Microsystems Inc., Digital Equipment Co. Inc. (Compaq),  Lotus  Development  Inc.,  los  Regentes  de  la
       Universidad de California, el Consorcio X ni MIT, ni la FSF (Fundación del Software Libre).

       Este software no está sujeto a ninguna restricción de exportación del Departamento de Comercio de EE.UU.,
       y puede exportarse a cualquier país o planeta.

       Se  permite  a  cualquiera usar este software para cualquier propósito en cualquier sistema computador, y
       alterarlo y redistribuirlo libremente, sujeto a las siguientes restricciones:

       1. El autor no es responsable de las consecuencias del uso de este  software,  sin  importar  cuán  malas
       fueren, incluso si sobrevienen a causa de defectos en él.

       2.  El  origen  de  este  software  no debe ser malinterpretado o alterado, bien sea explícitamente o por
       omisión. Puesto que son pocos los usuarios que alguna vez leen los fuentes, los créditos  deben  aparecer
       en la documentación.

       3. Las versiones alteradas deben marcarse explícitamente como tales, y no pueden hacerse aparecer como si
       fueran  el  software  original.   Puesto  que son pocos los usuarios que alguna vez leen los fuentes, los
       créditos deben aparecer en la documentación.

       4. Esta nota no puede ser quitada ni alterada (espero que sí pueda ser traducida, N. del T. :-).

       Unos pocos ficheros de soporte (getopt, strtok) distribuidos con este paquete  son  de  Henry  Spencer  y
       están sujetos a los mismos términos que los de arriba.

       Unos pocos ficheros simples de soporte (strtol, strchr) distribuidos con este paquete están en el dominio
       público; así quedan marcados.

       Los  ficheros  tar.h  e  is_tar.c fueron escritos por John Gilmore a partir de su programa tar de dominio
       público, y no están cubiertos por las restricciones de antes.

FALLOS

       Debe haber una forma mejor de automatizar la construcción del fichero  Magic  a  partir  de  todo  lo  de
       Magdir. ¿Cuál será?  Aún mejor, el fichero mágico debería compilarse a forma binaria (digamos, ndbm(3) o,
       mejor  todavía,  cadenas  ASCII  de longitud fija para su empleo en entornos de red heterogéneos) para un
       arranque más rápido. Entonces el programa se ejecutaría tan rápido como el de  la  Versión  7  del  mismo
       nombre, con la flexibilidad de la versión System V.

       File  emplea  algunos algoritmos que favorecen la rapidez sobre el acierto, de modo que puede equivocarse
       al adivinar los contenidos de ficheros ASCII.

       El soporte para ficheros ASCII (sobre todo para lenguajes de programación) es simplista,  ineficiente,  y
       requiere recompilación para actualizarse.

       Debería haber una cláusula ``else'' para seguir una serie de líneas de continuación.

       El  fichero  mágico y las palabras clave deberían admitir expresiones regulares.  Su empleo del TAB ASCII
       como un delimitador de campo es feo y hace difícil editar los ficheros, pero es inamovible.

       Podría ser interesante permitir letras mayúsculas en las palabras clave; por  ejemplo,  órdenes  troff(1)
       frente a macros de páginas man.  El soporte de expresiones regulares haría esto más fácil.

       Al  programa no le gusta FORTRAN.  Debería ser capaz de figurarse si el fichero es un programa en FORTRAN
       viendo algunas palabras reservadas que aparezcan sangradas al principio  de  la  línea.   El  soporte  de
       expresiones regulares haría esto más fácil.

       La  lista  de  palabras  clave  de  ascmagic probablemente deba pertenecer al fichero Magic.  Esto podría
       hacerse usando alguna palabra clave como `*' para el valor de desplazamiento.

       Otra mejora sería ordenar el fichero mágico de modo que podamos simplemente ejecutar  todas  las  pruebas
       para  el  primer  byte,  primera  palabra,  primera  palabra  larga, etc., una vez que la hayamos cogido.
       Protestar de conflictos en las entradas del fichero mágico. ¿Construir una regla para  que  las  entradas
       mágicas  se  ordenen  basadas en el desplazamiento dentro del fichero en vez de en la posición dentro del
       fichero mágico?

       El programa podría proporcionar una forma de dar una estimación de  ``cuán  buena''  es  una  estimación.
       Acabamos  quitando adivinaciones (p.ej. ``From '' como los 5 primeros caracteres de un fichero) porque no
       eran tan buenas como otras tentativas (p. ej. ``Newsgroups:'' frente a "Return-Path:"). Pero aún, si  las
       otras no fueran buenas, debería ser posible utilizar la primera adivinación.

       Este programa es más lento que algunas órdenes file comerciales.

       Esta página del Manual, y particularmente esta sección, es demasiado larga.

DISPONIBILIDAD

       Se  puede  obtener  la  última  versión  original  del autor mediante FTP anónimo en ftp.astron.com en el
       archivo /pub/file/file-X.YY.tar.gz.

                                         Con © pero se puede distribuir                                  FILE(1)