压缩和解压缩

今天我们所讲一些压缩以及解压缩的内容,可以方便我们去传输一些数据较大的文件,以及可以降低我们的内存使用率, 节省空间。我们常用的工具对单个文件进行压缩有4种,对于多个文件进行打包压缩有2种。

1、compress(单个文件压缩)

    压缩后的文件后缀名都是.Z结尾

    compress file1     对单个文件压缩

       -d       解压缩文件(uncompress或者zcat file.Z > file也可以解压缩)

       -c > file1 将结果打印到屏幕上,配合重定向,不会覆盖原文件,但权限会变。

      压缩和解压缩

    -f       默认不对硬链接数为2及以上的文件压缩,加上f,强制压缩指定文件,而其他同inode的文件硬链接数减1

    -v 显示详细过程,可以查看压缩进程

     压缩和解压缩

    compress 不经常用,压缩比相对于其它比较低。并且compress -d 不能补齐

2、gzip (单个文件压缩)

    压缩的文件后缀为  .gz

    gzip file  压缩file单个文件

    -d    解压文件 (gunzip或者zcat file.gz > file都可以解压缩)

    -c 将结果打印到屏幕上,配合重定向,不会覆盖原文件,但权限会变。

    -f 默认不对硬链接数为2及以上的文件压缩,加上f,强制压缩指定文件,而其他同inode的文件硬链接数减1

    -v 显示详细过程,可以查看压缩进程

    -# 数字越大,压缩比越高,速度越慢,文件越小。

    -1 等于 – -fast

    -2,3,4,5,6(默认),7,8

    -9 等于 – -best

    压缩和解压缩

    这个gzip 相对于compress较为常用,这个对于-d 后面就能补全,大家可以试试。

3、bzip2(单个文件压缩)

    压缩的文件后缀名都为 .bz2

    -d 解压文件 (bunzip或者bzcat file.bz2 > file)

    -c 将结果打印到屏幕上,配合重定向,不会覆盖原文件,但权限会变。

    -f 默认不对硬链接数为2及以上的文件压缩,加上f,强制压缩指定文件,而其他同inode的文件硬链接数减1

    -v 显示详细过程,可以查看压缩进程

    -k 保留原文件

    压缩和解压缩

    -# 数字越大,压缩比越高,速度越慢,文件越小。

        -1 等于 – -fast

        -2,3,4,5,6,7,8

        -9 等于 – -best(默认)

    压缩和解压缩

    相对于前面两个这个多个-k,可以直接保留原文件了。

4、xz(单个文件压缩)

    压缩的文件后缀名都为 .xz

    -d 解压文件 (xzcat)

    -k 保留原文件 权限不变

    -f 默认不对硬链接数为2及以上的文件压缩,加上f,强制压缩指定文件,而其他同inode的文件硬链接数减1

    -v 显示详细过程,可以查看压缩进程

    压缩和解压缩

    -# 数字越大,压缩比越高,速度越慢,文件越小。

        -0 等于 – -fast

        -1,2,3,4,5,6(默认),7,8

        -9 等于 – -best

    压缩和解压缩

xz 压缩也是多个-k选项,能直接保留原文件,相对于bzip2 多个-0 ,这个也经常用。我们可以在centos官方压缩包里面看到大多数都是xz   bz2   gz

5、zip (打包压缩)

    压缩生成的文件后缀名都是.zip

    zip -r 压缩后新名字 (文件或目录)

    unzip解压缩

    |zip 将生成的文件名 –

    可以将管道前的输出结果转为文件并压缩。通过此方式压缩的文件只能使用“unzip -p 压缩包 > 新文件 ”来解压缩

    如果只输入zip -p 就是预览压缩包里面的内容

    压缩和解压缩

6、tar(打包压缩)*****最为重要

        -cf 创建的包名字  原文件(可以指定多个)

        -tf 包名字   显示包中的文件名

        -tvf 详细显示包中的文件名

        -rf 包名字 新文件名(可以指定多个)      添加文件进入以生成的包里面

        – -delete -f 包名字 被删除的文件名(可以指定多个)

        -xf 包名字 解出所有的文件到当前目录

            -xf  包名字 文件  解所指定的文件到当前目录

            -xf  包名字 -C 指定目录    解锁指定的压缩包到指定目录

    压缩和解压缩

    -v 显示过程    

    -Jcf 创建包的名字(.tar.xz) 原文件(可以指定多个) 打包并用xz压缩

    -jcf 创建包的名字(.tar.bz2) 原文件(可以指定多个) 打包并用bzip压缩

    -zcf 创建包的名字(.tar.gz) 原文件(可以指定多个) 打包并用gzip压缩

    压缩和解压缩

    我们可以根据压缩后的大小能看出来压缩方式不一样。

    分割文件与合并文件

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

    压缩和解压缩

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

    压缩和解压缩

    掌握以上的六种技能,就可以对一些分散的文件集中化处理,希望能对大家有帮助。

原创文章,作者:In summer,如若转载,请注明出处:http://www.178linux.com/84504

(0)
上一篇 2017-08-12 15:30
下一篇 2017-08-12 16:39

相关推荐

  • 迁移home到独立分区

    1,fdisk  /dev/sda  创建10G的分区 Lsblk 查看下新创建分区是否同步 partx  -a  /dev/sda 同步 2,mkfs.ext4  /dev/sda6  -L  /home 创建文件系统跟卷标 3,mkdir  /mnt/home  创建一个挂载点 mount  /dev/sda6  /mnt/home 挂载 4,cp  -…

    2017-12-14
  • Systemd——CentOS7的init

    Systemd:     POST –> Boot Sequeue(BIOS) –> Bootloader(MBR) –> kernel(ramdisk) –> rootfs –> /sbin/init init:   &nbsp…

    Linux干货 2016-09-20
  • N22-℡浮生.若夢 ╮第六周作业

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; cp /etc/rc.sysinit /tmp/rc.sysinit vim/tmp/rc.sysinit :%s@^[[:space:]]\+@#&@g 2、复制/boot/grub…

    Linux干货 2016-10-29
  • linux基础服务之DNS

    一、DNS简介 1、DNS:Domain Name System(域名系统),是互联网上IP和域名相互解析的分布式层级结构的数据库。DNS的出现能够使用户更好的更加方便的访问互联网,不用记IP地址来访问互联网,可以通过人类更容易记住域名来访问互联网。 2、DNS是一种C/S架构的服务器,客户机用于一个名字对应的地址,而服务器是为客户机提供查询的,查询由两种机…

    2017-05-29
  • 正则表达式

    什么是正则表达式? 正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为”元字符”)。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,许多程序设计语言都支持利用正则表达式进行字符串操作。正则表达式是烦琐的,但它是强大的,学会之后的应用会让你除…

    Linux干货 2017-06-01
  • ~~ 1;列出当前系统上所有已经登录的用户的用户名,注意:同一用户登录多次,则只显示 一次即可。 # who | cut -d" " -f 1 | sort -u 2;取出最后登录到当前系统的用户的相关信息 # id $(who | tail -1 |cut -d" " -f 1) # last | head -1 3…

    Linux干货 2017-01-03