Linux zip、unzip、7z 用法
一、zip
基础用法:
zip [生成的压缩包名] [要添加的文件,可以多个]
例子
zip package.zip file1 file2
常用参数
-
-r
当你要压缩一个文件夹的内容时,就需要用
-r
参数,只有加了这个参数,才会压缩文件夹内的所有文件。
如:
package
文件夹中有 4 个文件,我们要压缩这个文件夹中的所有内容Kyle@Kyles-MBP test % ll package total 32 -rw-r--r-- 1 Kyle staff 220 Dec 23 17:17 four.txt -rw-r--r-- 1 Kyle staff 211 Dec 23 17:17 one.txt -rw-r--r-- 1 Kyle staff 220 Dec 23 17:17 three.txt -rw-r--r-- 1 Kyle staff 219 Dec 23 17:17 two.txt
Kyle@Kyles-MBP test % zip -r package.zip package adding: package/ (stored 0%) adding: package/two.txt (deflated 60%) adding: package/four.txt (deflated 60%) adding: package/three.txt (deflated 58%) adding: package/one.txt (deflated 61%) # 结果 Kyle@Kyles-MBP test % ll total 8 drwxr-xr-x 6 Kyle staff 192 Dec 23 17:16 package -rw-r--r-- 1 Kyle staff 1156 Dec 23 17:37 package.zip
压缩的程度用
-1
-9
表示,-1
是速度最快,-9
是压缩最好zip -r9 package.zip package
二、unzip
基础用法
unzip [zip包名]
默认会解压到当前目录
参数说明
-
-v
查看当前包的内容
Kyle@Kyles-MBP test % unzip -v package.zip Archive: package.zip Length Method Size Cmpr Date Time CRC-32 Name -------- ------ ------- ---- ---------- ----- -------- ---- 0 Stored 0 0% 12-23-2019 17:16 00000000 package/ 219 Defl:N 88 60% 12-23-2019 17:17 98eb303f package/two.txt 220 Defl:N 89 60% 12-23-2019 17:17 dc4dedf9 package/four.txt 220 Defl:N 93 58% 12-23-2019 17:17 9ccc6b69 package/three.txt 211 Defl:N 82 61% 12-23-2019 17:17 644e932d package/one.txt -------- ------- --- ------- 870 352 60% 5 files
-
-d
定义输出目录,这个目录可以是不存在的,在解压的时候会自动创建
Kyle@Kyles-MBP test % unzip package.zip -d output # 解压到 output 文件夹中
三、7z 的用法
7z 是个非常好用的工具,它可以生成 .7z
.zip
的文件,可以压缩和解压。
-
压缩文件
7z a -tzip CozyInstaller.zip ./CozyInstaller -xr!._* -xr!.DS_Store # a 是创建压缩文件 # -t zip 输出格式为 zip # -x! 表示不包含匹配的文件,不包含子目录,这里的匹配规则就是正常的文件匹配 # -xr! 表示不包含匹配的文件,包含子目录,这里的匹配规则就是正常的文件匹配
- a: 添加文件到压缩包
- b: Benchmark
- d: 从压缩包删除文件
- e: 解压文件,不包含目录
- l: 列出压缩包中的内容
- t: 测试压缩包完整性
- u: 更新压缩包中的文件
- x: 解压文件,完整目录
-
解压文件
7z x your_file.7z -o/path/to/output/directory # x 解压文件 # -o 指定解压路径