【Linux】一步一步学Linux——file命令(37)

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.c
C source, UTF-8 Unicode (with BOM) text, with CRLF line terminators
[deng@localhost ~]$ 

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

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

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

[deng@localhost test]$ ls -l a_link
lrwxrwxrwx 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_link
a_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.txt
a.txt-- ASCII text
[deng@localhost test]$ file a.txt
a.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. 附录

参考:【Linux】一步一步学Linux系列教程汇总

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值