linux命令行编码
linux命令行编码详细介绍
在 Linux 命令行中处理编码问题(如查看、转换文件编码或解决乱码),可通过以下常用工具和命令实现:
一、
查看文件编码
file命令(快速检测)
bash文件名--mime-encoding 文件名
示例:
bashexample.txtenca命令(更详细检测)
需先安装:sudo apt install enca(Debian/Ubuntu)
bashenca 文件名示例:
bashenca report.csv
二、
转换文件编码
iconv 命令(通用编码转换)
bash
原编码 新编码 输入文件 输出文件
示例:
bash
gb2312 utf-8 old.txt new.txtlatin1 utf-8 data.csv fixed.csv
三、
解决终端乱码
- 查看当前终端编码
bash - 临时修改编码(当前会话生效)
bashen_US.UTF-8zh_CN.GBK
- 永久修改编码
编辑配置文件(根据 Linux 发行版选择):
bash/etc/locale.conflocale-gen
四、
其他实用工具
enca批量转换bashf enca zh_CN utf-8vim编码切换
打开文件后临时转换:vimutf # 设为当前文件编码utf # 保存为指定编码
常见场景示例
- 修复乱码文件:
bashlog.txtiso-8859-1 utf-8 log.txt log_utf8.txt
- 终端显示中文乱码:
bashzh_CN.UTF-8
注意事项
- 编码不匹配会导致乱码,优先使用 UTF-8(Linux 原生支持)。
- 转换前备份文件,避免数据丢失(尤其是二进制文件)。
- 若工具缺失,用
sudo apt install(Debian/Ubuntu)或yum install(CentOS)安装。
通过以上命令,可覆盖 90% 以上的 Linux 编码问题场景。