linux命令 -压缩/解压

一、zip格式

    zip可能是目前使用的最多的文档压缩格式。它最大的优点就是在不同的操作系统平台上使用。缺点就是支持

的压缩率不是很高,而tar.gz和tar.bz2在压缩率方面做得非常好。

    我们可以使用下列的命令压缩一个文件:

    zip -r archive_name.zip filename    (-r是压缩文件)

   下面是如果解压一个zip文件:

    unzip archive_name.zip              (解压文件在当前文件下)

    unzip archive_name.zip -d new_dir   (解压文件可以将文件解压缩至一个你指定的的目录,使用-d参数)

二、tar格式

 tar是在Linux中使用得非常广泛的文档打包格式。它的好处就是它只消耗非常少的CPU以及时间去打包文件,它

仅仅只是一个打包工具,并不负责压缩。下面是如何打包一个目录:

  tar -cvf archive_name.tar directory_to_compress      

  -v参数详细显示处理的文件
  -c参数是建立新的存档
  -f参数指定存档或设备

  打包之后如何解包:
  tar -xvf archive_name.tar

 上面这个解包命令将会将文档解开在当前目录下面。当然,你也可以用下面的这个命令来解包到指定的路径:

  tar -xvf archive_name.tar -C new_dir        (解包的参数是-C,不是小写c)

三、tar.gz格式

 这种格式是我使用得最多的压缩格式。它在压缩时不会占用太多CPU的,而且可以得到一个非常理想的压缩率。 
 压缩方式: 
 tar -zcvf archive_name.tar.gz filename
 解压缩方式: 
 tar -zxvf archive_name.tar.gz 
上面这个解包命令将会将文档解包在当前目录下面。当然,你也可以用下面的这个命令来指定解包的路径: 
 tar -zxvf archive_name.tar.gz -C new_dir 

四、tar.bz2格式
这种压缩格式是我们提到的所有方式中压缩率最好的。当然,这也就意味着,它比前面的方式要占用更多的CPU与时间。

 压缩方式: 
 tar -jcvf archive_name.tar.bz2 filename

 解压缩方式:
 tar -jxvf archive_name.tar.bz2
上面这个解包命令将会将文档解开在当前目录下面。当然,你也可以用下面的这个命令来指定解包的路径: 
 tar -jxvf archive_name.tar.bz2 -C new_dir

其它:应用场景
1、多个文件打包压缩

例如:将test1,test2文件夹生成test包可通过下面方法
tar -zcvf test3.tar.gz test1 test2

其它问题:
1.unzip命令解压zip格式乱码
在windows上压缩的文件,是以系统默认编码中文来压缩文件。由于zip文件中没有声明其编码,所以linux上的unzip一般以默认编码解压,中文文件名会出现乱码。
虽然2005年就有人把这报告为bug, 但是info-zip的官方网站没有把自动识别编码列入计划,可能他们不认为这是个问题。Sun对java中存在N年的zip编码问题,采用了同样的处理方式。

有2种方式解决问题:

  1. 通过unzip行命令解压,指定字符集
    unzip -O CP936 xxx.zip (用GBK, GB18030也可以)
    有趣的是unzip的manual中并无这个选项的说明, unzip --help对这个参数有一行简单的说明。

  2. 在环境变量中,指定unzip参数,总是以指定的字符集显示和解压文件
    /etc/environment中加入2行
    UNZIP="-O CP936"
    ZIPINFO="-O CP936"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值