压缩/解压缩
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
参数说明:
参数 | 作用 |
---|---|
-f | freshen: 仅更新已更改的文件 |
-u | update: 仅更新已更改或新增的文件 |
-d | delete entries in zipfile: 删除压缩文件中的条目 |
-m | move into zipfile: 移动文件到压缩文件中(删除源文件) |
-r | recurse into directories: 递归进入目录 |
-j | junk (don't record) directory names: 不记录目录名 |
-0 | store only: 仅存储文件,不进行压缩 |
-l | convert LF to CR LF (-ll CR LF to LF): 转换行尾符 |
-1 | compress faster: 更快的压缩速度 |
-9 | compress better: 更好的压缩质量 |
-q | quiet operation: 静默操作 |
-v | verbose operation/print version info: 详细操作/打印版本信息 |
-c | add one-line comments: 添加单行注释 |
-z | add zipfile comment: 添加压缩文件注释 |
-@ | read names from stdin: 从标准输入读取文件名 |
-o | make zipfile as old as latest entry: 将压缩文件设置为最新条目的时间 |
-x | exclude the following names: 排除指定名称 |
-i | include only the following names: 仅包含指定名称 |
-F | fix zipfile (-FF try harder): 修复压缩文件(-FF 为更严格模式) |
-D | do not add directory entries: 不添加目录条目 |
-A | adjust self-extracting exe: 调整自解压执行文件 |
-J | junk zipfile prefix (unzipsfx): 忽略压缩文件前缀 |
-T | test zipfile integrity: 测试压缩文件完整性 |
-X | eXclude eXtra file attributes: 排除额外文件属性 |
-y | store symbolic links as the link instead of the referenced file: 将符号链接存储为链接而不是引用文件 |
-e | encrypt: 加密 |
-n | don't compress these suffixes: 不压缩指定后缀 |
-h2 | show 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