技术源于努力
努力实现梦想

linux文件压缩和归档 linux入门

压缩就是将多个文件或者目录合并成一个单独的文件

解压:将压缩文件的文件使用对应的算法还原对应的内容

压缩的原理:就是分析文件内容并根据压缩算法来进行文件内容的替换。
解压原理:就是将压缩文件中的内容按照压缩算法还原被替换的内容。

由于有些文件是二进制文件,能替换的内容很少,所以压缩后,大小不怎么变化,有的文件可以替换的内容多,所以压缩后文件大小会很小

现在常用的是:xz,bz2,gz
  Gzip:压缩后的格式为*.gz
  Bzip2:压缩后的格式是*.bz2
  Xz:压缩后的格式是*.xz
注意:
  1、 这三个文件都是压缩完后会删除原文件的。
  2、 这三个压缩命令只能压缩文件不能压缩目录。
  3、 如果传递的参数是一个目录的话,这三个命令会将目录下的所有文件进行单个的压缩。

Gzip:.gz
Gzip /PATH/TO/SOMEFILE:压缩完后会删除原文件
     -d 表示解压文件
     -NUM:NUM取值范围1-9,指定压缩比,默认为6,压缩比越大,压缩的效率越高,压缩时间越长,压缩后越小。
Gunzip:解压gz压缩文件
Gunzip /PATH/TO/SOMEFILE.gz 解压后也会删除原文件的。
Zcat:查看压缩文件的内容,只能查看文本文件的压缩文件,如果是图片或者其他需要专门的软件才能打开的文件,就查看不了了。原理就是临时解压到一个文件中,当查看完后就删除临时文件,压缩文件本身没有解压。

Bzip2: .bz2
比gzip有着更大的压缩比的压缩工具,使用格式近似。
Bzip2 /PATH/TO/SOMEFILE
  -d :解压文件
  -NUM :NUM取值范围1-9,指定压缩比,默认为6,压缩比越大,压缩的效率越高,压缩时间越长,压缩后越小。
  -k :保留原文件,默认情况下是删除原文件的,用这个选项保留原文件。
Bunzip2:解压bz2压缩文件
Bunzip2 /PATH/TO/SOMEFILE.bz2
Bzcat :查看bz2压缩文件。只能查看文本文件的压缩文件,如果是图片或者其他需要专门的软件才能打开的文件,就查看不了了。原理就是临时解压到一个文件中,当查看完后就删除临时文件,压缩文件本身没有解压。
Bzcat /PATH/TO/SOMEFILE.bz2

Xz:.xz
Xz /PATH/TO/SOMEFILE
  -d :解压文件
  -NUM :NUM取值范围1-9,指定压缩比,默认为6,压缩比越大,压缩的效率越高,压缩时间越长,压缩后越小。
  -k :保留原文件,默认情况下是删除原文件的,用这个选项保留原文件。
Bunzip2:解压bz2压缩文件
unxz:解压xz压缩文件
Unxz /PATH/TO/SOMEFILE.xz
Xzcat查看xz压缩文件。只能查看文本文件的压缩文件,如果是图片或者其他需要专门的软件才能打开的文件,就查看不了了。原理就是临时解压到一个文件中,当查看完后就删除临时文件,压缩文件本身没有解压。
Xzcat /PATH/TO/SOMEFILE.xz

Xzdec:体积很小的解压xz工具
格式:xzdec [option] [file]…
  -d:解压
  -k:保留原文件
  -c :显示xz压缩文件内容到屏幕上,并不解压xz文件。

Zip:很多系统都支持这个,这个压缩比不大,可以压缩目录。 这个压缩是不删除原文件的。 
格式:zip FILENAME.zip FILE1 FILE2….

归档(archive):将多个文件整合到一个文件,归档并不意味着压缩。

Zip属于即归档又压缩的工具。
Unzip:解压zip文件的。不会删除原文件并且解压会完全释放为压缩前的状态。

