Linux常用命令--file
2016-06-30 12:36
399 查看
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
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
相关文章推荐
- Linux socket 初步
- Linux Kernel 4.0 RC5 发布!
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- Linux 下无损图片压缩小工具介绍