file 查看文件的类型

作用

在 Linux 中,文件不存在扩展名,判断文件类型不能像 Windows 那样通过扩展名查看文件类型,可以利用“ls -l”命令查看文件类型,也可以使用 file 命令查看文件的类型。

语法

file [-beLvz][-f <名称文件>][-m <魔法数字文件>...][文件或目录...]

参数

  • -b    列出辨识结果时,不显示文件名称。 

  • -c    详细显示指令执行过程,便于排错或分析程序执行的情形。 

  • -C    检查指定的 magic 文件(默认为 /etc/magic 文件)有无格式错误。次验证一般不进行,在此参数下文件输入不执行

  • -f<名称文件>    指定名称文件,其内容有一个或多个文件名称呢感,让file依序辨识这些文件,格式为每列一个文件名称。  

  • -F<分隔符号>    设定名称文件中文件之间的分隔符号,缺省为一行一个文件

  • -L    直接显示符号连接所指向的文件的类别。 

  • -m<魔法数字文件>    指定魔法数字文件。 

  • -v    显示版本信息。 

  • -z    尝试去解读压缩文件的内容。

示例

(1)假如当前目录下面存在 demo.txt 文件,使用 file 查看该文件的类型。

[hxstrive@localhost ~]$ file demo.txt
demo.txt: ASCII text

从上面输出可知,demo.txt 是一个文本文件(注意:笔者这里是 Windows 习惯,才会在文件后面添加 .txt 后缀)。

(2)根据一个名称文件来查看文件的类型。假如当前目录下面存在 file_name 文件,改文件中存储了多个文件名,每行文件名独占一行。名称文件 file_name 内容如下:

/home/hxstrive/demo
/home/hxstrive/demo.txt
/home/hxstrive/ping.txt

查看 file_name 下每个文件的类型,命令如下:

[hxstrive@localhost ~]$ file -f file_name 
/home/hxstrive/demo:     directory
/home/hxstrive/demo.txt: ASCII text
/home/hxstrive/ping.txt: ASCII text

(3)查看压缩文件的类型。我们从网络上下载了一个压缩文件,如果该文件没有扩展名,此时我们就不能正确选择合适的解压缩软件。此时,就可以使用 file -z 查看压缩文件类型。

[hxstrive@localhost ~]$ file -z test.tar.gz 
test.tar.gz: POSIX tar archive (GNU) (gzip compressed data, from Unix)

[hxstrive@localhost ~]$ file -z test.tg 
test.tg: POSIX tar archive (GNU) (gzip compressed data, from Unix)

(4)查看符号文件的类型和符号链接文件所指向实际文件的类型。

[hxstrive@localhost ~]$ ll hello 
lrwxrwxrwx. 1 hxstrive hxstrive 10 Jul 28 09:15 hello -> ./test.zip
[hxstrive@localhost ~]$ file -L hello 
hello: Zip archive data, at least v1.0 to extract

更多关于命令详细参考手册,请使用 man 命令或者 --help 参数获取帮助信息

关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号