linux下的打包和压缩

linux中常见的两种压缩包文件的格式是.tar.gz.tar.gz.tar只是将文件简单地打包,文件的大小没变化,也就是说.tar文件只是一个包,没有被压缩;.tar.gz文件打包后用gzip压缩得到的文件会被压缩存放,可以减小压缩文件的大小,可以便于传输和存储;.gz文件是将一个文件用gzip压缩之后得到的压缩文件。

常用的文件打包和压缩的命令是tar命令和gzip命令,下面分别介绍。

1gzipgunzip

gzip命令是用来压缩单个文件的,也就是说不能用来压缩目录。这样就不难理解为什么linux中要单独有一个用来打包的tar命令。因此,对于目录,可以先使用tar命令打包,然后用gzip命令进行压缩。当然,现在利用tar中的某些选项,也可以一步到位,详见下文。

gunzip命令是用来对gzip产生的压缩文件进行解压的。其实,gzip-d选项就是用来解压缩的。所以gunzip就等同于gzip -d

下面是gzip命令的几个例子:

  • a.txt压缩为当前目录下的a.txt.gz(默认的名字就是这个样子在原文件名的后面加一个.gz
    • gzip a.txt
  • a.txt.gz解压到当前目录
    • gunzip a.txt.gz
    • gzip -d a.txt.gz

到这里不难发现gzipgunzip在压缩文件或者是解压缩文件的时候,都会将原来的文件删除。因此,为了压缩或者解压缩之后保留源文件,我们要用到两个命令的-c选项。-c选项是将压缩的结果写到标准输出,这里用的是linux重定向的功能将标准输出中的压缩或者解压缩的结果写入到一个文件,从而得到解压缩或者压缩的结果,同时保留原文件。

  • .gz压缩
    • gzip -c filename > filename.gz
  • 解压缩
    • gunzip -c filename.gz > filename
    • gzip -cd filename.gz > filename

2tar

tar命令可以用来将目录打包,其中也提供了打包之后压缩的选项。下面是tar命令使用的几个例子。

创建压缩文件.tar

下面的命令会将lfqy目录下的test目录压缩为test-02-07-14.tar

tar -cvf test-14-09-12.tar /home/lfqy/test

其中,-c选项代表创建新的tar文件(也就是压缩包);-v表示显示创建的过程;-f表示指定新创建的tar文件的名字,-f后面必须要紧跟文件名,因此,f选项放在各个选项的最后面。

创建压缩文件.tar.gz

为了创建要给gzip压缩包,还要使用tar命令的-z选项。

下面的命令将lfqy目录下的test目录压缩为test-14-09-12.tar.gz

tar -cvzf test-14-09-12.tar.gz /home/lfqy/test

这里要注意的是,和习惯上不同,在创建压缩包时,tar命令-f选项后面跟的是文件压缩后的名称,再后面才是被压缩文件的名称。

.tar文件的解压缩

为了解压.tar文件,要用到tar命令的-x选项代替压缩文件时用到的-c选项。文件默认会被解压到当前的目录,如果要指定解压到那个目录,需要用到-C选项。

下面的命令将文件解压到当前目录

tar -xvf filename.tar

下面的命令将文件解压到指定的目录

tar -xvf filename.tar -C /home/lfqy/file_untar/

tar.gz文件的解压缩

tar.gz文件解压缩的方式和tar文件相同

下面的命令将文件解压到当前目录

tar -xvf filename.tar.gz

下面的命令将文件解压到指定目录

tar -xvf filename.tar.gz -C /home/lfqy/file_untar/

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值