Linux / UNIX: Determine File Type

Posted on in Categories , last updated March 2, 2011

How do I determine the file type under UNIX or Linux like operating systems?

You need to use the file command to determine file type. File command 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 on screen.

file Command Examples

Type the following command:
$ file /etc/passwd
Sample outputs:

/etc/passwd: ASCII text

Another example:
$ file /home/voffice/letter.doc
Sample outputs:

/home/voffice/letter.doc: Microsoft Office Document

Find out type of the file.c, enter:
$ file file.c
Sample outputs:

file.c:   C program text

You can also use binary file, enter:
$ file $(which ls)
OR
$ file /bin/ls
Sample outputs:

/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.0, dynamically linked (uses shared libs), stripped

Finally, it can also display info about devices:
$ file /dev/sda{1,2,3}

/dev/sda1: block special (8/1)
/dev/sda2: block special (8/2)
/dev/sda3: block special (8/3)

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

Share this on (or read 3 comments/add one below):

3 comment

Leave a Comment