如何在LINUX中修改文件字符集

有些情况下,我们需要修改文件的字符集,以便解决乱码或者其他问题。在linux下,操作系统为我们提供了ICONV这个命令,下面我们来看一下这个命令的具体使用方法。

[root@oadata ~]# iconv --help
用法: iconv [选项...] [文件...]
转换给定文件的编码。  

 输入/输出格式规范:
  -f, --from-code=名称     原始文本编码
  -t, --to-code=名称       输出编码  

 信息:
  -l, --list                 列举所有已知的字符集  

 输出控制:
  -c                         从输出中忽略无效的字符
  -o, --output=FILE          输出文件
  -s, --silent               关闭警告
      --verbose              打印进度信息  

  -?, --help                 给出该系统求助列表
      --usage                给出简要的用法信息
  -V, --version              打印程序版本号  

Mandatory or optional arguments to long options are also mandatory or optional
for any corresponding short options.  

For bug reporting instructions, please see:
<http://www.gnu.org/software/libc/bugs.html>.

如果要查看某个文件的字符信息,linux同样提供了file函数:

[root@oadata ~]# file --help
Usage: file [OPTION]... [FILE]...
Determine file type of FILEs.  

  -m, --magic-file LIST      use LIST as a colon-separated list of magic
                               number files
  -z, --uncompress           try to look inside compressed files
  -b, --brief                do not prepend filenames to output lines
  -c, --checking-printout    print the parsed form of the magic file, use in
                               conjunction with -m to debug a new magic file
                               before installing it
  -f, --files-from FILE      read the filenames to be examined from FILE
  -F, --separator string     use string as separator instead of `:'
  -i, --mime                 output mime type strings
  -k, --keep-going           don't stop at the first match
  -L, --dereference          causes symlinks to be followed
  -n, --no-buffer            do not buffer output
  -N, --no-pad               do not pad output
  -p, --preserve-date        preserve access times on files
  -r, --raw                  don't translate unprintable chars to \ooo
  -s, --special-files        treat special (block/char devices) files as
                             ordinary ones
      --help                 display this help and exit
      --version              output version information and exit  

[root@oadata ~]# file -i a.log
a.log: text/plain; charset=us-ascii

单文件的字符集转换:

[oracle@oadata dir1]$ ls -l
总计 4
-rw-r--r-- 1 oracle oinstall 22 10-12 13:14 utf8.txt
[oracle@oadata dir1]$ file -i utf8.txt
utf8.txt: text/plain; charset=utf-8
[oracle@oadata dir1]$ iconv -f utf-8 -t gbk -o gbk.txt utf8.txt
[oracle@oadata dir1]$ ls -l
总计 8
-rw-r--r-- 1 oracle oinstall 15 10-12 13:43 gbk.txt
-rw-r--r-- 1 oracle oinstall 22 10-12 13:14 utf8.txt
[oracle@oadata dir1]$ file -i gbk.txt
gbk.txt: text/plain; charset=iso-8859-1

对某目录下的文件进行字符集转换:

<pre name="code" class="plain">for i in `find ./ -name *.php` ;
do echo $i;iconv -c -f gb18030 -t utf8 $i -o /tmp/iconv.tmp;
mv /tmp/iconv.tmp $i;
done</pre><br><br>

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/OS/Linux/

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索oracle
, 文件
, file
, 字符集
, output
输出
linux 修改文件字符集、linux 修改字符集、linux修改字符集编码、linux修改mysql字符集、linux修改系统字符集,以便于您获取更多的相关知识。

时间: 2024-08-10 15:05:39

如何在LINUX中修改文件字符集的相关文章

Linux有问必答:如何在Linux中修改环境变量PATH

Linux有问必答:如何在Linux中修改环境变量PATH 提问: 当我试着运行一个程序时,它提示"command not found". 但这个程序就在/usr/local/bin下.我该如何添加/usr/local/bin到我的PATH变量下,这样我就可以不用指定路径来运行这个命令了. 在Linux中,PATH环境变量保存了一系列的目录用于用户在输入的时候搜索命令.PATH变量的值由一系列的由冒号分隔的绝对路径组成.每个用户都有特定的PATH环境变量(由系统级的PATH变量初始化)

如何在 Linux 中复制文件到多个目录中

在学习 Linux 的过程中,对于新手而言总是会使用几个命令来完成一个简单的任务.对正在熟悉使用终端的人这是很容易理解的行为.然而,如果你想要成为一个老手,学习我说的"快捷命令"会显著减少时间浪费. 在本篇中,我们会用一个简单的方法在 Linux 中用一个命令来将目录复制到多个文件夹中. 在 Linux 中,cp 命令常被用于从一个文件夹中复制文件到另一个文件夹中,最简单的语法如下: # cp [options-.] source(s) destination 另外,你也可以使用高级复

如何在 Linux 中使用 sFTP 上传或下载文件与文件夹

sFTP(安全文件传输程序)是一种安全的交互式文件传输程序,其工作方式与 FTP(文件传输协议)类似. 然而,sFTP 比 FTP 更安全:它通过加密 SSH 传输处理所有操作. 它可以配置使用几个有用的 SSH 功能,如公钥认证和压缩. 它连接并登录到指定的远程机器,然后切换到交互式命令模式,在该模式下用户可以执行各种命令. 在本文中,我们将向你展示如何使用 sFTP 上传/下载整个目录(包括其子目录和子文件). 如何在 Linux 中使用 sFTP 传输文件/文件夹 默认情况下,SFTP 协

Linux中修改/etc/profile或者$HOME/.profile文件后如何立即生效?

Linux中修改/etc/profile或者$HOME/.profile文件后如何立即生效? 当我们在管理/etc/profile文件时,进行了一些定制的修改,哪么如何才能立即生效呢? [root@localhost~]# vi /etc/profile# /etc/profile # System wide environment and startup programs, for login setup# Functions and aliases go in /etc/bashrc # I

如何在Linux中列出通过RPM或者DEB包安装的文件

你是否想要了解安装包中各个文件在 Linux 系统中安装(位于)的位置?我们将在本文介绍如何列出文件的来源,或存在于某个特定包或者一组软件包中的文件. 这篇文章可以帮你轻松地找到重要的软件包文件,如配置文件.帮助文档等.我们来看看找出文件在哪个包中或者从哪个包中安装的几个方法: 如何列出 Linux 中全部已安装软件包的文件 你可以使用 repoquery 命令,它是 yum-utils 的一部分,用来列出给定的软件包在 CentOS/RHEL 系统上安装的文件. 要安装并使用 yum-util

如何在Linux中压缩及解压缩.bz2文件

对文件进行压缩,可以通过使用较少的字节对文件中的数据进行编码来显著地减小文件的大小,并且在跨网络的文件的备份和传送时很有用. 另一方面,解压文件意味着将文件中的数据恢复到初始状态. Linux 中有几个文件压缩和解压缩工具,比如gzip.7-zip.Lrzip.PeaZip 等等. 本篇教程中,我们将介绍如何在 Linux 中使用 bzip2 工具压缩及解压缩.bz2文件. bzip2 是一个非常有名的压缩工具,并且在大多数主流 Linux 发行版上都有,你可以在你的发行版上用合适的命令来安装它

如何在 Linux 中查找一个文件

对于新手而言,在 Linux 中使用命令行可能会非常不方便.没有图形界面,很难在不同文件夹间浏览,找到需要的文件.本篇教程中,我会展示如何在 Linux 中查找特定的文件. 第一步要做的是通过 SSH 连接到你的 Linux.在 Linux 中查找文件有两种方法.一种是使用 find 命令,另外一种是使用 locate 命令.我们先看第一种. find 命令 使用 Linux find 命令可以用不同的搜索标准如名字.类型.所属人.大小等来搜索目录树.基本语法如下: # find path ex

如何在Linux中查找一个文件

对于新手而言,在 Linux 中使用命令行可能会非常不方便.没有图形界面,很难在不同文件夹间浏览,找到需要的文件.本篇教程中,我会展示如何在 Linux 中查找特定的文件. 第一步要做的是通过 SSH 连接到你的 Linux.在 Linux 中查找文件有两种方法.一种是使用 find 命令,另外一种是使用 locate 命令.我们先看第一种. find 命令 使用 Linux find 命令可以用不同的搜索标准如名字.类型.所属人.大小等来搜索目录树.基本语法如下: # find path ex

如何在 Linux 中使用 Alpine 在命令行里访问 Gmail

如何在 Linux 中使用 Alpine 在命令行里访问 Gmail 假如你是一个命令行爱好者,我很确信你会使用这个强大的工作环境来执行哪怕是一项日常任务的工具,并为之欢呼,例如从 安排日程 . 管理财务 到 获取 Facebook .Twitter等任务.(LCTT 译注:阅读本文的另一个前提是,假如你还能访问 Gmail 或者知道 Gmail 是什么的话.) 在这个帖子中,我将为你展示 Linux 命令行的另一个漂亮干练的使用案例:访问 Google 的 Gmail 服务,为此,我们将使用