• Linux常见压缩命令


    几个常见的压缩文件扩展名

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

    compress

    [root@www ~]# yum install ncompress
    base        100% |=========================| 1.1 kB    00:00
    updates     100% |=========================|  951 B    00:00
    addons      100% |=========================|  951 B    00:00
    extras      100% |=========================| 1.1 kB    00:00
    Setting up Install Process
    Parsing package install arguments
    Resolving Dependencies              <==開始分析相依性
    --> Running transaction check
    ---> Package ncompress.i386 0:4.2.4-47 set to be updated
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    =======================================================
     Package       Arch   Version     Repository     Size
    =======================================================
    Installing:
     ncompress     i386   4.2.4-47    base            23 k
    
    Transaction Summary
    =======================================================
    Install      1 Package(s)  <==最后分析所要安装的软件数
    Update       0 Package(s)
    Remove       0 Package(s)
    
    Total download size: 23 k
    Is this ok [y/N]: y    <==这里请按下 y 来确认安装
    Downloading Packages:
    (1/1): ncompress-4.2.4-47 100% |=========================|  23 kB    00:00
    warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID e8562897
    Importing GPG key 0xE8562897 "CentOS-5 Key (CentOS 5 Official Signing Key) 
    <centos-5-key@centos.org>" from http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
    Is this ok [y/N]: y    <==这里则是与数码签章有关
    Running rpm_check_debug
    Running Transaction Test
    Finished Transaction Test
    Transaction Test Succeeded
    Running Transaction
      Installing: ncompress          ######################### [1/1]
    
    Installed: ncompress.i386 0:4.2.4-47
    Complete!
    


    [root@www ~]# compress [-rcv] 文件或文件夹  <==这里是压缩
    [root@www ~]# uncompress 文件.Z           <==这里是解压缩
    选项与參数:
    -r  :能够连同文件夹下的文件也同一时候给予压缩呢!
    -c  :将压缩数据输出成为 standard output (输出到萤幕)
    -v  :能够秀出压缩后的文件资讯以及压缩过程中的一些档名变化。
    
    范例一:将 /etc/man.config 拷贝到 /tmp ,并加以压缩
    [root@www ~]# cd /tmp
    [root@www tmp]# cp /etc/man.config .
    [root@www tmp]# compress -v man.config
    man.config:  -- replaced with man.config.Z Compression: 41.86%
    [root@www tmp]# ls -l /etc/man.config /tmp/man*
    -rw-r--r-- 1 root root 4617 Jan  6  2007 /etc/man.config   <==原有文件
    -rw-r--r-- 1 root root 2684 Nov 10 17:14 /tmp/man.config.Z <==经过压缩的文件!



            不知道你有没有发现,拷贝到 /tmp 的 man.config 不见了。由于被压缩成为 man.config.Z 罗 也就是说。在默认的情况中。被 compress 压缩的原始文件会不见。而压缩文件会被创建起来。 并且扩展名会是 *.Z。细致看一下,文件由原本的 4617bytes 降低到 2684bytes左右。确实有降低一点。



    范例二:将刚刚的压缩档解开
    [root@www tmp]# uncompress man.config.Z
    [root@www tmp]# ll man*
    -rw-r--r-- 1 root root 4617 Nov 10 17:14 man.config
    


    范例三:将 man.config 压缩成另外一个文件来备份
    [root@www tmp]# compress -c man.config > man.config.back.Z
    [root@www tmp]# ll man*
    -rw-r--r-- 1 root root 4617 Nov 10 17:14 man.config
    -rw-r--r-- 1 root root 2684 Nov 10 17:24 man.config.back.Z
    # 这个 -c 的选项比較有趣!他会将压缩过程的数据输出到萤幕上,而不是写入成为 
    # *.Z 的压缩档。所以。我们能够透过数据流重导向的方法将数据输出成为还有一个档名。
    # 关於数据流重导向,我们会在第十一章 bash 具体谈论的啦!
    


            再次强调。compress 已经非常少人在使用了,由于这支程序无法解开 *.gz 的文件,而 gzip 则能够解开 *.Z 的文件, 所以,假设你的 distribution 上面没有 compress 的话。那就不要进行上面的练习。


    gzip,zcat

    [root@www ~]# gzip [-cdtv#] 档名
    [root@www ~]# zcat 档名.gz
    选项与參数:
    -c  :将压缩的数据输出到萤幕上。可透过数据流重导向来处理。
    -d  :解压缩的參数;
    -t  :能够用来检验一个压缩档的一致性~看看文件有无错误;
    -v  :能够显示出原文件/压缩文件的压缩比等资讯;
    -#  :压缩等级,-1 最快。可是压缩比最差、-9 最慢,可是压缩比最好!

    默认是 -6 范例一:将 /etc/man.config 拷贝到 /tmp 。而且以 gzip 压缩 [root@www ~]# cd /tmp [root@www tmp]# cp /etc/man.config . [root@www tmp]# gzip -v man.config man.config: 56.1% -- replaced with man.config.gz [root@www tmp]# ll /etc/man.config /tmp/man* -rw-r--r-- 1 root root 4617 Jan 6 2007 /etc/man.config -rw-r--r-- 1 root root 2684 Nov 10 17:24 /tmp/man.config.back.Z -rw-r--r-- 1 root root 2057 Nov 10 17:14 /tmp/man.config.gz <==gzip压缩比較佳



    范例二:由於 man.config 是文字档,请将范例一的压缩档的内容读出来!

    [root@www tmp]# zcat man.config.gz # 由於 man.config 这个原本的文件是是文字档。因此我们能够尝试使用 zcat 去读取! # 此时萤幕上会显示 man.config.gz 解压缩之后的文件内容。 范例三:将范例一的文件解压缩 [root@www tmp]# gzip -d man.config.gz # 不要使用 gunzip 这个命令,不好背。使用 gzip -d 来进行解压缩。 # 与 gzip 相反, gzip -d 会将原本的 .gz 删除,产生原本的 man.config 文件。 范例四:将范例三解开的 man.config 用最佳的压缩比压缩。并保留原本的文件 [root@www tmp]# gzip -9 -c man.config > man.config.gz


            cat 能够读取纯文字档。那个 zcat 则能够读取纯文字档被压缩后的压缩档。 由於 gzip 这个压缩命令主要想要用来代替 compress 的。所以不但 compress 的压缩文件能够使用 gzip 来解开。同一时候 zcat 这个命令能够同一时候读取 compress 与 gzip 的压缩档.


    bzip2,bzcat

    [root@www ~]# bzip2 [-cdkzv#] 档名
    [root@www ~]# bzcat 档名.bz2
    选项与參数:
    -c  :将压缩的过程产生的数据输出到萤幕上。
    -d  :解压缩的參数
    -k  :保留原始文件,而不会删除原始的文件喔。
    -z  :压缩的參数
    -v  :能够显示出原文件/压缩文件的压缩比等资讯;
    -#  :与 gzip 相同的,都是在计算压缩比的參数, -9 最佳, -1 最快!
    
    范例一:将刚刚的 /tmp/man.config 以 bzip2 压缩
    [root@www tmp]# bzip2 -z man.config 
    # 此时 man.config 会变成 man.config.bz2 !

    范例二:将范例一的文件内容读出来!

    [root@www tmp]# bzcat man.config.bz2 # 此时萤幕上会显示 man.config.bz2 解压缩之后的文件内容!! 范例三:将范例一的文件解压缩 [root@www tmp]# bzip2 -d man.config.bz2 范例四:将范例三解开的 man.config 用最佳的压缩比压缩。并保留原本的文件 [root@www tmp]# bzip2 -9 -c man.config > man.config.bz2


  • 相关阅读:
    关于内存对齐的一点理解
    绿萝记
    《程序是怎样跑起来的》读书笔记——第五章 内存和磁盘的亲密关系
    《程序是怎样跑起来的》读书笔记——第四章 熟练使用有棱有角的内存
    《程序是怎样跑起来的》读书笔记——第三章 计算机进行小数运算时出错的原因
    《程序是怎样跑起来的》读书笔记——第二章 数据是用二进制数表示的
    《程序是怎样跑起来的》读书笔记——第一章 对程序员来说CPU是什么
    代理模式--学习记录
    latex学习--基础知识
    JavaIO之File类
  • 原文地址:https://www.cnblogs.com/yfceshi/p/7043819.html
Copyright © 2020-2023  润新知