====== 文件名转码的工具--convmv ====== **convmv**能帮助我们很容易地对一个文件,一个目录下所有文件进行编码转换,比如gbk转为utf8等。 安装 ''apt-get install convmv'' 语法: convmv [options] FILE(S) ... DIRECTORY(S) 主要选项: 1、-f ENCODING 指定目前文件名的编码,如-f gbk 2、-t ENCODING 指定将要转换成的编码,如-f utf-8 3、-r 递归转换目录下所有文件名 4、--list 列出所有支持的编码 5、--notest 默认是只打印转换后的效果,加这个选项才真正执行转换操作。 常用参数: -r 递归处理子文件夹 –notest 真正进行操作,默认情况下是不对文件进行真实操作 –list 显示所有支持的编码 –unescap 可以做一下转义,比如把%20变成空格 -i 交互模式(询问每一个转换,防止误操作) convmv 的使用方法: convmv -f 源编码 -t 新编码 [选项] 文件名 例子: 这样转换以后“GBK编码的文件名”会被转换成UTF-8编码(只是文件名编码的转换,文件内容不会发生变化)。 注意:不要在NTFS和FAT文件系统中使用此命令,否则可能产生意外结果,如果要在Linux中正确的显示NTFS和 FAT的中文件名,可以通过mount参数来解决,具体方法参考man手册。 例子: 递归转换centos目录下的目前文件名编码gbk为utf-8: convmv -f gbk -t utf-8 --notest -r centos 2.代码示例: convmv -f GBK -t UTF-8 --notest -r 303i.com/* (303i.com/*为要转编码的文件的当前目录)