Tutorial de GNU/Linux
file
El comando file intenta determinar el tipo de contenido de los ficheros dados como argumentos: texto, ejecutable, script, directorio, comprimido, archivador, etc. Cuando el fichero tiene caracteres no imprimibles estudia sus dos o cuatro primeros octetos, para intentar determinar el tipo.
$ file /etc/network/interfaces /etc/init.d/networking /etc
/etc/network/interfaces: ASCII text
/etc/init.d/networking: POSIX shell script, ASCII text executable
/etc: directory
La opción -z se utiliza con ficheros comprimidos para que compruebe de qué tipo es la información comprimida:
$ file ls.man.gz
ls.man.gz: gzip compressed data, was "ls.man", from Unix, last modified: Sun Sep 1 13:25:38 2013
$ file -z ls.man.gz
ls.man.gz: UTF-8 Unicode text (gzip compressed data, was "ls.man", from Unix, last modified: Sun Sep 1 13:25:38 2013)
Otra opción interesante es -i que nos informa del tipo de codificación utilizada por un fichero:
$ file /etc/apt/sources.list
/etc/apt/sources.list: ASCII text
$ file -i /etc/apt/sources.list
/etc/apt/sources.list: text/plain; charset=us-ascii
Licencia: licencia de software libre GPL