file命令

file命令

  file命令用来检测文件的类型。
  Linux的基本哲学之一是“一切皆文件”。通常我们所说的文件指的是普通文件,包括:文本文件、可执行文件、图片文件等等。在Linux中,普通文件是文件,其它东西也被抽象成了文件,例如:目录(是的,你没看错,在Linux中目录也是文件)、设备(字符设备、块设备)、套接字等等。如果想知道一个文件是属于文本文件还是字符设备,应该怎么办呢?通过file命令就可以快速的检测出文件的类型。
  file命令的基本语法是:
    file <文件名或者文件的全路径>
  下面是使用file命令的几个例子:

# file anaconda-ks.cfg
anaconda-ks.cfg: ASCII text
# file /usr/bin/cd
/usr/bin/cd: POSIX shell script, ASCII text executable
# file /root/
/root/: directory

file命令可以检测的文件类型包括:

文件类型描述查看方式
ASCII text文本文件文本编辑器查看
directory目录命令ls
POSIX shell script, ASCII text executableShell脚本文本编辑器查看
ELF 64-bit LSB executable64位可执行文件None
ELF 32-bit LSB executable32位可执行文件None
setgid ELF 64-bit LSB shared object64位共享对象文件None
setgid ELF 32-bit LSB shared object32位共享对象文件None
character special字符设备None
block special块设备None
RPMRPM文件None

  多使用file命令,你就会发现很多可执行文件都是Linux Shell脚本,在Linux没有“秘密”。