Linux tar命令

Linux 系统常见的压缩命令

在Linux的环境中,压缩文件的扩展名大多是:『*.tar, *.tar.gz, *.tgz, *.gz, *.Z, *.bz2』。
因为 Linux 支持的压缩命令非常多,且不同的命令所用的压缩技术并不相同,当然彼此之间可能就无法互通压缩/解压缩文件罗。 所以,当你下载到某个压缩档时,自然就需要知道该文件是由哪种压缩命令所制作出来的,好用来对照著解压缩啊! 也就是说,虽然 Linux 文件的属性基本上是与档名没有绝对关系的, 但是为了帮助我们人类小小的脑袋瓜子,所以适当的扩展名还是必要的! 底下我们就列出几个常见的压缩文件扩展名吧:

*.Z        	   compress 程序压缩的文件;
*.gz           gzip 程序压缩的文件;
*.bz2    	   bzip2 程序压缩的文件;
*.tar     	   tar 程序打包的数据,并没有压缩过;
*.tar.gz       tar 程序打包的文件,其中并且经过 gzip 的压缩
*.tar.bz2      tar 程序打包的文件,其中并且经过 bzip2 的压缩

gzip, bzip2等压缩命令只能针对一个文件来压缩与解压缩,因此tar命令就派上了用场,这个tar可以加很多个文件「打包」成一个文件。

gzip

gzip 可以说是应用度最广的压缩命令了!目前 gzip 可以解开 compress, zip 与 gzip 等软件所压缩的文件。 至于 gzip 所创建的压缩档为 *.gz 的档名喔!
gzip命令

gzip [选项] 参数 

常见选项

-d或–decompress或----uncompress:解开压缩文件;
-c或–stdout或–to-stdout:把解压后的文件输出到标准输出设备。
-f或——force:强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接;
-h或——help:在线帮助;
-l或——list:列出压缩文件的相关信息;
-L或——license:显示版本与版权信息;
-n或–no-name:压缩文件时,不保存原来的文件名称及时间戳记;
-N或——name:压缩文件时,保存原来的文件名称及时间戳记;
-r或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理;
-S或<压缩字尾字符串>或----suffix<压缩字尾字符串>:更改压缩字尾字符串;
-t或——test:测试压缩文件是否正确无误;
-v或——verbose:显示指令执行过程;
-<压缩效率>:压缩效率是一个介于1~9的数值,预设值为“6”,指定愈大的数值,压缩效率就会愈高;
–best:此参数的效果和指定“-9”参数相同;
–fast:此参数的效果和指定“-1”参数相同。

参数

文件列表:指定要压缩的文件列表。

当你使用 gzip 进行压缩时,在默认的状态下原本的文件会被压缩成为 .gz 的档名, 原始文件就不再存在了。一下命令可以保留原来的文件
gzip -c filename > filename.gz

tar

上面谈到的命令大多仅能针对单一文件来进行压缩,虽然 gzip 与 bzip2 也能够针对目录来进行压缩, 不过,这两个命令对目录的压缩指的是『将目录内的所有文件 “分别” 进行压缩』的动作! 而不像在 Windows 的系统,可以使用类似 WinRAR 这一类的压缩软件来将好多数据『包成一个文件』的样式。

首先要弄清两个概念:打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。

tar 可以将多个目录或文件打包成一个大文件,同时还可以通过 gzip/bzip2 的支持,将该文件同时进行压缩。

tar [选项] 参数 

选项

-c或–create:创建打包文件,可搭配 -v 来察看过程中被打包的档名(filename)
-x或–extract或–get:解打包或解压缩的功能,可以搭配 -C (大写) 在特定目录解开
-t :察看打包文件的内容含有哪些档名,重点在察看『档名』就是了
-r:添加文件到已经压缩的文件;
-u:添加改变了和现有的文件到已经存在的压缩文件;
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。
*-z或–gzip或–ungzip:透过 gzip 的支持进行压缩/解压缩:此时档名最好为 .tar.gz
-j:透过 bzip2 的支持进行压缩/解压缩:此时档名最好为 *.tar.bz2
-Z或–compress或–uncompress:通过compress指令处理备份文件;
-v或–verbose:在压缩/解压缩的过程中,将正在处理的档名显示出来!
-f<备份文件>或–file=<备份文件>:指定备份文件;切记,这个参数是最后一个参数,后面只能接档案名。
-C <目录>:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
-B:设置区块大小;
-d:记录文件的差别;
-A或–catenate:新增文件到以存在的备份文件;
-t或–list:列出备份文件的内容;
-l:文件系统边界设置;
-k:保留原有文件不覆盖;
-m:保留文件不被覆盖;
-w:确认压缩文件的正确性;
-p或–same-permissions:用原来的文件权限还原文件;
-P或–absolute-names:文件名使用绝对名称,不移除文件名称前的“/”号;
-N <日期格式> 或 --newer=<日期时间>:只将较指定日期更新的文件保存到备份文件里;
–exclude=<范本样式>:排除符合范本样式的文件。
参数
文件或目录:指定要打包的文件或目录列表。

其实最简单的使用 tar 就只要记忆底下的方式即可:

压 缩:tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称  (j:以bzip2压缩)
查 询:tar -jtv -f filename.tar.bz2
解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录

参考

第九章、文件与文件系统的压缩与打包
gzip命令

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值