Linux 下 zip 文件解压乱码解决方案,ubuntu16.10亲测可用

文章来源: https://www.zhihu.com/question/20523036

今天邮件中收到了一个压缩文件,解压后却是乱码,从网上也找了几个方法,目前这个方法还是比较可靠的,如下所示:

7z方案

需要安装p7zip和convmv,在Fedora下的命令是

su -c ‘yum install p7zip convmv‘

在ubuntu下的安装命令是

sudo apt-get install p7zip convmv

安装完之后,就可以用7za和convmv两个命令完成解压缩任务。

LANG=C 7za x your-zip-file.zip
convmv -f GBK -t utf8 --notest -r .

第一条命令用于解压缩,而LANG=C表示以US-ASCII这样的编码输出文件名,如果没有这个语言设置,它同样会输出乱码,只不过是UTF8格式的乱码(convmv会忽略这样的乱码)。

第二条命令是将GBK编码的文件名转化为UTF8编码,-r表示递归访问目录,即对当前目录中所有文件进行转换。

时间: 2024-11-16 01:28:29

Linux 下 zip 文件解压乱码解决方案,ubuntu16.10亲测可用的相关文章

解决Linux下zip文件解压乱码问题

#!/usr/bin/env python # -*- coding: utf-8 -*- import os import sys import zipfile #print "Processing File " + sys.argv[1] file=zipfile.ZipFile(sys.argv[1],"r"); for name in file.namelist(): utf8name=name.decode('gbk') # print "Ext

linux下zip文件解压后乱码解决方案

解决办法一,利用pyton来处理 1.vi uzip文件2.复制一下内容(Python) #!/usr/bin/env python # -*- coding: utf-8 -*- # uzip.py import os import sys import zipfile print "Processing File " + sys.argv[1] file=zipfile.ZipFile(sys.argv[1],"r"); for name in file.nam

Linux系统下ZIP文件解压和压缩命令

zip all.zip *.jpg   #将所有.jpg的文件压缩成一个zip包 unzip all.zip    #将all.zip中的所有文件解压到当前目录中 unzip all.zip -d all #将all.zip 中的所有文件解压到当前目录中的all文件夹中 zip -r hy.zip hy  #将当前目录下的hy文件夹压缩为hy.zip zip -r hy.zip hy 123.txt  #将当前目录下的hy文件夹和123.txt压缩为hy.zip 作者:open210 来源:CS

Linux下创建与解压tar, tar.gz和tar.bz2文件及压缩率对比 | 沉思小屋

刚 在qq群里面一位仁兄问到文件压缩的命令,平时工作中大多用解压缩命令,要是遇到压缩就现查(这不是一个好习惯),于是整理下Linux下创建与解压 zip.tar.tar.gz和tar.bz2文件及他们之间压缩率对比,在自己的脑袋内存空间有限又不经常使用的时候以便于备忘.现整理如下: 目前Linux下常见的压缩文件扩展名: *.Z        compress程序压缩的文件(最早期使用),压缩后取代源文件: *.zip      一个夸平台的文件打包程序,适用于Linux.windows和Mac

Linux下压缩与解压命令tar

tar [-cxtzjvfpPN] 文件与目录 .... 参数: -c :建立一个压缩文件的参数指令(create 的意思): -x :解开一个压缩文件的参数指令! -t :查看 tarfile 里面的文件! 特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在! 因为不可能同时压缩与解压缩. -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩? -j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩? -v :压缩的过程中显示文件!这个常用

Linux下常见压缩解压命令

inux zip命令 zip -r myfile.zip ./* 将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. 2.unzip unzip -o -d /home/sunny myfile.zip 把myfile.zip文件解压到 /home/sunny/ -o:不提示的情况下覆盖文件: -d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下: 3.其他 zip -d myfile.zip smart.txt 删

Linux下的压缩解压命令

1. linux zip命令 压缩 zip -r filename.zip ./*                  // 将当前目录下的所有文件和文件夹全部压缩成 filename.zip文件 -r表示递归压缩子目录下所有文件 解压 unzip -d test filename.zip            // 把filename.zip文件解压到 ./test -d:-d test 指明将文件解压缩到./test目录下: 2. linux tar命令 -c: 建立压缩档案 -x: 解压 -

[转载] linux下tar命令解压到指定的目录

参考 http://blog.sina.com.cn/s/blog_62449fcf0100nfar.html linux下tar命令解压到指定的目录 : #tar zxvf /bbs.tar.zip -C /zzz/bbs //把根目录下的bbs.tar.zip解压到/zzz/bbs下,前提要保证存在/zzz/bbs这个目录 这个和cp命令有点不同,cp命令如果这个目录不存在,就会自动创建这个目录! 附:用tar命令打包 例:将 当前目录下的zzz文件 打包到当前目录下并命名为zzz.tar.

ZIP文件解压

public class DZip { /// <summary> /// 压缩为ZIP文件 /// </summary> public void Zip(string directory,string fileName) { //using (var archive = ZipArchive.Create()) //{ // archive.AddAllFromDirectory(@"C:\\source"); // archive.SaveTo(@"