Linux / UNIX: Determine File Type

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)

Leave a comment