在linux里面是不以后缀名来区分文件类型的,它跟windows不一样,windows里面都会以后缀名来区分文件类型,比如说,.mp3,windows就会把它视为音乐文件,.txt就会视为纯文本文档,.png就会视为图片文档,.html会视为网页文档,但是linux里面它并不会以后缀名来区分文件类型,在linux里面它会去搜索文件里面的内容,然后去判断它的文件类型,并不像windows一样,windows是完全以后缀名来区分的,所以在linux里面还是有区别的,那么如何区分linux里面的文件类型呢?使用file命令,那么file命令是什么,怎么使用呢?
还是那句话,查看帮助,man一下,man file,如下图,
file - determine file type,查明文件类型,我们看一下SYNOPSIS,file [ -bchikLnNprsvz ] [ -f namefile ] [ -F separator ] [ -m magicfiles ] file,中括号内的是可以省略的选项,参数是文件名,好,我们试一下,file /root,file /bin/ls ,file /etc/issue,file /lib/libc.so.6,file /lib/libc-2.5.so,如下图,
/root 是目录,ls 是个执行文件,issue是文本。ls文件的类型是非常独特的,叫ELF,这事实上是一种可执行文件存储格式,ELF是指的叫可执行的、可链接的文件类型,这也是linux上常见的可执行二进制格式,在WINDOWS上,它的格式是不一样的,在不同的操作系统上,他们的格式不一样的,WINDOWS上的叫PE格式,叫PE,而在我们linux上叫ELF,Executable and Linkable Format 是一种用于可执行的可链接的文件格式。