安装7z命令
sudo dnf install p7zip p7zip-plugins p7zip-gui
7z命令参数
Usage: 7z <command> [<switches>...] <archive_name> [<file_names>...] [<@listfiles...>] <Commands> a : Add files to archive b : Benchmark 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 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 parsing -ai[r[-|0]]{@listfile|!wildcard} : Include archives -ax[r[-|0]]{@listfile|!wildcard} : eXclude archives -ao{a|s|t|u} : set Overwrite mode -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 -mmt[N] : set number of CPU threads -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 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 -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 -ssw : compress shared files -stl : set archive timestamp from the most recently modified file -stm{HexMask} : set CPU thread affinity mask (hexadecimal number) -stx{Type} : exclude archive type -t{Type} : Set type of archive -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
常用参数
7z 命令是一个高效的压缩和解压缩工具,常用于Linux和Windows平台。下面是常用的参数:
a 创建一个压缩文件。
-t 指定压缩文件的格式,常用格式有:7z、zip、gzip、bzip2、tar等。
-mx 指定压缩级别,数字越大,压缩比越高,但耗费的时间也越多。取值范围为0-9,其中0表示不压缩,9表示最高压缩级别。
-p 设置压缩文件密码。
-mhe=on 启用文件头加密。
-mmt 设置多线程压缩,可以加快压缩速度。
-m0=lzma2 指定压缩算法,常用的算法有:lzma2、lzma、ppmd、bzip2等。
-v 指定压缩包大小,支持 K(千字节)、M(兆字节)、G(吉字节)和 B(字节)等单位。
-r 递归压缩目录及其子目录下的所有文件。
-x 排除某些文件或目录。
-o 指定压缩文件输出路径和名称。
例如,要将目录 /home/user/docs 下的所有文件压缩成一个使用 lzma2 算法的压缩文件,并设置密码为 mypassword,可以使用以下命令:
7z a -t7z -m0=lzma2 -mx=9 -mhe=on -p'mypassword' docs.7z /home/user/docs/*
要解压缩名为 docs.7z 的压缩文件并将其解压缩到目录 /home/user/unzip 下,可以使用以下命令:
7z x docs.7z -o/home/user/unzip -p'mypassword'