Tar:归档工具,只归档不压缩的。归档就类似一个打包,包装后的大小反而比几个文件大小总和还要大,是因为打包是要添加源码在里面的。Tar命令中的-是可以省略的。

格式:tar [option] [file]…
	-c:创建归档文件,和-f连用。
	-f  FILENAME.tar:指定操作的归档文件
	-x FILENAME.tar:展开归档文件,但是不删除原文件,和-f连用。
	--xattrs:归档时,保留文件的扩展属性信息
	-t : 不展开归档,查看归档了哪些文件,和-f连用。
	-czf:归档并调用gzip进行压缩
	-zxf:调用gzip解压缩文件并展开归档。如果有重名文件则会被覆盖掉。
	-jcf:归档并调用bzip2进行压缩
	-jxf:调用bzip2解压缩文件并展开归档。如果有重名文件则会被覆盖掉。
	-Jcf:归档并调用xz进行压缩
	-Jxf:调用xz解压缩文件并展开归档。如果有重名文件则会被覆盖掉。
	-xf :根据归档文件名后缀来判断是否压缩,如果有压缩会自动调用后缀名对应的压缩程序进行解压并展开文件。
	-jtf:不展开文件直接看bzip2压缩的归档文件。
	-Jtf:不展开文件直接看xz压缩的归档文件。
	-ztf:不展开文件直接看gzip压缩的归档文件。
	-tf:根据归档文件名后缀来判断是否压缩,如果有压缩会自动调用后缀名对应的压缩程序进行解压到临时文件并查看文件,并不解压原文件。
	-C:指定压缩文件或者展开压缩文件的路径。

Cpio:把文件做成归档文件或者从归档文件中复制文件。和tar功能差不多,但是比tar年限老。但是cpio比tar多了

举例:在/boot/下
[user1@kvdnc boot]$ ls -alh initramfs-3.10.0-327.el7.x86_64.img 
-rw-------. 1 root root 29M 12月 10 00:03 initramfs-3.10.0-327.el7.x86_64.img
把这个文件复制到其他的文件,这是启动需要的文件。
[root@kvdnc boot]# cp initramfs-3.10.0-327.el7.x86_64.img /home/sa/tartest.d/
 用file查看这个文件的内容格式:这是个gzip压缩的,使用最大压缩。
[root@kvdnc boot]# file initramfs-3.10.0-327.el7.x86_64.img 
initramfs-3.10.0-327.el7.x86_64.img: gzip compressed data, from Unix, last modified: Sat Dec 10 00:02:51 2016, max compression
由于gzip必须要解压gz后缀的文件,所以用mv重命名这个文件
[root@kvdnctartest.d]#mv initramfs-3.10.0-327.el7.x86_64.img initramfs-3.10.0-327.el7.x86_64.img.gz
用gzip解压
[root@kvdnc tartest.d]# gzip -d initramfs-3.10.0-327.el7.x86_64.img.gz
解压之后又变成了img了
[root@kvdnc tartest.d]# ls -alh initramfs-3.10.0-327.el7.x86_64.img 
-rw-------. 1 root root 63M 12月 23 16:39 initramfs-3.10.0-327.el7.x86_64.img
再用file查看这个文件的内容类型:
[root@kvdnc tartest.d]# file initramfs-3.10.0-327.el7.x86_64.img 
initramfs-3.10.0-327.el7.x86_64.img: ASCII cpio archive (SVR4 with no CRC)
这个时候就变成了cpio归档类型了。

Read:给一个变量赋值,这个值是用户来指定的。

         Read
[option]
变量名 

         当变量名的数量和给定值的数量一致的时候,用空格进行隔开赋值,如果是大于给定值,那么后边的变量就是空的,如果小于,则后边所有的值都是最后一个变量的。

                -p “PROMPT” 输出后边给定的PROMPT信息的。
		-t TIMEOUT 给定一个时间,超过这个时间就执行判断句

赞(0) 感谢小主打赏
未经允许不得转载:新域软件科技 » linux文件压缩和归档
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