Linux下文件的压缩解压打包

压缩可以使文件变小从而节省硬盘空间,在传送过程中也能节省网速,Linux提供了多个命令进行文件的压缩打包命令。

一、compress和uncompress

功能:压缩
compress filename
实现对单个文件的压缩,后缀名为.Z
-d 解压缩,也可用命令uncompress解压
-c 结果输出至标准输出,可以配合重定向 > 生成文件
-v 显示详情
使用compress压缩的文件,原文件消失,但是使用-c选项并且重定向压缩的文件,原文件还在,但是权限发生变化,因为重定向相当于独立于原文件自己重新创建了一个文件。
Linux下文件的压缩解压打包

二、gzip和gunzip

功能:压缩
压缩后的文件后缀:.gz
-d: 解压缩,相当于gunzip
-c: 将压缩或解压缩的结果输出至标准输出,可配合重定向 > 生成文件
Linux下文件的压缩解压打包

三、bzip2和bunzip2

功能:压缩
压缩后的文件后缀:.bz2
-k: keep, 保留原文件
-d:解压缩
-#:1-9,压缩比。数字越小,压缩越快,压缩的程度越低;数字越大,压缩的程度越高,压缩最慢。默认为6。
Linux下文件的压缩解压打包

四、xz和unxz

功能:压缩
压缩后的文件后缀:.xz
-k: keep, 保留原文件
-d:解压缩
-#:1-9,压缩比,默认为6
Linux下文件的压缩解压打包

五、zip和unzip

功能:打包并压缩
压缩后的文件后缀:.zip
注意:此命令可以打包,即压缩多个文件或者目录

Linux下文件的压缩解压打包

六、tar

功能:打包,可以加上压缩选项
打包后的文件后缀:.tar
-cf 创建包名字 原文件(可以指定多个)
-tf 包名字 显示包中的文件名
-tvf 详细显示包中的文件名
-rf 包名字 新文件名(可以指定多个)
–delete -f 包名字 被删除的文件名(可以指定多个)
-xf 包名字 解出所有的文件到当前目录
-xf 包名字 文件名 解所指定的文件到当前目录
-C 解包到指定目录
-v 显示过程
-Jcf 创建包的名字(.tar.xz) 原文件(可以指定多个) 打包并用xz压缩
-jcf 创建包的名字(.tar.bz2) 原文件(可以指定多个) 打包并用bzip压缩
-zcf 创建包的名字(.tar.gz) 原文件(可以指定多个) 打包并用gzip压缩
-T 指定个列表,包含需要被打包的文件,以换行符为间隔
-X 指定个排除列表,以换行符为间隔

Linux下文件的压缩解压打包

七、cpio

功能:打包
打包后的文件后缀:.cpio

ls 目录|cpio -o > 文件名.cpio 打包。
cpio -id < 文件名.cpio 解开被cpio打包的文件
-tv < 文件名.cpio 预览cpio打包的文件。

Linux下文件的压缩解压打包

八、拓展

1.split,如果一个文件过于庞大,比方说10T,但是只有10个1T的硬盘,那么如何存储呢?这是就可以用命令split将单个大文件切割为多个小文件。

切割:split –b Size –d tar-file-name prefix-name 将tar包分隔为多个文件

合并:cat 被分隔出的多个文件名 > 单个文件名

Linux下文件的压缩解压打包

2.各种cat
1) cat
查看普通文件的内容。
2) zcat
查看经过compress和gzip压缩的文件。
3) bzcat
查看经过bzip2压缩的文件。
4) xzcat
查看经过xz压缩的文件。