linux下tar打包到windows下解压缩后中文文件名乱码

主要原因是WINDOWS与LINUX对文件系统字符集的处理方式是不相同的。
zip和rar会记录字符集,自动转换,而tar不是跨平台解压缩的。
比如 “中国.txt”,utf-8下编码是e4b8ade59bbd,tar里面记录的是e4b8ade59bbd.tar,然后


gbk下中国不是e4b8ade59bbd,所以就是乱码了。


1)对于.zip
linux下提供了zip和unzip程序,zip是压缩程序,unzip是解压程序。它们的参数选项很多


,这里只做简单介绍,依旧举例说明一下其用法:
# zip all.zip *.jpg
这条命令是将所有.jpg的文件压缩成一个zip包
注意:如果要压缩的是个文件夹,则要加上-r参数,表示调用递归压缩,如:
zip -r temp.zip temp
# unzip all.zip
这条命令是将all.zip中的所有文件解压出来
2)对于.rar
要在linux下处理.rar文件,需要安装RAR for Linux,可以从网上下载,但要记住,RAR


for Linux
不是免费的;然后安装:
# tar -xzpvf rarlinux-3.2.0.tar.gz
# cd rar
# make
这样就安装好了,安装后就有了rar和unrar这两个程序,rar是压缩程序,unrar是解压程


序。它们的参数选项很多,这里只做简单介绍,依旧举例说明一下其用法:
# rar a all *.jpg
这条命令是将所有.jpg的文件压缩成一个rar包,名为all.rar,该程序会将.rar 扩展名将


自动附加到包名后。
# unrar e all.rar
这条命令是将all.rar中的所有文件解压出来

    推荐阅读