Linux常用命令--file

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux常用命令--file相关的知识,希望对你有一定的参考价值。

1.功能:识别文件类型,识别文件编码。

2.语法:

file [-bchikLNnprsvz0] [--apple] [--mime-encoding] [--mime-type] [-e testname] [-F separator] [-f namefile] [-m magicfiles] file ...

file -C [-m magicfiles]

file [--help]

3.参数:

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

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

-f:列出文件中文件名的文件类型

-F:使用指定分隔符号替换输出文件名后的默认的“:”分隔符。

-i:输出mime类型的字符串

-L:查看对应软链接对应文件的文件类型

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

4.例子

[[email protected] test]$ ls

today.txt

[[email protected] test]$ file today.txt #默认打印输出文件的编码

today.txt: ISO-8859 text, with CRLF line terminators

[[email protected] test]$ cat today.txt #由于编码与系统编码不一致,导致乱码。

?????

[[email protected] test]$ iconv -f GBK -t UTF-8 today.txt -o today_utf.txt#使用iconv 将文件转码成utf-8格式,顺带复习一下iconv 

[[email protected] test]$ file today_utf.txt 

today_utf.txt: UTF-8 Unicode text, with CRLF line terminators

[[email protected] test]$ file -b today.txt #-b参数,输出时不显示文件名

ISO-8859 text, with CRLF line terminators

[[email protected] test]$ echo "today.txt">>today_utf.txt #为了测试-f参数,将文件名称输入到today_utf.txt中

[[email protected] test]$ file -f today_utf.txt 

: cannot open `今天是星期四\015‘ (No such file or directory)#第一行不是文件名称,所以报错。

today.txt:   ISO-8859 text, with CRLF line terminators#第二行是文件名称,所以输出文件对应的格式

[[email protected] test]$ file -F " :)" -L today.txt #指定分隔符

today.txt :) ISO-8859 text, with CRLF line terminators

[[email protected] test]$ file  -i today.txt #输出文件的字符编码,原文件是在GBK编码格式编辑的,不知道为何在linux中显示的编码是iso-8859-1

today.txt: text/plain; charset=iso-8859-1

[[email protected] test]$ file  -i today_utf.txt

today_utf.txt: text/plain; charset=utf-8


本文出自 “三国冷笑话” 博客,请务必保留此出处http://myhwj.blog.51cto.com/9763975/1794511

以上是关于Linux常用命令--file的主要内容,如果未能解决你的问题,请参考以下文章

Linux常用命令

Linux常用命令-文本查看篇

Linux常用命令--file

常用linux系统命令-压缩命令

Linux scp常用命令

Linux常用命令的常用参数