【Linux】一步一步学Linux——file命令(37)
发布日期:2021-06-29 20:59:34 浏览次数:2 分类:技术文章

本文共 1984 字,大约阅读时间需要 6 分钟。

00. 目录

文章目录

01. 命令概述

file - 确定文件类型

file命令用来识别文件类型,也可用来辨别一些文件的编码格式。它是通过查看文件的头部信息来获取文件类型,而不是像Windows通过扩展名来确定文件类型的。

02. 命令格式

file [ -bcnsvzL ] [ -f 命名文件 ] [ -m 幻数文件 ] file …

03. 常用选项

-b    不输出文件名 (简要模式).-c    检查时打印输出幻数文件的解析结果.常与 -m 一起使用,用来在安装幻数文件之前调试它.-f 命名文件    从在参数表前的 命名文件 中读出将要检查的文件名(每行一个文件).要有 命名文件 ,或者至少有一个文件名参数; 如果要检查标准输入, 使用``-作为文件参数.-m list    指定包含幻数的文件列表.可以是单个文件,也可以是 用冒号分开的多个文件.-n    每检查完一个文件就强制刷新标准输出. 仅在检查一组文件时才有效. 一般在将文件类型输出到管道时才采用此选项.-v    打印程序版本并退出.-z    试图查看压缩文件内部信息.-L    (在支持符号链接的系统上)选项显示符号链接文件的原文件, 就像 ls(1) 命令的like-named 选项.-s    通常, file 只是试图去检查在文件列表中那些 stat(2) 报告为正常文件的文件的类型.由于读特殊文件将可能导致 不可知后果,所以这样可以防止发生问题.使用 -s 选项时 file 命令也将去读文件列表中的块特殊文件和字符特殊文件. 一般用于从原始磁盘分区中获得文件系统类型,此文件为块 特殊文件. 这个选项也导致 file 命令忽略 stat(2) 报告的文件大小,因为在有些系统中原始磁盘分区的大小报告为0.

04. 参考示例

4.1 显示文件类型

[deng@localhost ~]$ file test.c test.c: C source, UTF-8 Unicode (with BOM) text, with CRLF line terminators[deng@localhost ~]$

4.2 显示文件类型,不显示文件名称

[deng@localhost ~]$ file -b test.cC source, UTF-8 Unicode (with BOM) text, with CRLF line terminators[deng@localhost ~]$

4.3 显示文件类型, 显示MIME类别,不显示文件名称

[deng@localhost ~]$ file -b -i test.ctext/x-c; charset=utf-8[deng@localhost ~]$

4.4 显示符号链接的文件类型

[deng@localhost test]$ ls -l a_linklrwxrwxrwx 1 deng deng 5 7月  14 20:11 a_link -> a.txt[deng@localhost test]$ file a_link a_link: symbolic link to `a.txt'[deng@localhost test]$

4.5 显示符号连接所指向的文件类型

[deng@localhost test]$ file -L a_linka_link: empty[deng@localhost test]$

4.6 查看文件中的文件名的文件类型

[deng@localhost test]$ cat a.txt /etc/passwd/home[deng@localhost test]$ file -f a.txt /etc/passwd: ASCII text/home:       directory[deng@localhost test]$

4.7 使用指定分隔符号替换输出文件名后的默认的":"分隔符

[deng@localhost test]$ file -F "--" a.txta.txt-- ASCII text[deng@localhost test]$ file a.txta.txt: ASCII text[deng@localhost test]$

4.8 尝试去解读压缩文件的内容

[deng@localhost test]$ file -z passwd.tar.gz passwd.tar.gz: POSIX tar archive (GNU) (gzip compressed data, from Unix, last modified: Sun Jul 14 20:16:46 2019)[deng@localhost test]$

05. 附录

参考:

转载地址:https://dengjin.blog.csdn.net/article/details/95920149 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【Linux】一步一步学Linux——cat/tac命令(38)
下一篇:【Linux】一步一步学Linux——rename命令(36)

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年04月16日 22时19分58秒