The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

gfile (1)
  • >> gfile (1) ( Solaris man: Команды и прикладные программы пользовательского уровня )
  • 
    NAME
         file - determine file type
    
    SYNOPSIS
         file [ -bciknsvzL ] [ -f namefile ] [ -m magicfiles  ]  file
         ...
    
    DESCRIPTION
         This manual page documents version 3.31 of the file command.
    
         File tests each argument  in  an  attempt  to  classify  it.
         There  are  three  sets  of  tests, performed in this order:
         filesystem tests, magic number tests,  and  language  tests.
         The  first  test  that  succeeds  causes the file type to be
         printed.
    
         The type printed will usually contain one of the words  text
         (the  file  contains  only  ASCII characters and is probably
         safe to read on an ASCII  terminal),  executable  (the  file
         contains  the result of compiling a program in a form under-
         standable to some UNIX kernel or another), or  data  meaning
         anything  else  (data is usually `binary' or non-printable).
         Exceptions are well-known  file  formats  (core  files,  tar
         archives) that are known to contain binary data.  When modi-
         fying the file /opt/sfw/share/magic or the  program  itself,
         preserve  these keywords . People depend on knowing that all
         the readable files in a directory  have  the  word  ``text''
         printed.  Don't do as Berkeley did - change ``shell commands
         text'' to ``shell script''.
    
         The filesystem tests are based on examining the return  from
         a  stat(2)  system  call.   The program checks to see if the
         file is empty, or if it's some sort of  special  file.   Any
         known  file  types appropriate to the system you are running
         on (sockets, symbolic links, or named pipes (FIFOs) on those
         systems  that  implement  them)  are  intuited  if  they are
         defined in the system header file sys/stat.h.
    
         The magic number tests are used to check for files with data
         in  particular fixed formats.  The canonical example of this
         is a binary executable (compiled program) a.out file,  whose
         format  is  defined  in  a.out.h  and possibly exec.h in the
         standard include  directory.   These  files  have  a  `magic
         number'  stored  in a particular place near the beginning of
         the file that tells the UNIX operating system that the  file
         is  a binary executable, and which of several types thereof.
         The concept of `magic number' has been applied by  extension
         to data files.  Any file with some invariant identifier at a
         small fixed offset into the file can usually be described in
         this  way.   The information in these files is read from the
         magic file /opt/sfw/share/magic.
    
         If an argument appears to be an ASCII file, file attempts to
         guess  its language.  The language tests look for particular
         strings (cf names.h) that can appear anywhere in  the  first
         few  blocks  of  a file.  For example, the keyword .br indi-
         cates that the file is most likely a  troff(1)  input  file,
         just  as  the  keyword  struct indicates a C program.  These
         tests are less reliable than the  previous  two  groups,  so
         they  are  performed  last.  The language test routines also
         test for some  miscellany  (such  as  tar(1)  archives)  and
         determine  whether  an  unknown  file  should be labelled as
         `ascii text' or `data'.
    
    OPTIONS
         -b      Do not prepend  filenames  to  output  lines  (brief
                 mode).
    
         -c      Cause a checking printout of the parsed form of  the
                 magic  file.   This  is  usually used in conjunction
                 with -m to debug a new magic file before  installing
                 it.
    
         -f namefile
                 Read the names of the  files  to  be  examined  from
                 namefile  (one  per  line) before the argument list.
                 Either namefile or at least  one  filename  argument
                 must  be  present;  to  test the standard input, use
                 ``-'' as a filename argument.
    
         -i      Causes the file command to output mime type  strings
                 rather  than  the  more  traditional  human readable
                 ones. Thus it may  say  "text/plain,  ASCII"  rather
                 than "ASCII text". In order for this option to work,
                 file changes the way it handles files recognised  by
                 the command it's self (such as many of the text file
                 types, directories etc), and makes use of an  alter-
                 native "magic" file.  (See "FILES" section, below).
    
         -k      Don't stop at the first match, keep going.
    
         -m list Specify an alternate list of files containing  magic
                 numbers.   This  can  be  a single file, or a colon-
                 separated list of files.
    
         -n      Force stdout to be flushed after check a file.  This
                 is  only  useful  if checking a list of files. It is
                 intended to be used by programs want filetype output
                 from a pipe.
    
         -v      Print the version of the program and exit.
    
         -z      Try to look inside compressed files.
    
         -L      option causes symlinks to be followed, as the  like-
                 named  option  in  ls(1).   (on systems that support
                 symbolic links).
    
         -s      Normally, file only attempts to read  and  determine
                 the type of argument files which stat(2) reports are
                 ordinary files.   This  prevents  problems,  because
                 reading  special  files  may  have  peculiar  conse-
                 quences.  Specifying the -s option  causes  file  to
                 also  read argument files which are block or charac-
                 ter special files.  This is useful  for  determining
                 the  filesystem types of the data in raw disk parti-
                 tions, which are block special files.   This  option
                 also  causes  file  to  disregard  the  file size as
                 reported by stat(2) since on some systems it reports
                 a zero size for raw disk partitions.
    
    FILES
         /opt/sfw/share/magic - default list of magic numbers
    
         /opt/sfw/share/magic.mime - default list of  magic  numbers,
         used to output mime types when the -i option is specified.
    
    
    ENVIRONMENT
         The environment variable  MAGIC  can  be  used  to  set  the
         default magic number files.
    
    SEE ALSO
         magic(4) - description of magic file format.
         strings(1), od(1), hexdump(1) -  tools  for  examining  non-
         textfiles.
    
    STANDARDS CONFORMANCE
         This program is believed to exceed the  System  V  Interface
         Definition  of  FILE(CMD), as near as one can determine from
         the vague  language  contained  therein.  Its  behaviour  is
         mostly  compatible  with  the  System  V program of the same
         name.  This version knows more magic, however,  so  it  will
         produce  different  (albeit  more  accurate)  output in many
         cases.
    
         The one significant difference between this version and Sys-
         tem  V is that this version treats any white space as a del-
         imiter, so that spaces in pattern strings must  be  escaped.
         For example,
         >10  string    language impress    (imPRESS data)
         in an existing magic file would have to be changed to
         >10  string    language\ impress   (imPRESS data)
         In addition, in this version, if a pattern string contains a
         backslash, it must be escaped.  For example
         0    string         \begindata     Andrew Toolkit document
         in an existing magic file would have to be changed to
         0    string         \\begindata    Andrew Toolkit document
    
         SunOS releases 3.2 and later from Sun Microsystems include a
         file(1) command derived from the System V one, but with some
         extensions.  My version differs from  Sun's  only  in  minor
         ways.   It  includes the extension of the `&' operator, used
         as, for example,
         >16  long&0x7fffffff     >0        not stripped
    
    MAGIC DIRECTORY
         The magic file entries  have  been  collected  from  various
         sources,  mainly USENET, and contributed by various authors.
         Christos Zoulas (address below) will collect  additional  or
         corrected magic file entries.  A consolidation of magic file
         entries will be distributed periodically.
    
         The order of entries  in  the  magic  file  is  significant.
         Depending  on what system you are using, the order that they
         are put together may be incorrect.  If your old file command
         uses  a  magic file, keep the old magic file around for com-
         parison purposes (rename it to /opt/sfw/share/magic.orig).
    
    EXAMPLES
         $ file file.c file /dev/hda
         file.c:   C program text
         file:     ELF 32-bit LSB executable, Intel 80386, version 1,
                   dynamically linked, not stripped
         /dev/hda: block special
    
         $ file -s /dev/hda{,1,2,3,4,5,6,7,8,9,10}
         /dev/hda:   x86 boot sector
         /dev/hda1:  Linux/i386 ext2 filesystem
         /dev/hda2:  x86 boot sector
         /dev/hda3:  x86 boot sector, extended partition table
         /dev/hda4:  Linux/i386 ext2 filesystem
         /dev/hda5:  Linux/i386 swap file
         /dev/hda6:  Linux/i386 swap file
         /dev/hda7:  Linux/i386 swap file
         /dev/hda8:  Linux/i386 swap file
         /dev/hda9:  empty
         /dev/hda10: empty
    
         $ file -i file.c file /dev/hda
         file.c:      text/x-c
         file:        application/x-executable, dynamically linked (uses shared libs), not stripped
         /dev/hda:    application/x-not-regular-file
    
    
    HISTORY
         There has been a file command in every UNIX since  at  least
         Research  Version  6  (man  page  dated January, 1975).  The
         System V version introduced one  significant  major  change:
         the  external  list  of magic number types.  This slowed the
         program down slightly but made it a lot more flexible.
    
         This program, based on the System V version, was written  by
         Ian Darwin without looking at anybody else's source code.
    
         John Gilmore revised the code extensively, making it  better
         than  the first version.  Geoff Collyer found several inade-
         quacies and provided some magic file entries.   The  program
         has undergone continued evolution since.
    
    AUTHOR
         Written  by  Ian  F.   Darwin,   UUCP   address   {utzoo   |
         ihnp4}!darwin!ian,   Internet   address  ian@sq.com,  postal
         address: P.O. Box 603, Station F, Toronto,  Ontario,  CANADA
         M4Y 2L8.
    
         Altered by Rob McMahon, cudcv@warwick.ac.uk, 1989, to extend
         the `&' operator from simple `x&y != 0' to `x&y op z'.
    
         Altered by Guy Harris, guy@netapp.com, 1993, to:
    
              put the ``old-style'' `&' operator back the way it was,
              because  1)  Rob  McMahon's  change  broke the previous
              style of usage, 2) the SunOS ``new-style''  `&'  opera-
              tor,  which this version of file supports, also handles
              `x&y op z', and 3) Rob's change  wasn't  documented  in
              any case;
    
              put in multiple levels of `>';
    
              put in ``beshort'', ``leshort'', etc. keywords to  look
              at numbers in the file in a specific byte order, rather
              than in the native byte order of  the  process  running
              file.
    
         Changes by Ian Darwin and various authors including Christos
         Zoulas (christos@astron.com), 1990-1999.
    
         Altered by Chris Lowth, chris@lowth.com, 2000:   Handle  the
         "-i"  option to output mime type strings and using an alter-
         native magic file and internal logic.
    
    LEGAL NOTICE
         Copyright (c) Ian F. Darwin, Toronto,  Canada,  1986,  1987,
         1988, 1989, 1990, 1991, 1992, 1993.
    
         This software is not subject to and may not be made  subject
         to  any license of the American Telephone and Telegraph Com-
         pany, Sun Microsystems Inc., Digital Equipment  Inc.,  Lotus
         Development   Inc.,   the   Regents  of  the  University  of
         California, The X Consortium or MIT, or  The  Free  Software
         Foundation.
    
         This software is not subject to any export provision of  the
         United States Department of Commerce, and may be exported to
         any country or planet.
    
         Permission is granted to anyone to use this software for any
         purpose  on  any computer system, and to alter it and redis-
         tribute it freely, subject to the following restrictions:
    
         1. The author is not responsible for the consequences of use
         of  this  software,  no matter how awful, even if they arise
         from flaws in it.
    
         2. The origin of this software must not  be  misrepresented,
         either  by  explicit  claim or by omission.  Since few users
         ever read sources, credits must appear in the documentation.
    
         3. Altered versions must be plainly marked as such, and must
         not be misrepresented as being the original software.  Since
         few users ever read sources,  credits  must  appear  in  the
         documentation.
    
         4. This notice may not be removed or altered.
    
         A few support files (getopt, strtok) distributed  with  this
         package  are  by  Henry  Spencer and are subject to the same
         terms as above.
    
         A few simple support files (strtol, strchr) distributed with
         this package are in the public domain; they are so marked.
    
         The files tar.h and is_tar.c were written  by  John  Gilmore
         from  his  public-domain tar program, and are not covered by
         the above restrictions.
    
    BUGS
         There must be a better way to automate the  construction  of
         the  Magic  file  from  all  the glop in Magdir. What is it?
         Better yet, the magic file should be  compiled  into  binary
         (say, ndbm(3) or, better yet, fixed-length ASCII strings for
         use  in  heterogenous  network  environments)   for   faster
         startup.   Then the program would run as fast as the Version
         7 program of the same name, with the flexibility of the Sys-
         tem V version.
    
         File uses several algorithms that favor speed over accuracy,
         thus it can be misled about the contents of ASCII files.
    
         The support  for  ASCII  files  (primarily  for  programming
         languages)   is   simplistic,   inefficient   and   requires
         recompilation to update.
    
         There should be an ``else'' clause to  follow  a  series  of
         continuation lines.
    
         The magic file and keywords should have  regular  expression
         support.   Their  use  of  ASCII TAB as a field delimiter is
         ugly and makes it hard to edit the files, but is entrenched.
    
         It might be advisable to allow upper-case  letters  in  key-
         words for e.g., troff(1) commands vs man page macros.  Regu-
         lar expression support would make this easy.
    
         The program doesn't grok FORTRAN.  It should be able to fig-
         ure FORTRAN by seeing some keywords which appear indented at
         the start of line.  Regular expression  support  would  make
         this easy.
    
         The list of keywords in ascmagic  probably  belongs  in  the
         Magic  file.   This could be done by using some keyword like
         `*' for the offset value.
    
         Another optimisation would be to sort the magic file so that
         we can just run down all the tests for the first byte, first
         word, first long, etc, once we have  fetched  it.   Complain
         about conflicts in the magic file entries.  Make a rule that
         the magic entries sort based  on  file  offset  rather  than
         position within the magic file?
    
         The program should provide a way  to  give  an  estimate  of
         ``how  good''  a guess is.  We end up removing guesses (e.g.
         ``From '' as first 5 chars of file) because they are not  as
         good  as other guesses (e.g. ``Newsgroups:'' versus "Return-
         Path:").  Still, if the others don't pan out, it  should  be
         possible to use the first guess.
    
         This program is slower than some vendors' file commands.
    
         This manual page, and  particularly  this  section,  is  too
         long.
    
    AVAILABILITY
         You can obtain  the  original  author's  latest  version  by
         anonymous   FTP   on   ftp.astron.com   in   the   directory
         /pub/file/file-X.YY.tar.gz
    
    
    
    


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру