压缩/解压缩

zip

命令解释

常用命令:

# 压缩一个文件夹的文件
$ zip -r 压缩包.zip 学习资料/

# 给现有压缩包添加文件
$ zip -u 压缩包.zip file.txt

# 从现有压缩包中删除文件
$ zip -d 压缩包.zip file.txt

# 压缩文件并加密
$ zip -P 你的密码 压缩包.zip file1.txt file2.txt file3.txt

# 解压缩
$ unzip 压缩包.zip

# 解压到指定目录
$ unzip -d "D:/学习资料/" output.zip

# 检查压缩包是否损坏
$ unzip -t output.zip

参数说明:

参数作用
-ffreshen: 仅更新已更改的文件
-uupdate: 仅更新已更改或新增的文件
-ddelete entries in zipfile: 删除压缩文件中的条目
-mmove into zipfile: 移动文件到压缩文件中(删除源文件)
-rrecurse into directories: 递归进入目录
-jjunk (don't record) directory names: 不记录目录名
-0store only: 仅存储文件,不进行压缩
-lconvert LF to CR LF (-ll CR LF to LF): 转换行尾符
-1compress faster: 更快的压缩速度
-9compress better: 更好的压缩质量
-qquiet operation: 静默操作
-vverbose operation/print version info: 详细操作/打印版本信息
-cadd one-line comments: 添加单行注释
-zadd zipfile comment: 添加压缩文件注释
-@read names from stdin: 从标准输入读取文件名
-omake zipfile as old as latest entry: 将压缩文件设置为最新条目的时间
-xexclude the following names: 排除指定名称
-iinclude only the following names: 仅包含指定名称
-Ffix zipfile (-FF try harder): 修复压缩文件(-FF 为更严格模式)
-Ddo not add directory entries: 不添加目录条目
-Aadjust self-extracting exe: 调整自解压执行文件
-Jjunk zipfile prefix (unzipsfx): 忽略压缩文件前缀
-Ttest zipfile integrity: 测试压缩文件完整性
-XeXclude eXtra file attributes: 排除额外文件属性
-ystore symbolic links as the link instead of the referenced file: 将符号链接存储为链接而不是引用文件
-eencrypt: 加密
-ndon't compress these suffixes: 不压缩指定后缀
-h2show more help: 显示更多帮助信息

由 ChatGPT 翻译

rar

tar

xz

POSIX 平台开发具有高压缩率的工具

xz命令 XZ Utils 是为 POSIX 平台开发具有高压缩率的工具。它使用 LZMA2 压缩算法,生成的压缩文件比 POSIX 平台传统使用的 gzip、bzip2 生成的压缩文件更小,而且解压缩速度也很快。最初 XZ Utils 的是基于 LZMA-SDK 开发,但是 LZMA-SDK 包含了一些 WINDOWS 平台的特性,所以 XZ Utils 为以适应 POSIX 平台作了大幅的修改。XZ Utils 的出现也是为了取代 POSIX 系统中旧的 LZMA Utils。

语法

# xz(选项)(参数)
# xz [OPTION]... [FILE]...

选项

选项全称说明
-z--compress强制压缩
-d--decompress, --uncompress强制解压缩
-t--test测试压缩文件的完整性
-l--list列出有关.xz文件的信息
-k--keep保留(不要删除)输入文件
-f--force强制覆盖输出文件和(解)压缩链接
-c--stdout, --to-stdout写入标准输出,不要删除输入文件
-0 ... -9压缩预设; 默认为6; 取压缩机 使用7-9之前解压缩内存使用量考虑在内!
-e--extreme尝试通过使用更多的CPU时间来提高压缩比; 要求不影响解压缩存储器
-T--threads=NUM最多使用NUM个线程; 默认值为1; set to 0 设置为0,使用与处理器内核一样多的线程
-q--quiet抑制警告; 指定两次以抑制错误
-v--verbose冗长; 指定两次更详细
-h--help显示这个简洁的帮助并退出
-H--long-help显示更多帮助(还列出了高级选项)
-V--version显示版本号并退出

参数

  • 源文件:指定连接的源文件。
  • 目标文件:指定源文件的目标连接文件。

示例

# 压缩文件并删除原文件 (注意  会删除原文件 test.txt)
$ xz test.txt
$ ls test.txt*

test.txt.xz

# 解压缩 加 -k 保证原文件不被删除
$ xz -d -k test.txt.xz 
$ ls test.txt*

test.txt.xz test.txt

参考文档

Last Updated:
Contributors: 余小波