unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Page:
Section:
Apropos / Subsearch:
optional field



file(1)								      file(1)



NAME

  file,	jfile -	Determines file	type

SYNOPSIS

  file [-c] [-f	file_list] [-m magic_file] file...

STANDARDS

  Interfaces documented	on this	reference page conform to industry standards
  as follows:

  file:	 XCU5.0

  Refer	to the standards(5) reference page for more information	about indus-
  try standards	and associated tags.

OPTIONS

  -c  [Tru64 UNIX]  Checks the magic file (/etc/magic by default) for format
      errors.  This validation is not normally done.  File typing is not done
      under this flag.

  -f file_list
      [Tru64 UNIX]  Reads file_list for	a list of files	to examine.

  -m magic_file
      [Tru64 UNIX]  Specifies magic_file as the	magic file (/etc/magic by
      default).

OPERANDS

  file
      The path name of the file	to be tested.

DESCRIPTION

  The file command reads input files and performs a series of tests on each
  one. It then attempts	to classify them by type and writes the	file types to
  standard output.

  The file command uses	the /etc/magic file to identify	files that have	some
  sort of a magic number (that is, any file containing a numeric or string
  constant that	indicates its type).

  The file command returns a number of hard and	soft errors for	character
  special files.

  [Tru64 UNIX]	 If you	run a file command on /proc file system	it produces
  unpredictable	results.


  [Tru64 UNIX]	If a file appears to be	plain text, file examines the first
  512 bytes and	tries to determine what	kind of	text it	is.  If	the first 512
  bytes	only contain ASCII characters, file returns either ascii text or
  English text.	 If the	file contains other characters (that is, European or
  Asian	extended characters), file uses	checks as described in the section
  titled "Internationalization and Localization	Enhancements" to evaluate the
  encoding.  The jfile command alias, which enables file-testing logic that
  is Japanese specific even for	the C locale, is also described	in this	sec-
  tion.

  [Tru64 UNIX]	If a file does not appear to be	plain text, file attempts to
  distinguish a	binary data file from a	text file that contains	extended
  characters.  If the file is an a.out file and	the version number is greater
  than zero, file displays the version stamp.

  [Tru64 UNIX]	For character special files, part of the identification	is
  information about the	devices	the system shows as active. In particular,
  file returns device-specific information such	as controller type and unit,
  device type and unit,	and status (offline, write locked, density, errors).
  The general categories currently implemented are disk, tape, and terminal
  devices. The supported terminal devices include Local	Area Terminals (LAT)
  but not Local	Area Network (LAN) pseudo-terminals.

  [Tru64 UNIX]	The following example shows how	the file command identifies a
  device. The output is	shown on two lines due to space	considerations,	but
  appears on one line on a display.

       # file /dev/rdisk/dsk17c

       /dev/rdisk/dsk17c: character special (19/86) SCSI #1
       "RZ26L" disk #4 (SCSI ID	#1) (SCSI LUN #0) errors = 1/4

  In this example, the device reports 1	soft error and 4 hard errors.  All
  errors should	be logged in the error log.

  The following	example	shows a	device with no errors:

       # file /dev/rdisk/dsk18c

       /dev/rdisk/dsk18c: character special (19/326) SCSI #1
       "RZ26L" disk #5 (SCSI ID	#2) (SCSI LUN #0)

  [Tru64 UNIX]	On Tru64 UNIX systems, the file	command	recognizes OSF core
  files.  For example:

       # file core

       core:   core dump, generated from 'mwm'

  [Tru64 UNIX]	The amount and type of information the file command returns
  can depend on	the permissions	of the file being queried. For example,	most
  special device files have permissions	that allow access only by root and
  non-root users cannot	open them. The file command has	to open	the device
  and only root	has the	proper permissions.  Thus, if the file command is
  issued by a non-root user, it	can report only	information it can determine
  without gaining access to the	device.

  [Tru64 UNIX]	The file command also uses internal tables to decode certain
  types	of files. The following	example	shows the keywords the file command
  uses to locate troff,	C code,	and assembler code.

       char  *troff[] =	{    /*	new troff intermediate lang */
	     "x","T","res","init","font","202","V0","p1",0};
       char  *c[] = {
	     "int","char","float","double","struct","extern",0};
       char  *as[] = {
	     "globl","byte","align","text","data","comm",0};

  The file types recognized and	identification displayed include those shown
  in the following table:


  __________________________________________________________________________
  If file is				 It is identified as
  __________________________________________________________________________
  directory				 directory
  FIFO					 fifo
  block	special				 block special
  compressed crash dump			 compressed memory image (dump)	file
  character special			 character special
  executable binary			 executable
  empty	regular	file			 empty
					 archive

  ar archive library (see ar)
					 cpio archive

  extended cpio	format (see pax)
					 tar archive

  extended tar format (see tar)
  shell	script				 commands text
  C-language source			 c program text
  FORTRAN source			 fortran program text
  audio	file (.voc, .iff, .wav)		 audio
  image	file (TIFF, GIF, MPEG, JPEG)	 image
  PKZIP	format				 zip archive
  GZIP format				 gzip compressed data
  __________________________________________________________________________

  Internationalization and Localization	Enhancements


  [Tru64 UNIX]	The file command includes the following	enhancements for
  identifying a	text file:

    +  In any locale, the file command uses the	presence of the	byte-order
       mark to recognize ISO10646/Unicode encoding (UCS-2 and UCS-4 formats).

    +  In any locale, the file command checks whether the characters in	the
       file are	valid for the codeset of the current locale.

    +  When the	jfile alias for	the file command is used or if the file	com-
       mand is used in any Japanese locale, the	command	uses specialized
       text-detection logic to determine whether the character encoding	is
       one of the following:

	 -- DEC	Kanji

	 -- Japanese EUC

	 -- Shift JIS

	 -- 7-bit JIS (for example, ISO-2022-JP)

    +  If the text file	is not identified by the ascii text or English text
       message,	the message states whether the text contains single-byte or
       multibyte characters and	which codeset the characters belong to.	In
       other words, the	message	that identifies	the file would use one of the
       following formats:

       multi-byte text (codeset-name)



       single-byte text	(codeset-name)

       If the file command does	not identify the encoding of a text file, the
       displayed message is data or International Language text.






RESTRICTIONS

  [Tru64 UNIX]	The file command often does a poor job of distinguishing C
  programs, shell scripts, English text, and ASCII text.  In addition, it
  does not recognize certain programming languages, including Modula, Pascal,
  and Lisp.

EXIT STATUS

  The following	exit values are	returned:

  0   Successful completion.

  >>0  An error occurred.

EXAMPLES

   1.  To display the type of information a file contains, enter:
	    file myfile

       This displays the file type of myfile (directory, data, ASCII text, C
       program source, archive,	and so on).

   2.  To display the type of each file	named in a list	of file	names, enter:
	    file -f filenames

       This displays the type of each file with	a name that appears in
       filenames.  Each	file name must appear alone on a line.

       To create filenames, enter:
	    ls >> filenames

       Then edit filenames as desired.

FILES

  /etc/magic
      File type	database

SEE ALSO

  Commands:  ar(1), cpio(1), ls(1), pax(1), tar(1)

  Files:  magic(4)

  Standards:  standards(5)

  Programmer's Guide