原博文地址:http://www.cnblogs.com/york-hust/archive/2012/07/07/2580388.html

文件是在WIndows 下创建的,Windows 的文件名中文编码默认为GBK,而Linux中默认文件名编码为UTF8,由于编码

不一致所以导致了文件名乱码的问题,解决这个问题需要对文件名进行转码。文件名转码工具convmv没安装的话

用下面的命令安装:

sudo apt-get install convmv

复制代码

convmv 使用方法:

convmv -f 源编码 -t 新编码 [选项] 文件名

常用参数:

-r 递归处理子文件夹

–notest 真正进行操作,默认情况下是不对文件进行真实操作

–list 显示所有支持的编码

–unescap 可以做一下转义,比如把%20变成空格

应用举例:(看最后几段就是批量转化的结果)

ishagua@ishagua-laptop:~$ sudo apt-get install convmv
[sudo] password for ishagua: 
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
下列【新】软件包将被安装:
  convmv
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 20.2kB 的软件包。
解压缩后会消耗掉 90.1kB 的额外空间。
获取:1 http://cn.archive.ubuntu.com/ubuntu/ lucid/universe convmv 1.12-2 [20.2kB]
下载 20.2kB,耗时 0秒 (103kB/s)
选中了曾被取消选择的软件包 convmv。
(正在读取数据库 ... 系统当前总共安装有 151915 个文件和目录。)
正在解压缩 convmv (从 .../archives/convmv_1.12-2_all.deb) ...
正在处理用于 man-db 的触发器...
正在设置 convmv (1.12-2) ...
ishagua@ishagua-laptop:~lsBeyond.−.[25d.−.[25周年精选.CD1].专辑.(MP3)公共的视频文档音乐examples.desktop模板图片下载桌面ishagua@ishagua−laptop: lsBeyond.−.[25d.−.[25周年精选.CD1].专辑.(MP3)公共的视频文档音乐examples.desktop模板图片下载桌面ishagua@ishagua−laptop:  cd 下载/Beyond
ishagua@ishagua-laptop:~/下载/Beyondls01?Բ???Ϯ(BrainAttack).mp310??????(????).mp302????(Building).mp311??????(????).mp303??Զ?ȴ?(′8512????????).mp312Myth(′89?????ֳ?).mp304TheOtherDoor(′86̨???ֳ?).mp313Europe(′88demo).mp305??(′86??ɽ?ֳ?)−????ơ??.mp314?´???????(??̨??).mp306????????(′86?ֳ?).mp315UTwo(′88demo).mp307???յ??㼣(ȫ????).mp316UTwo(′91demo).mp308?ټ?????(′88?ֳ?).mp317SouthernAllStar(′91demo).mp309LongWayWithoutFriends(′88.mp3ishagua@ishagua−laptop: /下载/Beyondls01?Բ???Ϯ(BrainAttack).mp310??????(????).mp302????(Building).mp311??????(????).mp303??Զ?ȴ?(′8512????????).mp312Myth(′89?????ֳ?).mp304TheOtherDoor(′86̨???ֳ?).mp313Europe(′88demo).mp305??(′86??ɽ?ֳ?)−????ơ??.mp314?´???????(??̨??).mp306????????(′86?ֳ?).mp315UTwo(′88demo).mp307???յ??㼣(ȫ????).mp316UTwo(′91demo).mp308?ټ?????(′88?ֳ?).mp317SouthernAllStar(′91demo).mp309LongWayWithoutFriends(′88.mp3ishagua@ishagua−laptop: /下载/Beyondconvmv -f GBK -t UTF-8 --notest *.mp3
Your Perl version has fleas #37757 #49830 
mv "./01 Բ Ϯ (Brain Attack).mp3"        "./01脑部侵袭 (Brain Attack).mp3"
mv "./02 (Building).mp3"        "./02大厦 (Building).mp3"
mv "./03 Զ ȴ ('85 12 ).mp3"        "./03永远等待 ('85 12吋混音版).mp3"
mv "./04The Other Door ('86̨ ֳ ).mp3"        "./04The Other Door ('86台北现场).mp3"
mv "./05 ('86 ɽ ֳ ) - ơ .mp3"        "./05冲 ('86高山现场) - 高速啤机.mp3"
mv "./06 ('86 ֳ ).mp3"        "./06金属狂人 ('86现场).mp3"
mv "./07 յ 㼣 (ȫ ).mp3"        "./07旧日的足迹 (全长版).mp3"
mv "./08 ټ ('88 ֳ ).mp3"        "./08再见理想 ('88现场).mp3"
mv "./10 ( ).mp3"        "./10第三街 (快版).mp3"
mv "./11 ( ).mp3"        "./11主题曲 (慢版).mp3"
mv "./12Myth ('89 ֳ ).mp3"        "./12Myth ('89 伊馆现场).mp3"
mv "./14 ´ ( ̨ ).mp3"        "./14勇闯新世界 (电台版).mp3"
Ready!
ishagua@ishagua-laptop:~/下载/Beyond$
 
主要方法:convmv -f GBK -t UTF-8 --notest -r *[把当前文件夹下所有乱码文件名改过来]
 
 

【转】Ubuntu Linux 下文件名乱码(无效的编码)的快速解决办法的更多相关文章

  1. Ubuntu Linux 下文件名乱码(无效的编码)的快速解决办法

    文件是在WIndows 下创建的,Windows 的文件名中文编码默认为GBK,而Linux中默认文件名编码为UTF8,由于编码不一致所以导致了文件名乱码的问题,解决这个问题需要对文件名进行转码.文件 ...

  2. linux下删除大量文件提示参数过长解决办法

    linux下删除大量文件提示参数过长解决办法:在当前目录下rm -rf * 在linux中删除大量文件时,直接用rm会出现:-bash: /bin/rm: 参数列表过长的错误. 这时可以用find命令 ...

  3. Linux 下文件名乱码(无效的编码)的解决办法

    文件是在WIndows 下创建的,Windows 的文件名中文编码默认为GBK,而Linux中默认文件名编码为UTF8,由于编码 不一致所以导致了文件名乱码的问题,解决这个问题需要对文件名进行转码. ...

  4. Linux下修改MySQL数据库字符编码为UTF-8解决中文乱码

    由于MySQL编码原因会导致数据库出现乱码. 解决办法: 修改MySQL数据库字符编码为UTF-8,UTF-8包含全世界所有国家需要用到的字符,是国际编码. 具体操作: 1.进入MySQL控制台 &g ...

  5. linux 下idea 启动tomcat报JMX 1099错误解决办法

    开始使用linux开发环境,在配置idea 下tomcat 启动时报错,提示错误为unable to ping server at localhost:1099. 解决办法: 修改/etc/hosts ...

  6. Linux下BMP文件不能正常读取问题的解决办法

    今天将之前在win下编好的读取BMP图像功能移植到UNIX下. 碰到的第一个问题是,Linux下的BMP文件头的结构体需要自己重新定义一遍. 第二个问题是,需要搞清楚Linux是32位的还是64位的. ...

  7. Linux下Qt5.6 Fcitx无法输入中文输入解决办法

    Qt5.6的解决办法和之前的版本有点不同,方法如下:首先安装 fcitx-frontend-qt5.然后执行: 123 sudo cp /usr/lib/x86_64-linux-gnu/qt5/pl ...

  8. kali linux下不能以root权限运行vlc的解决办法

    习惯了在Linux下面使用VLC播放视频和音乐, 但是 VLC 的 linux 版本并不支持在root下面运行. 终端运行vlc命令报错,错误信息如下 root@kbdancer:~# vlc VLC ...

  9. Linux下重启就需要重新激活eth0的解决办法(ifup eth0)

    新安装linux系统,网卡不能自动激活去获取ip,每次都需要手工执行以下命令 ifup eth0 后续通过将ONBOOT=yes这句就能开机启动自动激活,就可以解决问题 vim /etc/syscon ...

随机推荐

  1. jupyter巨好玩-使用jupyter结合VScode写博客

    打开jupyter-ipython 其实人家就叫jupyter了,后面咱可能就少提ipython了. # 打开命令行,让我们输入 jupyter notebook 当然,这个前提是你已经安装了jupy ...

  2. C99新特性

    c99标准允许使用变长数组,变的意思是可以根据变量的值来指定数组的维数,如根据用户的输入值指定数组的大小,印象中以前是不可以的.现在在gcc中是可以的(PS:ansi c标准是C90标准): ==== ...

  3. 分支-03. 三天打鱼两天晒网-B3

    /*B3-分支-03. 三天打鱼两天晒网 *Main.c *测试通过 */ #include <stdio.h> #include <stdlib.h> int main() ...

  4. java中等于和equals的区别

    面试的时候没答上,很受打击,特写在这里. ==是判断两个变量或实例是不是指向同一个内存空间equals是判断两个变量或实例所指向的内存空间的值是不是相同 除了String和封装器,equals()和“ ...

  5. 4位或者5位led数码显示,485通信modbus,支持任意小数点写入,工业标准设置,可和plc,dcs,组态完美对接,支持定制修改

    MRD-5030具有4位8段数码管,支持通过工业标注协议Modbus(Modbus-RTU)控制显示,支持任意小数点的显示.数据以半双工方式通信.电源端口和通信端口都具有防浪涌,防雷600W保护,能够 ...

  6. 用Python写的一个多线程机器人聊天程序

    本人是从事php开发的, 近来想通过php实现即时通讯(兼容windows).后来发现实现起来特别麻烦, 就想到python.听说这家伙在什么地方都能发挥作用.所以想用python来做通讯模块...所 ...

  7. 解决Boost.Regex对中文支持不好的问题

    解决Boost.Regex对中文支持不好的问题 - k.m.Cao - 博客频道 - CSDN.NET 解决Boost.Regex对中文支持不好的问题 k.m.Caov0.1   问题的提出: Boo ...

  8. ASP.NET repeater添加序号列的方法

    ASP.NET repeater添加序号列的方法 1.<itemtemplate> <tr><td> <%# Container.ItemIndex + 1% ...

  9. libc++abi.dylib handler threw exception

    在iOS开发时,有时候遇到libc++abi.dylib handler threw exception这样的异常,  虽然在断点出加上了All Exceptions,也断到相应的代码了,但是没打印对 ...

  10. js生成随机数的方法实例总结 [收藏]

    js生成随机数的方法实例总结 js生成随机数主要用到了内置的Math对象的random()方法.用法如:Math.random().它返回的是一个 0 ~ 1 之间的随机数.有了这么一个方法,那生成任 ...