编辑
2024-07-20
未分类
00
请注意,本文编写于 101 天前,最后修改于 101 天前,其中某些信息可能已经过时。

目录

【转载】7-Zip 常用压缩/解压缩命令行指令

压缩

创建一个基础压缩包

bash
7z a archives.7z *.txt

创建带密码的压缩包

bash
7z a archives.7z -p123456 -mhe *.txt 7z a archives.7z -p"passwd@7z" -mhe *.txt
  • -p 参数后跟着密码,如果密码有特殊字符,需要用双引号包裹。
  • -mhe 参数设置同时加密文件名。

创建压缩包后删除原文件

bash
7z a archives.7z *.txt -sdel

创建的压缩包保留文件路径

保留文件路径,以便解压缩时还能将文件解压到原处。

bash
7z a archives.7z -spf /tmp/1.txt a/2.txt

对应的解压缩命令

bash
7z x archives.7z -spf
  • 解压缩时如果文件存在会弹出确认
  • 解压缩时如果原目录不存在则会自动创建

指定不同的压缩包类型

bash
7z a -tzip a.zip 1.txt
  • 可选值:7zxzzipsplitgzipbzip2tar

指定压缩包大小

如果通过网页上传的归档有大小限制,可以将归档拆分为多份。

bash
7z a archives.7z *.txt -v10m

格式为 archives.7z.001archives.7z.002

  • 注意事项:压缩过程中切不可移动 “已生成的” 归档,即使是 .001 号归档也可能在生成过程中被动态更新。
  • 解压缩时候需解压首个 Volume 7z e archives.7z.001

解压

基础解压缩

解压缩到当前目录

bash
7z e archives.7z

解压缩到指定路径

bash
7z e archives.7z -o/tmp

解压带密码的压缩包

bash
7z e archives.7z -p123456

解压缩时保留解压缩文件的相对路径

假设压缩包内文件如下 a\b\c\1.txt,使用 e 解压缩,1.txt 会直接出现在当前目录下,不会保留 a/b/c 层级。

bash
7z e archives.7z a/b/c/\*.txt

如果需要保留压缩包内路径,使用 x 命令,解压缩后,文件会保存到当前目录下的 a/b/c/1.txt

bash
7z x archives.7z a/b/c/\*.txt

解压缩指定内容

只解压缩部分文件,可以使用如下命令。

bash
$ 7z e archives.7z \*.txt -r # 等同于 $ 7z e archives.7z "*.txt" -r
  • -r 参数是递归查找压缩包目录下所有匹配的文件。
  • 同样可以使用 x 命令,保留解压出来文件的路径。

解压缩覆盖无需确认

bash
7z x archives.7z -y

查看

查看压缩包内文件信息

bash
7z l archives.7z

没有使用 -mhe 加密的压缩包可以看到文件名。

bash
Date Time Attr Size Compressed Name ------------------- ----- ------------ ------------ ------------------------ 2022-11-30 19:46:27 ....A 700 48 1.txt 2022-11-30 19:46:45 ....A 2356 2.txt ------------------- ----- ------------ ------------ ------------------------ 2022-11-30 19:46:45 3056 48 2 files

使用 -mhe 参数加密的压缩包首先需要输入密码,否则无法查看到任何内容。

查看压缩包详细信息

bash
7z l -slt archives.7z

输出

bash
7-Zip [64] 17.04 : Copyright (c) 1999-2021 Igor Pavlov : 2017-08-28 p7zip Version 17.04 (locale=utf8,Utf16=on,HugeFiles=on,64 bits,4 CPUs x64) Scanning the drive for archives: 1 file, 4920 bytes (5 KiB) Listing archive: archives.7z -- Path = archives.7z Type = 7z Physical Size = 4920 Headers Size = 174 Method = LZMA2:24 Solid = + Blocks = 1 ---------- Path = /tmp/1.txt Size = 9 Packed Size = 4746 Modified = 2022-12-01 11:25:19 Attributes = A_ -rw-r--r-- CRC = ADD766B6 Encrypted = - Method = LZMA2:24 Block = 0 Path = a/2.txt Size = 13931690 Packed Size = Modified = 2022-12-01 10:20:24 Attributes = A_ -rw-r--r-- CRC = 232240F1 Encrypted = - Method = LZMA2:24 Block = 0

参考

本文作者:任浪漫

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明出处!