file命令用于获取文件的细节信息,辨识文件类型
注意:文件名中不能有空格,有则可用下划线_替换
file <文件名>
打印文件类型信息
file file1.csv
#输出:
#file file1.csv:UTF-8 Unicode (with BOM) text, with CRLF line terminators
file -i <文件名>
打印文件类型信息,显示MIME类别
file -i file1.csv
#输出:
#file file1.csv:text/plain; charset=utf-8
file -b <文件名>
列出文件类型信息,不显示文件名称
file file1.csv
#输出:
#UTF-8 Unicode (with BOM) text, with CRLF line terminators
file -c <文件名>
详细显示指令执行过程,便于排错或分析程序执行的情形
file -f <列表文件名>
当要获取很多文件的文件类型时,可将这些文件名事先写入某一文件,这样在命令中指定该列表文件即可获取多个文件的类型信息
file -f file_List.txt #file_List.txt文件包含了一个文件列表,file1.csv和file2.csv
#输出:
#file1.csv: UTF-8 Unicode (with BOM) text, with CRLF line terminators
#file2.csv: UTF-8 Unicode (with BOM) text, with CRLF line terminators
file -L <文件名>
直接显示符号连接所指向的文件的类别
file -L symbol_link_file #该符号连接指向另外一个文件,该文件为UTF-8格式
#输出:
#symbol_link_file: UTF-8 Unicode (with BOM) text, with CRLF line terminators
file -L symbol_link_file #该符号连接指向的文件的文件格式修改为ASCII格式后
#输出:
#symbol_link_file: ASCII text, with CRLF line terminators
file -v <文件名>
显示版本信息file -z <文件名>
尝试去解读压缩文件的内容
file -z zip_file.zip
#输出:zip_file.zip: renew_group.zip: ASCII text, with CRLF line terminators (Zip archive data, at least v2.0 to extract)
file [文件或目录...]
要确定类型的文件列表,多个文件之间使用空格分开,可使用shell通配符匹配多个文件
file /var/spool/mail
#输出:/var/spool/mail: directory
file file1.csv file2.csv
#输出:
#file1.csv: UTF-8 Unicode (with BOM) text, with CRLF line terminators
#file2.csv: UTF-8 Unicode (with BOM) text, with CRLF line terminators
file file*.csv
#输出:
#file1.csv: UTF-8 Unicode (with BOM) text, with CRLF line terminators
#file2.csv: UTF-8 Unicode (with BOM) text, with CRLF line terminators