码迷,mamicode.com
首页 > 系统相关 > 详细

Linux常用命令--file

时间:2016-06-30 14:42:48      阅读:246      评论:0      收藏:0      [点我收藏+]

标签: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.例子

[oracle@mycentos test]$ ls

today.txt

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

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

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

?????

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

[oracle@mycentos test]$ file today_utf.txt 

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

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

ISO-8859 text, with CRLF line terminators

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

[oracle@mycentos test]$ file -f today_utf.txt 

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

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

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

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

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

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

[oracle@mycentos test]$ file  -i today_utf.txt

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


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

Linux常用命令--file

标签:linux   file   

原文地址:http://myhwj.blog.51cto.com/9763975/1794511

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!