7z 快速、高压缩率的命令参数 压缩方法

7z是一款免费开源的数据压缩解压软件,一般的私人或公司的软件使用,都可以使用该软件,来替换Zip或RAR这些商用软件。

7z可以通过编程的命令,进行固定方式的压缩,来满足数据备份或存档的需求。

7z有两个版本,一个是标准的版本,可以在7z官网下载,该版本包含基本的压缩算法。

另一个版本是7-Zip Zstandard Edition,这个版本拥用更多的压缩算法,例如ZStandard, Brotli, LZ4, LZ5 ,Lizard,Fast LZMA2,这些算法中,LZ4是压缩速度最快的算法,而Fast LZMA2是在保证速度的情况下压缩比最高的算法,这个可以在7-zip-zstd的Github上下载。

安装完,7-zip-ZStandard的版本有下面的文件:主要的文件有7z.exe和7z.dll这两个是命令行应用,7zFM.exe和7zG.exe是UI的应用程序,最终还是通过参数去调用7z.exe。

 

7z.exe是一个带参数命令行应用程序,可以通过bat或编程,控制7z的压缩解压过程,以及过程的算法及其参数。7z的命令行参数说明如下:

Usage: 7z <command> [<switches>...] <archive_name> [<file_names>...] [@listfile]  


<Commands> 命令行带的 命令参数

a : Add files to archive 增加文件到7z的压缩档案中去,压缩一般都会用到该参数

b : Benchmark 检验7z的性能,一般不用

d : Delete files from archive  从压缩档案中删除文件,重新编辑档安检会用到,命令行的话比较少用

e : Extract files from archive (without using directory names) 从压缩档案中解压出文件,解压到当前文件夹,比较常用

h : Calculate hash values for files 计算文件的哈希值,很少用,大的压缩档案会用到

i : Show information about supported formats 显示支持的文件格式,如果不知道7z有什么参数可以使用,比较常用

l : List contents of archive 列出档案的内容

rn : Rename files in archive 重命名档案

t : Test integrity of archive 测试档案的压缩大小

u : Update files to archive  更新文件到档案中去

x : eXtract files with full paths 解压压缩档案到某个文件夹,包含全部文件夹的内容,常用


<Switches> 命令参数的开关

-- : Stop switches and @listfile parsing  停掉哪个开关,即不开

-ai[r[-|0]]{@listfile|!wildcard} : Include archives 包含档案文件,用于输入压缩

-ax[r[-|0]]{@listfile|!wildcard} : eXclude archives 解压的档案文件,用于输出解压

-ao{a|s|t|u} : set Overwrite mode 设置是否覆盖之前的内容,一般都会用-aoa表示全覆盖

-an : disable archive_name field 停用档案名的域,一般不设

-bb[0-3] : set output log level 设置日志等级,一般都不设

-bd : disable progress indicator 停用过程进度显示,一般不设

-bs{o|e|p}{0|1|2} : set output stream for output/error/progress line 设置输出到什么地方,除天有特殊需求,一般不设 

-bt : show execution time statistics 显示执行的统计数据,需要可以设

-i[r[-|0]]{@listfile|!wildcard} : Include filenames 包含的文件列表,

-m{Parameters} : set compression Method 设置压缩的算法,常用,设置方法"-m=LZMA2",表示用LZMA2压缩算法,有什么算法可以用命令“7z i”显示

-mmt[N] : set number of CPU threads 设置用多少个线程进行计算,常用,设置方法“-mnt4”,表示4个线程

-mx[N] : set compression level: -mx1 (fastest) ... -mx9 (ultra) 设置压缩的级别,和算法相关,级别越高,压缩比越高,但速度越慢,

-o{Directory} : set Output directory 设置输出档案的文件路径

-p{Password} : set Password 设置密码

-r[-|0] : Recurse subdirectories 循环子目录,默认有不用设

-sa{a|e|s} : set Archive name mode 设置档案的名字模式,

-scc{UTF-8|WIN|DOS} : set charset for console input/output 设置命令输入输出的字符集,没特殊需求不用设置

-scs{UTF-8|UTF-16LE|UTF-16BE|WIN|DOS|{id}} : set charset for list files 列表文件的字符格式,默认不设

-scrc[CRC32|CRC64|SHA1|SHA256|*] : set hash function for x, e, h commands 哈希的不同算法,默认不设

-sdel : delete files after compression  压缩后删除原文件,默认不删除

-seml[.] : send archive by email  通过email发送档案,不设

-sfx[{name}] : Create SFX archive 压缩特殊格式,不设

-si[{name}] : read data from stdin 从标准输入读数据,一般不设

-slp : set Large Pages mode 设置大的分页模式,没有特殊需求不设

-slt : show technical information for l (List) command 显示命令的技术信号,默认不设

-snh : store hard links as links 不设

-snl : store symbolic links as links 不设

-sni : store NT security information 不设

-sns[-] : store NTFS alternate streams 不设

-so : write data to stdout 写数据到标

-spd : disable wildcard matching for file names 不设

-spe : eliminate duplication of root folder for extract command 不设 

-spf : use fully qualified file paths 不设

-ssc[-] : set sensitive case mode 不设

