Linux / UNIX: Determine File Type

last updated in Categories ,

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, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

3 comment

    Have a question? Post it on our forum!