Linux查看文件编码格式及文件编码转换<转>
如果你需要在Linux 中操作windows下的文件 ,那么你可能会经常遇到文件 编码 转换的问题。Windows中默认的文件 格式是GBK(gb2312),而Linux 一般都是UTF-8。下面介绍一下,在Linux 中如何查看 文件 的编码 及如何进行对文件 进行编码 转换。
查看文件编码
在Linux 中查看 文件 编码 可以通过以下几种方式:
1.在Vim 中可以直接查看文件编码
:set fileencoding
即可显示文件编码格式。
如果你只是想查看 其它编码 格式的文件 或者想解决用Vim查看 文件 乱码的问题,那么你可以在
~/.vimrc 文件 中添加以下内容:
set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936
这样,就可以让vim自动识别文件 编码 (可以自动识别UTF-8或者GBK编码 的文件 ),其实就是依照 fileencodings提供的编码 列表尝试,如果没有找到合适的编码 ,就用latin-1(ASCII)编码 打开。
2. enca (如果你的系统中没有安装这个命令,可以用sudo yum install -y enca 安装 )查看 文件 编码
$ enca filename
filename: Universal transformation format 8 bits; UTF-8
CRLF line terminators
需要说明一点的是,enca对某些GBK编码 的文件 识别的不是很好,识别时会出现:
Unrecognized encoding
文件编码转换
1.在Vim中直接进行转换文件 编码 ,比如将一个文件 转换成utf-8格式
:set fileencoding=utf-8
2. enconv 转换文件 编码 ,比如要将一个GBK编码 的文件 转换成UTF-8编码 ,操作如下
enconv -L zh_CN -x UTF-8 filename
3. iconv 转换,iconv的命令格式如下:
iconv -f encoding -t encoding inputfile
比如将一个UTF-8 编码 的文件 转换成GBK编码
iconv -f GBK -t UTF-8 file1 -o file2
Linux 文件名编码转换
从Linux 往windows拷贝文件 或者从windows往Linux 拷贝文件 ,有时会出现中文文件 名
乱码的情况,出现这种问题的原因是因为,windows的文件 名 中文编码 默认为GBK,而Linux 中默认文件 名 编码 为UTF8,由于编码
不一致,所以导致了文件 名 乱码的问题,解决这个问题需要对文件 名 进行转码。
在Linux 中专门提供了一种工具convmv进行文件 名 编码 的转换 ,可以将文件 名 从GBK转换 成UTF-8编码 ,或者从UTF-8转换 到GBK。
首先看一下你的系统上是否安装了convmv,如果没安装的话用:
yum -y install convmv
安装。
下面看一下convmv的具体用法:
convmv -f 源编码 -t 新编码 [选项] 文件 名
常用参数:
-r 递归处理子文件 夹
--notest 真正进行操作,请注意在默认情况下是不对文件 进行真实操作的,而只是试验。
--list 显示所有支持的编码
--unescap 可以做一下转义,比如把%20变成空格
比如我们有一个utf8编码 的文件 名 ,转换 成GBK编码 ,命令如下:
convmv -f UTF-8 -t GBK --notest utf8编码 的文件 名
这样转换 以后"utf8编码 的文件 名 "会被转换 成GBK编码 (只是文件 名 编码 的转换 ,文件 内容不会发生变化)。
dos 和unix 文本文件格式
dos 和unix 文本文件格式主要是回车的编码方式不同。原来unix下的回车是用0x0A表示的,而dos下的回车则是0x0D0A。可以是使用ultraedit 中的hex
编辑查看。在实际工作中遇到的问题。openldap 的启动文件需要从配置文件slapd.conf
获取数据文件的目
录。
·LANG=C grep '^directory[[:space:]]+[[:print:]]' /etc/openldap/slapd_pri.conf | sed s,^directory,,·在dos格式下始终不能正确获取到directroy的值。
转换方法:1.在windows中可以ultraedit 保存为unix格式。在linux中可以使用dos2unix工具进行转换。
2.用 vim 转换,用vim打开文本文件,用 set fileformat=unix 转换
vim test.txt
:set fileformat=unix
:wq
Linux查看文件编码格式及文件编码转换<转>的更多相关文章
- Linux查看文件编码格式及文件编码转换
Linux查看文件编码格式及文件编码转换 如果你需要在Linux 中操作windows下的文件,那么你可能会经常遇到文件编码转换的问题.Windows中默认的文件格式是GBK(gb2312),而L ...
- (转载)Linux查看文件编码格式及文件编码转换
Linux查看文件编码格式及文件编码转换 时间:2011-04-08作者:woyoo分类:linux评论:0 我友分享: 新浪微博 腾讯微博 搜狐微博 网易微博 开心网 QQ空间 msn 如果你需要在 ...
- [转载]Linux查看文件编码格式及文件编码转换
原文地址:https://blog.csdn.net/gatieme/article/details/55045883 3 linux下查看编码的方法 方法一:file filename file c ...
- Linux查看目录中的文件
Linux查看目录中的文件 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ ls examples.desktop jdk 公共的 视频 文档 音乐 java ...
- linux 查看某个目录下文件的数量
今日思语:时间是个庸医,却自称能包治百病~ 在linux环境下,经常需要查看某个文件目录下的文件数有多少,除了进入当前目录下查看,还可以使用命令: ls -l | grep "^-" ...
- linux查看目录下所有文件内容中是否包含某个字符串
转发自:http://blog.csdn.net/yimingsilence/article/details/76071949 查找目录下的所有文件中是否含有某个字符串 find .|xargs gr ...
- linux 查看cpu 内存 硬盘 文件夹大小
文件夹大小 显示cpu使用率 top 1 查看CPU 1.1 查看CPU个数 # cat /proc/cpuinfo | grep "physical id" | uniq | w ...
- Linux 查看目录大小及文件数量命令
查看当前目录大小: [root@21andy.com]# du -sh 查看指定目录大小: [root@21andy.com]# du -sh /www/21andy.com 查看当前目录文件总数: ...
- linux 查看各目录(文件夹)下文件大小
# 显示总大小(/下全部文件占用大小) du -sh /* | sort -nr # 显示各文件夹的大小(当前文件夹下各文件夹的大小) du --max-depth=1
随机推荐
- [转]Java中怎样把数组转换为ArrayList
方法汇总: Element[] array = {new Element(1),new Element(2),new Element(3)}; ArrayList<Element> arr ...
- 扩展mysql - 手把手教你写udf
1 MySQL简介 MySQL是最流行的开放源码SQL数据库管理系统,相对于Oracle,DB2等大型数据库系统,MySQL由于其开源性.易用性.稳定性等特点,受到个人使用者.中小型企业甚至一些大型企 ...
- go语言发送邮件
package main import ( "fmt" "net/smtp" "strings" ) //发送邮件的逻辑函数 func Se ...
- Sass mixin 使用css border属性画三角形
To be finished. //triangle@mixin css-triangle ($direction: "down", $size: 20px, $color: #0 ...
- Java死锁的理解
我们有时候操作数据库的时候会遇到死锁,那么什么使死锁呢?它的一个比较官方的定义就是:死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将 ...
- linux /etc/security/limits.conf的相关说明
暂时粘贴他人的地址,后续会整理后放出. 原文地址:http://blog.csdn.net/taijianyu/article/details/5976319
- 多进程端口监听 How nginx processes a request Server names
网络编程( 六):端口那些事儿 - 知乎专栏 https://zhuanlan.zhihu.com/p/20365900 不停服务reload.restart 多进程端口监听 我们都有一个计算机网络 ...
- MySql 的备份与恢复
1. 数据库导出 SQL 脚本 mysqldump -u 用户名 -p 密码 数据库名称>生成的脚本文件路径 示例: mysqldump -uroot -p 123 mydb1>/User ...
- Qt 如何获取一个文件的 Icon 图标?
#include <QPixmap> #include <QString> #include <QFileInfo> #include <QFileIconP ...
- ES6学习笔记(三)——数值的扩展
看到这条条目录有没有感觉很枯燥,觉得自己的工作中还用不到它所以实在没有耐心看下去,我也是最近得闲,逼自己静下心来去学习去总结,只有在别人浮躁的时候你能静下心来去学去看去总结,你才能进步.毕竟作为前端不 ...