• Centos7中使用7zip压缩工具


    7-Zip是一个支持7z(它实现了LZMA压缩算法,具有非常高的压缩比)、LZMA2、XZ、ZIP、Zip64、CAB、ARJ、GZIP、BZIP2、TAR、CPIO、RPM、ISO、大多数文件系统映像和DEB格式的文件归档器。RAR格式由于不是免费许可,已经被删除了。
    环境
    • Centos7.7 Minimal
    • p7zip-16.02
    安装

    默认Centos7没有安装p7zip安装包,默认源里面也没有这个安装包,需要安装epel源才能安装p7zip安装包。

    [root@localhost ~]# yum -y install epel-release
    [root@localhost ~]# yum -y install p7zip p7zip-plugins
    
    使用方法

    7z命令提供的函数字母与命令行选项类似,但使用时不使用-。这些参数字母告诉命令它需要执行的函数。

    压缩文件

    创建一个压缩包使用a参数

    创建一个7z格式的压缩包:

    [root@localhost ~]# 7z a files.7z file1.txt file2.txt file3.txt file4.txt 
    
    7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
    p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,1 CPU Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz (906EA),ASM,AES-NI)
    
    Scanning the drive:
    4 files, 0 bytes
    
    Creating archive: files.7z
    
    Items to compress: 4
    
        
    Files read from disk: 0
    Archive size: 143 bytes (1 KiB)
    Everything is Ok
    

    执行完命令,查看一下是否已经创建7z格式的压缩包
    Centos7中使用7zip压缩工具Centos7中使用7zip压缩工具
    创建一个包含目录的压缩包:

    [root@localhost ~]# 7z a gpg.7z .gnupg/
    
    7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
    p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,1 CPU Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz (906EA),ASM,AES-NI)
    
    Scanning the drive:
    2 folders, 5 files, 8280 bytes (9 KiB)
    
    Creating archive: gpg.7z
    
    Items to compress: 7
    
        
    Files read from disk: 2
    Archive size: 4157 bytes (5 KiB)
    Everything is Ok
    [root@localhost ~]#
    

    Centos7中使用7zip压缩工具Centos7中使用7zip压缩工具
    7zip还可以压缩、解压缩其他格式的压缩包。比如:创建一个.zip格式的压缩包。

    [root@localhost ~]# 7z a files.zip file{1..4}.txt
    
    7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
    p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,1 CPU Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz (906EA),ASM,AES-NI)
    
    Scanning the drive:
    4 files, 0 bytes
    
    Creating archive: files.zip
    
    Items to compress: 4
    
        
    Files read from disk: 4
    Archive size: 542 bytes (1 KiB)
    Everything is Ok
    

    Centos7中使用7zip压缩工具Centos7中使用7zip压缩工具

    列出压缩包里面的内容

    列出压缩包的内容使用l参数:

    [root@localhost ~]# 7z l gpg.7z 
    
    7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
    p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,1 CPU Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz (906EA),ASM,AES-NI)
    
    Scanning the drive for archives:
    1 file, 4157 bytes (5 KiB)
    
    Listing archive: gpg.7z
    
    --
    Path = gpg.7z
    Type = 7z
    Physical Size = 4157
    Headers Size = 278
    Method = LZMA2:12k
    Solid = +
    Blocks = 1
    
       Date      Time    Attr         Size   Compressed  Name
    ------------------- ----- ------------ ------------  ------------------------
    2020-01-04 18:24:05 D....            0            0  .gnupg
    2020-01-04 18:22:36 D....            0            0  .gnupg/private-keys-v1.d
    2020-01-04 18:24:48 ....A            0            0  .gnupg/S.gpg-agent
    2020-01-04 18:22:36 ....A            0            0  .gnupg/pubring.gpg
    2020-01-04 18:24:05 ....A            0            0  .gnupg/secring.gpg
    2020-01-04 18:22:36 ....A         7680         3879  .gnupg/gpg.conf
    2020-01-04 18:24:52 ....A          600               .gnupg/random_seed
    ------------------- ----- ------------ ------------  ------------------------
    2020-01-04 18:24:52               8280         3879  5 files, 2 folders
    

    Centos7中使用7zip压缩工具Centos7中使用7zip压缩工具

    解压文件

    使用e来解压文件,解压所有文件到当前目录。(不推荐使用)

    [root@localhost test]# 7z e gpg.7z 
    
    7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
    p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,1 CPU Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz (906EA),ASM,AES-NI)
    
    Scanning the drive for archives:
    1 file, 4157 bytes (5 KiB)
    
    Extracting archive: gpg.7z
    --
    Path = gpg.7z
    Type = 7z
    Physical Size = 4157
    Headers Size = 278
    Method = LZMA2:12k
    Solid = +
    Blocks = 1
    
    Everything is Ok
    
    Folders: 2
    Files: 5
    Size:       8280
    Compressed: 4157
    

    可以看到所有文件都解压到当前目录了。
    Centos7中使用7zip压缩工具Centos7中使用7zip压缩工具
    现在使用x参数解压文件看一下。

    [root@localhost test]# 7z x gpg.7z 
    
    7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
    p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,1 CPU Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz (906EA),ASM,AES-NI)
    
    Scanning the drive for archives:
    1 file, 4157 bytes (5 KiB)
    
    Extracting archive: gpg.7z
    --
    Path = gpg.7z
    Type = 7z
    Physical Size = 4157
    Headers Size = 278
    Method = LZMA2:12k
    Solid = +
    Blocks = 1
    
    Everything is Ok
    
    Folders: 2
    Files: 5
    Size:       8280
    Compressed: 4157
    

    可以看到解压出来的文件,按照原来文件的目录形式解压出来的。
    Centos7中使用7zip压缩工具Centos7中使用7zip压缩工具

    更新压缩包

    一段时间之后,需要将一些新文件添加到文件夹中,并且希望将他们添加到压缩包里面,可以不用创建一个新的压缩包,只需要更新现有的压缩包就可以。

    首先将test目录压缩

    [root@localhost test]# 7z a files.7z test/
    
    7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
    p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,1 CPU Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz (906EA),ASM,AES-NI)
    
    Scanning the drive:
    1 folder, 4 files, 0 bytes
    
    Creating archive: files.7z
    
    Items to compress: 5
    
        
    Files read from disk: 0
    Archive size: 158 bytes (1 KiB)
    Everything is Ok
    

    Centos7中使用7zip压缩工具Centos7中使用7zip压缩工具
    在test文件夹中创建几个文件,然后再更新压缩包:

    [root@localhost test]# touch test/file{5..10}.txt
    [root@localhost test]# 7z u files.7z test/
    
    7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
    p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,1 CPU Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz (906EA),ASM,AES-NI)
    
    Open archive: files.7z
    --
    Path = files.7z
    Type = 7z
    Physical Size = 158
    Headers Size = 158
    Solid = -
    Blocks = 0
    
    Scanning the drive:
    1 folder, 10 files, 0 bytes
    
    Updating archive: files.7z
    
    Items to compress: 7
    
        
    Files read from disk: 0
    Archive size: 186 bytes (1 KiB)
    Everything is Ok
    

    Centos7中使用7zip压缩工具Centos7中使用7zip压缩工具
    查看一下是否已经添加文件。

    [root@localhost test]# 7z l files.7z 
    
    7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
    p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,1 CPU Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz (906EA),ASM,AES-NI)
    
    Scanning the drive for archives:
    1 file, 186 bytes (1 KiB)
    
    Listing archive: files.7z
    
    --
    Path = files.7z
    Type = 7z
    Physical Size = 186
    Headers Size = 186
    Solid = -
    Blocks = 0
    
       Date      Time    Attr         Size   Compressed  Name
    ------------------- ----- ------------ ------------  ------------------------
    2020-03-11 14:24:54 D....            0            0  test
    2020-03-11 14:18:22 ....A            0            0  test/file1.txt
    2020-03-11 14:24:54 ....A            0            0  test/file10.txt
    2020-03-11 14:18:22 ....A            0            0  test/file2.txt
    2020-03-11 14:18:22 ....A            0            0  test/file3.txt
    2020-03-11 14:18:22 ....A            0            0  test/file4.txt
    2020-03-11 14:24:54 ....A            0            0  test/file5.txt
    2020-03-11 14:24:54 ....A            0            0  test/file6.txt
    2020-03-11 14:24:54 ....A            0            0  test/file7.txt
    2020-03-11 14:24:54 ....A            0            0  test/file8.txt
    2020-03-11 14:24:54 ....A            0            0  test/file9.txt
    ------------------- ----- ------------ ------------  ------------------------
    2020-03-11 14:24:54                  0            0  10 files, 1 folders
    

    Centos7中使用7zip压缩工具Centos7中使用7zip压缩工具

    总结

    7z格式的压缩比例比ZIP格式的压缩比例高30%-50%。

  • 相关阅读:
    《算法导论》读书笔记
    【原创】POI操作Excel导入导出工具类ExcelUtil
    10-JMM
    09-字节码执行引擎
    08-类加载机制
    07-前端编译与优化(待补充)
    06-字节码指令
    05-类文件结构
    04-垃圾回收(2)
    03-垃圾回收(1)
  • 原文地址:https://www.cnblogs.com/linuxprobe/p/12869001.html
Copyright © 2020-2023  润新知