-sse : stop archive creating, if it can't open some input file 不设 

-ssw : compress shared files 不设

-stl : set archive timestamp from the most recently modified file 设置档案的时间戳 

-stm{HexMask} : set CPU thread affinity mask (hexadecimal number) 设置指定CPU线程所运行的核心,不般不设

-stx{Type} : exclude archive type 排除档案类型

-t{Type} : Set type of archive 设置档案的类型,常用有,7z, zip, gz等

-u[-][p#][q#][r#][x#][y#][z#][!newArchiveName] : Update options 更新选项目

-v{Size}[b|k|m|g] : Create volumes 创建卷

-w[{path}] : assign Work directory. Empty path means a temporary directory 设置工作目录

-x[r[-|0]]{@listfile|!wildcard} : eXclude filenames 排除的文件列表名

-y : assume Yes on all queries 不用提示确定往下走


命令行的参数挺多,下面给出一些使用的样例:

1. 快速压缩,用于压缩率要求不高,但速度要求高的:

7z a -t7z archive_name.7z directory_to_compress -m0=LZ4 -mmt6 -mx3 -aoa

a添加模式;-t7z 压缩档案格式 7z;archive_name压缩文件名;directory_to_compress准备用于压缩的文件目录;-m0=LZ4用LZ4压缩算法;-mmt6用6个CPU线程处理;-mx3第三层的压缩率;-aoa压缩文件覆盖

2. 高压缩率压缩,用于对压缩率和压缩速度有一定要求的:

 7z a -t7z archive_name.7z directory_to_compress -m0=FLZMA2 -mmt6 -mx0 -aoa 

a添加模式;-t7z 压缩档案格式 7z;archive_name压缩文件名;directory_to_compress准备用于压缩的文件目录;-m0=FLZMA2用Fast LZMA2压缩算法;-mmt6用6个CPU线程处理;-mx0第0层的压缩率;-aoa压缩文件覆盖

3. 解压缩方法

 7z x archive_name.7z -odirectory_to_uncompress -aoa 

a解压缩模式;archive_name解压缩的文件名;-odirectory_to_uncompress解压缩后的文件目录,-o后面不能有空格;-aoa压缩文件覆盖

 

其它还有一些详细的用法,可以在这个网站上找到,基本上面三个加解压的命令,可以解决大部分的加解压的方法。

https://www.dotnetperls.com/7-zip-examples

 

 

### 回答1: Linux解压命令7z可以使用如下命令: ``` 7z x filename.7z ``` 其中,`x`表示解压缩,`filename.7z`表示需要解压的文件名。如果需要将文件解压到指定目录,可以使用如下命令: ``` 7z x filename.7z -o /path/to/destination/ ``` 其中,`-o`表示指定解压缩的目标目录。 ### 回答2: 7z是一种压缩率的文件压缩格式,它的解压命令可以在Linux系统中使用。在Linux系统中,我们可以使用p7zip软件包来解压7z文件。 要使用7z解压命令,首先需要在Linux系统上安装p7zip软件包。我们可以使用以下命令来安装它: sudo apt-get update sudo apt-get install p7zip-full 安装完成后,就可以使用7z解压命令来解压7z文件了。以下是解压命令的语法: 7z x 文件名.7z 其中,x表示解压缩命令,文件名.7z是需要解压的7z文件名。执行这条命令后,7z将会解压缩文件到当前目录中。 如果需要将文件解压缩到指定目录,可以使用以下命令7z x 文件名.7z -o 目标目录 其中,-o后面跟着指定的目标目录,7z将会解压缩文件到指定目录中。 除了解压缩7z文件,7z还支持其他的命令和选项。例如,我们可以使用-l选项来列出7z文件中的内容,使用-t选项来指定解压缩类型,使用-p选项来指定解压密码等等。 总之,7z是一种效的文件压缩格式,在Linux系统中可以使用7z解压命令来解压7z文件。通过安装p7zip软件包并使用正确的命令和选项,我们可以轻松地解压缩7z文件。 ### 回答3: 7z是一个跨平台的开源文件压缩程序,它可以在Linux系统中使用。要使用7z解压文件,可以通过以下命令进行操作: 1. 首先,确保已经在Linux系统中安装了7z软件。如果没有安装,可以通过包管理器安装7z,例如在Ubuntu中可以使用以下命令: ``` sudo apt-get install p7zip-full ``` 2. 安装完成后,就可以使用7z命令对文件进行解压了。以下是解压命令的基本格式: ``` 7z x <压缩文件名> ``` 其中,`<压缩文件名>`是要解压的文件名,可以是绝对路径或相对路径。 3. 如果需要指定解压到的目录,可以使用以下命令格式: ``` 7z x <压缩文件名> -o<目标目录> ``` 其中,`<目标目录>`是要解压到的目录路径。 4. 此外,如果需要在解压过程中显示详细的解压信息,可以添加`-v`参数: ``` 7z x -v <压缩文件名> ``` 使用该参数后,将会显示每个文件的解压进度和详细信息。 综上所述,以上是在Linux系统中使用7z解压文件的基本命令。通过适当的参数和选项,可以实现不同的解压需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值