使用file
命令我们可以获取文件类型。File
为每种文件类型返回一个唯一的答案。我想获取file
可以返回 linux 和 solaris 的总列表。
例如,我有 的file
返回输出的部分列表。不幸的是,我无法从手册页中看到完整列表。
ASCII C program text
ASCII C++ program text
ASCII C program text, with CRLF
ASCII C program text, with very
ASCII English text
ASCII English text, with CRLF line
ASCII English text, with escape sequences
ASCII English text, with very long
ASCII HTML document text
ASCII HTML document text, with very
ASCII Java program text
ASCII Java program text, with CRLF,
ASCII Java program text, with very
ASCII make commands text
ASCII make commands text, with very
ASCII text
ASCII text, with CRLF line terminators
ASCII text, with escape sequences
a /usr/bin/perl script text executable
Bourne-Again shell script text executable
Bourne shell script text executable
core file (Xenix)
C++ program text
data
exported SGML document text
extended 669 module data
HTML document text
ISO-8859 English text
Non-ISO extended-ASCII English text
Non-ISO extended-ASCII English text, with CRLF
Non-ISO extended-ASCII English text, with very
PC bitmap data
PC color icon data
PC color pointer image data
PC icon data
PDF document, version 1.2
TOC sound file
UTF-8 Unicode text, with CRLF line
XML document text
答案1
您无法从该命令获得详尽的输出列表file
。它生成的输出由“魔法”数据库决定,该数据库会随着程序的每次升级而变化,并且可以由系统管理员和用户自定义。此外,由该命令返回的字符串file
可以由多个部分组成,例如文本文件有时会显示字符编码,图像文件可以显示其大小等。
在 Linux 下,file -i
显示MIME 类型(例如text/plain
,image/jpeg
)而不是供人类使用的字符串。如果你想解析来自的输出file
,你需要file -i
。有一个MIME 类型的官方列表,但这并不详尽:还有许多非标准类型。此外,file -i
还可以用编码信息补充 MIME 类型(例如text/plain charset=utf-8
)。