标签:windows文件复制到linux乱码
从linux往 windows拷贝文件或者从windows往Linux拷贝文件,有时会呈现中文文件名乱码的情况,呈现这种问题的原因是因为,windows的文件名 中文编码默认为GBK,而Linux中默认文件名编码为UTF8,由于编码不一致,,所以导致了文件名乱码的问题,解决这个问题需要对文件名进行转码。
在Linux中专门供给了一种工具convmv进行文件名编码的转换,可以将文件名从GBK转换成UTF-8编码,或者从UTF-8转换到GBK。
如下是详细操纵:
[[email protected] images]# ls
???_20170808142307.png bg_1.png icon10.png n1.png QQ??20170808124717.png
20170814_3089106_1_1020482_30008_0.JPG bg_2.png icon11.png n2.png QQ??20170808124835.png
20170814_3089107_2_1020482_30008_0.JPG bg_3.png icon1.jpg n3.png QQ??20170808125029.png
20170814_3089108_3_1020482_30008_0.JPG bg_4.png icon2.png n4.png QQ??20170808125556.png
2017082301.JPG bg_5.png icon3.png n5.png SS1-1.png
2017082302.JPG bg_6.png icon4.png nav_ico.png ss1-2.png
2.jpg bg_7.jpg icon5.png peixuntu.jpg ss1.png
333.png bg_9.jpg icon6.png ?????.png transparent.gif
444.png f1.jpg icon7.png ??????.png xztb01.png
about2_wpsA087.tmp.png f2.jpg icon8.png ??????.png xztb.png
about2_wpsA088.tmp.jpg f3.jpg icon9.png ??????.png ziliaoxiazai.png
about2_wpsA089.tmp.jpg f4.jpg logo 1.jpg ????????.png ??????.png
about2_wpsA08A.tmp.png f5.jpg logo2.jpg QQ??20170808105711.png
about3_wps8BA0.tmp.png gywm.jpg logo.png QQ??20170808124354.png
(如上检察时有很多的乱码)
[[email protected] wwwroot]# yum install -y convmv.noarch
(需要安置这个包)
[[email protected] test.com]# convmv -f gb2312 -t UTF-8 --notest -r Assets
mv "Assets/t/±¨±ls" "Assets/t/测验报名表.xls"
mv "Assets/t/.rar" "Assets/t/测验模拟器.rar"
mv "Assets/t/′.png" "Assets/t/代办代理证.png"
mv "Assets/t/±¨±).xls" "Assets/t/测验报名表(1).xls"
mv "Assets/upload/QQ20170809100124.png" "Assets/upload/QQ截图20170809100124.png"
mv "Assets/upload/3jpg" "Assets/upload/xx.jpg"
mv "Assets/upload/ˉ.jpg" "Assets/upload/xx.jpg"
mv "Assets/upload/a′jpg" "Assets/upload/xxx.jpg"
mv "Assets/upload/1.jpg" "Assets/upload/xxx.jpg"
mv "Assets/upload/aμ聦.jpg" "Assets/upload/xxx.jpg"
Ready!
如上就是用convmv来解决的,如下是它的语法介绍:
命令使用:
格局:convmv -f 源编码 -t 新编码 [选项] 文件名/目录名
GB2312->UTF-8
1
2
convmv -f gb2312 -t UTF-8 --notest -r 目录
convmv -f gb2312 -t UTF-8 --notest 测试.txt
(说明windows中默认的是gb2312 需要转换为linux中的utf-8,命令解释:
-f 参数是指出转换前的编码;
-t 是转换后的编码;
-r 递归措置惩罚惩罚子文件夹;
--notest 真正进行操纵,请注意在默认情况下是不同错误文件进行真实操纵的,而只是试验)