如果你需要在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

文件编码转换

因为现在用linux,原来在windows里的文件都是用GBK编码的。所以copy到linux下是乱码,文件内容可以用iconv来转换可是好多中文的文件名还是乱码,找到个可以转换文件名编码的命令,就是convmv。

convmv命令详细参数  例如

复制代码

代码如下:

convmv -f GBK -t UTF-8 *.mp3

不过这个命令不会直正的转换,你可以看到转换前后的对比。如果要直正的转换要加上参数 --notest

复制代码

代码如下:

convmv -f GBK -t UTF-8 --notest *.mp3

-f 参数是指出转换前的编码,-t 是转换后的编码。这个千万不要弄错了。不然可能还是乱码哦。还有一个参数很有用。就是 -r 这个表示递归转换当前目录下的所有子目录。

* 需要安装 convmv-1.10-1.el5.noarch.rpm

更好的傻瓜型命令行工具enca,它不但能智能的识别文件的编码,而且还支持成批转换。

(1).安装

复制代码

代码如下:

$sudo apt-get install enca

(2).查看当前文件编码

复制代码

代码如下:

enca -L zh_CN ip.txt

Simplified Chinese National Standard; GB2312     Surrounded by/intermixed with non-text data

(3).转换    命令格式如下

$enca -L 当前语言 -x 目标编码 文件名

例如要把当前目录下的所有文件都转成utf-8

复制代码

代码如下:

enca -L zh_CN -x utf-8 *

检查文件的编码

复制代码

代码如下:

enca -L zh_CN file

将文件编码转换为"UTF-8"编码

复制代码

代码如下:

enca -L zh_CN -x UTF-8 file

如果不想覆盖原文件可以这样

复制代码

代码如下:

enca -L zh_CN -x UTF-8 < file1 > file2

linux服务器编码怎么查看器,Linux系统下文件编码的查看与转换方法相关推荐

  1. Linux内存耗尽宕机6,转载:Linux服务器Cache占用过多内存导致系统内存不足最终java应用程序崩溃解决方案...

    原文链接: https://blog.csdn.net/u014740338/article/details/66975550 问题描述 Linux内存使用量超过阈值,使得Java应用程序无可用内存, ...

  2. Linux服务器Cache占用过多内存导致系统内存不足问题的排查解决

    Linux服务器Cache占用过多内存导致系统内存不足问题的排查解决 参考文章: (1)Linux服务器Cache占用过多内存导致系统内存不足问题的排查解决 (2)https://www.cnblog ...

  3. Linux服务器Cache占用过多内存导致系统内存不足问题的排查解决(续)

    Linux服务器Cache占用过多内存导致系统内存不足问题的排查解决(续) 参考文章: (1)Linux服务器Cache占用过多内存导致系统内存不足问题的排查解决(续) (2)https://www. ...

  4. C/C++Linux服务器开发高级架构师/Linux后台开发架构师丨高级进阶学习

    01 课程介绍 [录播]课程介绍(66分钟) 免费试学 [录播]磁盘存储链式的B树与B+树(131分钟) 免费试学 免费学习视频链接点击:C/C++Linux服务器开发高级架构师/Linux后台架构师 ...

  5. 快速找出Linux服务器上不该存在恶意或后门文件

    转载来源 :如何快速找出Linux服务器上不该存在恶意或后门文件 :https://www.2cto.com/article/201805/748965.html 如何快速找出Linux服务器上不该存 ...

  6. 视频教程-Linux服务器运维/虚拟主机-Linux

    Linux服务器运维/虚拟主机 云知梦创始人,国际架构师,11年互联网培训和开发经验,曾在港电讯盈科.北大青鸟集团.远大教育.北京易第优教育等公司任职曾获得美国红帽RHCA构架师和RHCDS数据中心讲 ...

  7. 空服务器安装linux,debian服务器linux服务器web建站搭建linux服务器之Debian安装

    debian服务器linux服务器web建站搭建linux服务器之Debian安装 原文来自i火吧 大家都知道linux的发行版本很多,有centos啊,debian啊,ubuntu等,下面我就用de ...

  8. linux 默认文件属性,linux系统下文件的默认权限以及隐藏属性的作用

    [摘要] 操作系统(Operating System,简称OS)是管理计算机硬件与软件资源的计算机程序.操作系统需要处理如管理与配置内存.决定系统资源供需的优先次序.控制输入设备与输出设备.操作网络与 ...

  9. linux系统下文件查找

    在我们实际应用中,经常需要查找某个特定的文件,或者根据文件的某个特定属性进行查找,今天小菜就给大家分享一下,linux系统下文件查找的两大利器:  1,locate:非实时查找(基于预先生成的数据库查 ...

最新文章

  1. 数据蒋堂 | JOIN运算剖析
  2. 跟我一起写 Makefile(十)
  3. 【ABAP】通过ST05分析程序执行路径
  4. 读书笔记_代码大全2第十一章_选择好的变量名
  5. Spark MLlib实现的广告点击预测–Gradient-Boosted Trees
  6. 网络基础4(TCP三次握手,四次握手,TCP流量控制,TCP状态转换 , TCP异常断开,设置TCP属性,端口复用)
  7. MasterPage控件的用法
  8. python数组初始化_python怎么初始化数组
  9. 拓端tecdat|用Python进行图像模糊处理和特征提取
  10. Atitit 简历外语版 英语 日语 1.经历了很多项目实践,具备较为宽广的IT从业与信息化工作背景,具备若干创业历程,道路曲折,初心不改。在相关领域累计了较深的深度(细化度)与高度(抽象度)与广度
  11. 电子沙盘技术和android,ERP沙盘与电子沙盘的区别
  12. 使用 JMeter 进行API接口压力测试
  13. identifier标签语句
  14. 【微信小程序】用户授权及getUserProfile接口使用
  15. 用了UpdatePanel,按钮居然不管用了
  16. Java控制无人机程序_深入了解ROS之编写无人机控制程序包
  17. 2021届毕业应届生到现在的职场工作,从一个懵懂大学生到IT职场人的转变
  18. 看完代码回首看论文:YOLOv3重读
  19. 推荐一款latex公式OCR识别软件
  20. 学生成绩管理系统——课程设计报告

热门文章

  1. 不对代码做测试就像“上完厕所不洗手”
  2. 云从科技2022年第三季度业绩出炉,收入同比下滑80%
  3. 【C++】超详细typedef用法和实例,看完不信你不会
  4. 算法-哈希算法(上)
  5. 四元一次方程组用计算机怎么解,四元一次方程组
  6. 《Android 应用案例开发大全(第3版)》——第2章,第2.9节壁纸的优化与改进
  7. MTK TP input子系统笔记
  8. Java实现斐波那契数列与黄金分割比精确位数问题
  9. 用友NC二次开发小技巧:服务端执行SQL语句的方法
  10. ClickHouse vs StarRocks 全场景MPP数据库选型对比