Provided by: manpages-es-extra_0.8a-17_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)