Windows下我们通过文件名的后缀来判断文件的类型,系统也是根据文件名的后缀来选择打开文件的软件,如果更改了文件名后缀,打开该文件时就会出错。在Linux下文件名也有后缀,但系统并不是根据它来判断文件的类型,例如把文本文件gene.txt改名为gene.gz,该文件仍然是文本文件,可以用cat等命令来查看其内容。也就是说,Linux的文件名的后缀是给用户看的,用户可以根据文件名后缀判断文件的类型。如果文件名的后缀与文件的类型并不符合,用户就很难判断了,这时我们可以用file命令判断该文件的类型。
识别文件类型
file [option] [file]
-b 列出文件辨识结果时,不显示文件名称。 -c 详细显示指令执行过程,便于排错或分析程序执行的情形 -f 列出文件中文件名的文件类型 -F 使用指定分隔符号替换输出文件名后的默认的“:”分隔符。 -i 输出mime类型的字符串 -L 查看对应软链接对应文件的文件类型 -z 尝试去解读压缩文件的内容
file命令使用比较简单,命令后跟文件名即可:
[peter@ibi98 ~]$ ls at_LEC1_protein.fa file1 flower hello.sh my_fruit prac [peter@ibi98 ~]$ file at_LEC1_protein.fa at_LEC1_protein.fa: ASCII text [peter@ibi98 ~]$ file -b hello.sh Bourne-Again shell script, ASCII text executable
file命令除了用来识别文件格式,还可用来识别一些文件的编码方式。需要注意的是,file命令是通过查看文件的头部信息来识别文件类型的,而不是像Windows那样通过扩展名来确定文件类型。