lLinux系统下查看文件信息或类型指令(file)

参考自C语言中文网,写的真不错哦。

file 命令可以识别出文件的类型和编码格式

1 file命令返回的常见的文件类型

empty:空文件
directory:目录文件
English text:英文正式文件
assembler program text:汇编语言程序的正式文件
ascii text:ASCII编码的文本文件
command text:命令语言编写的命令正文程序
c program:C语言正文程序
relocation text:用于链接的目标文件
executable:可执行的目标代码文件
data:数据文件

2 查看文件类型

#不加任何选项, 直接查看poetry文件
[roc@roclinux ~]$ file poetry.txt
poetry.txt: ASCII text

使用不带任何选项的 file 命令,即可查看指定文件的类型信息。在上面的例子中可以看出 poetry.txt 的文件类型为 text,编码格式为 ASCII。

#使用-b选项来查看poetry文件

[roc@roclinux ~]$ file -b poetry.txt
ASCII text

使用了-b选项,可以使 file 命令的输出不出现文件名,只显示文件格式以及编码。

#使用-i选项来查看poetry文件
[roc@roclinux ~]$ file -i poetry.txt
poetry.txt: text/plain; charset=us-ascii

使用-i选项,可以输出文件的 MIME 类型字符串。
MIME 类型,即 Multipurpose Internet Mail Extensions,称为多用途互联网邮件扩展类型,用来标识和记录文件的打开方式,一些常见的类型包括:

text/plain:普通文本。
text/html:HTML文本。
application/pdf:PDF文档。
application/msword:Word文档。
image/png:PNG图片。
mage/jpeg:JPEG图片。
application/x-tar:TAR文件。
application/x-gzip:GZIP文件。

3 设置输出分隔符

从上面的例子可以看出,file 命令的输出格式是:

文件名:文件类型和编码格式

如果希望将中间的分隔符由冒号(:)改成其他符号,则可以使用-F选项来实现。

[roc@roclinux ~]$ file poetry.txt
poetry.txt: ASCII text
 
[roc@roclinux ~]$ file -F "=>" poetry.txt
poetry.txt=> ASCII text

4 查看软链接文件

file 命令能查看所有文件的类型信息,那么问题来了,对于一个软链接文件,file 命令是返回软链接文件本身的类型信息,还是返回软链接所指向的目标文件的类型信息呢?让我们通过试验得出结论吧:

#新建一个软链接文件
[roc@roclinux ~]$ ln -s poetry.txt poetry_s.txt

 
#通过file命令查看软链接文件
[roc@roclinux ~]$ file poetry_s.txt
poetry_s.txt: symbolic link to `poetry.txt'
 
#使用-L选项来查看软链接文件
[roc@roclinux ~]$ file -L poetry_s.txt
poetry_s.txt: ASCII text

试验是找到真相的最好方法。通过上面的示例,我们已经很清楚地看到了:

  • 如果通过 file 命令直接查看软链接文件,则查看的就是软链接文件本身的信息。
  • 如果使用-L选项来查看软链接文件,则查看的是软链接指向的目标文件的信息。

5 按照清单去工作

如果我们需要用 file 命令查看大量文件的类型信息,恰好这些文件的名称都被存储在了一个文本文件中,那么-f选项就派上用场了。我们可以通过-f选项来指定这个文本文件,file 命令就会乖乖地去逐个查看每一个文件的类型信息,示例如下:

#文件中含有三个待查文件, 我们故意设置了一个不存在的文件, 位于最后一个
[roc@roclinux ~]$ cat poetry_list.txt
/root/book/poetry.txt
/root/book/poetry_s.txt
Nothing.txt
 
#使用-f选项执行file命令
[roc@roclinux ~]$ file -f poetry_list.txt
/root/book/poetry.txt:   ASCII text
/root/book/poetry_s.txt: symbolic link to `poetry.txt'
Nothing.txt: ERROR: cannot open `Nothing.txt ' (No such file or directory)

在上面的例子中,poetry_list.txt 包含了 3 行内容:

  • poetry.txt。
  • 指向poetry.txt的软链接poetry_s.txt。
  • Nothing.txt,一个明显不存在的文件。

从结果可以看出,前两个如期输出了类型信息,最后一个也如期报了错误。

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乘凉~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值