1、linux压缩和解压:

两种压缩格式 tar 和 tar.gz

1、TAR包

    好处是只消耗非常少的CPU及时间打包,只是一个打包工具,并不负责压缩。

1.1、tar命令有以下参数:

        -c 压缩文件内容
        -x 解压文件中的内容
        -z 使用gzip来解压或压缩.tar.gz格式的文件
        -v 压缩过程中显示文件
        -f 置顶文件名,f 后面立刻紧跟文件名,使用归档文件或 ARCHIVE 设备
        -d 找出归档和文件系统的差异
        -r 追加文件至归档结尾
        -t 列出归档内容
        -u 仅追加比归档中副本更新的文件
        -C 指定目录
        -T 从 FILE中获取文件名来解压或创建文件
        -A 追加 tar 文件至归档
        -k 解压时不替换存在的文件,而将其认为是错误
        -U 在解压要重写的文件之前先删除它们
        -W 在写入以后尝试校验归档
        -O 解压文件至标准输出
        -H 创建指定格式的归档
        --checkpoint[=NUMBER]  每隔 NUMBER个记录显示进度信息(默认为 10 个)

1.2、打包:

        tar -cvf studio.tar directory_to_compress

1.3、解包

1.3.1、到当前目录下

            tar -xvf studio.tar

1.3.2、到指定目录下

            tar -xvf studio.tar -C /tmp/extract/

2、.GZIP压缩包

2.1、gzip命令有以下参数:

        -c,--stdout,写入标准输出,保持原始文件不变。
        -d,--解压缩,解压缩。
        -f,--强制,覆盖输出文件和压缩链接。
        -H,--帮助,提供帮助。
        -k,--保留,保留(不删除)输入文件。
        -l,--列出,列出压缩文件内容。
        -L,--许可证,显示软件许可证。
        -n,--无名称,不保存或恢复原始名称和时间戳。
        -N,--名称,保存或恢复原始名称和时间戳。
        -Q,--安静,禁止所有警告。
        -r,--递归,操作目录。
        --rsynCable创建支持rsync的归档文件。
        -S,--Suffix=SUF对压缩文件使用后缀SuF。
        --synchronous(系统崩溃时更安全,但速度更慢)。
        -t,--测试,压缩文件的完整性。
        -v,--详细,详细模式。
        -V,--版本,显示版本号。
        -1,--快速,压缩速度更快。
        -9,--最好,压缩得更好

2.1、压缩

        gzip FileName

2.2、解压

        gunzip FileName.gz
        
        gzip -d FileName.gz

3、.TAR.GZ压缩包

    压缩时不会占用太多的CPU,就可以得到一个非常理想的压缩率。

3.1、压缩

3.1.1、压缩当前目录:

            tar -zcvf studio.tar.gz directory_to_compress

3.1.2、压缩指定目录:

            tar -zcvf new_test.tar.gz ~/my_dictory

3.2、解压

3.2.1、到当前目录

            tar -zxvf studio.tar.gz

3.2.2、到指定目录

            tar -zxvf studio.tar.gz  -C /tmp/extract/

4、.zip

4.1、zip命令有以下参数:

        -f 刷新:仅更改的文件
        -u 更新:仅更改或新的文件。
        -d 删除zipfile中的条目
        -m 移动到zipfiles中(删除操作系统文件)
        -r 递归到目录
        -j 垃圾(不记录)目录名。
        -0 仅存储
        -l 将LF转换为CR LF(-ll CR LF至LF)。
        -1 压缩更快
        -9 压缩更好
        -q 静默操作
        -v 详细操作/打印版本信息。
        -c 添加一行注释
        -z 添加zipfile注释。
        -@ 从stdin读取名称
        -o 使zipfile与最新条目一样旧。
        -x 排除以下名称
        -i 仅包括以下名称
        -F 修复Zipfile(-FF尝试更努力)
        -D 不添加目录项。
        -A 调整自解压缩exe
        -J 垃圾压缩文件前缀(unzipsfx)
        -T 测试压缩文件完整性
        -X 排除额外的文件属性。
        -y 将符号链接存储为链接,而不是引用的文件
        -e 加密
        -n 不压缩这些后缀
        -h2 显示更多帮助

4.2、压缩

4.2.1、压缩文件本身:

            zip FileName.zip DirName

4.2.2、递归压缩,将指定目录下所有文件和子目录一并压缩:

            zip -r FileName.zip DirName

4.3、解压

        unzip FileName.zip

5、.rar

5.1、zip命令有以下参数:

        a 将文件添加到存档
        c 添加存档注释
        ch 更改存档参数
        cw 将存档注释写入文件
        d 从存档中删除文件
        e 提取没有存档路径的文件
        f 刷新存档中的文件
        i[par]=<str>在存档中查找字符串
        k 锁定存档
        l[t[a],b] 列出存档内容[technical[all],bare]
        m[f] 移动到存档[仅文件]
        p 将文件打印到标准输出
        r 修复存档
        rc 重建丢失的卷
        rn 重命名存档文件
        rr[N] 添加数据恢复记录
        rv[N] 创建恢复卷
        s[name|-] 将存档转换为SFX或从SFX转换
        t 测试存档文件
        u 更新存档中的文件
        v[t[a],b] 详细列出存档内容[technical[all],bare]
        x 使用完整路径提取文件
        <开关>
        - 停止开关扫描
        @[+] 禁用[启用]文件列表
        ad 将存档名称附加到目标路径
        ag[format] 使用当前日期生成存档名称
        ai 忽略文件属性
        ap<path> 在存档中设置路径
        as 作为同步存档内容
        c- 禁用注释显示
        cfg- 禁用读取配置
        cl 将名称转换为小写
        cu 将名称转换为大写
        df 归档后删除文件
        dh 打开共享文件
        ds 禁用实体存档的名称排序
        dw 存档后擦除文件
        e[+]<attr> 设置文件排除和包含属性
        d 不要添加空目录
        en 不放入“归档结束”块
        ep 从名称中排除路径
        ep1 从名称中排除基本目录
        ep3 将路径扩展到完整,包括驱动器号
        f 刷新文件
        hp[password] 对文件数据和头进行加密
        ht[b|c] 为文件校验和选择哈希类型[BLAKE2,CRC32]
        id[c,d,p,q] 禁用消息
        ierr 将所有消息发送到stderr
        ilog[name] 将错误记录到文件(仅限注册版本)
        inul 禁用所有消息
        isnd 启用声音
        iver 显示版本号
        k 锁定存档
        kb 保留断开的提取文件
        log[f][=name] 将名称写入日志文件
        m<0..5> 设置压缩级别(0-存储…3-默认…5-最大值)
        ma[4|5] 指定存档格式的版本
        mc<par> 设置高级压缩参数
        md<n>[k,m,g] 字典大小(KB、MB或GB)
        ms[ext;ext] 指定要存储的文件类型
        mt<threads> 设置线程数
        n<file> 另外过滤包含的文件
        n@ 从stdin读取其他过滤器掩码
        n@<list> 从列表文件读取其他过滤器掩码
        o[+|-] 设置覆盖模式
        oh 将硬链接保存为链接而不是文件
        oi[0-4][:min] 将相同的文件保存为引用
        ol[a] 将符号链接作为链接处理[绝对路径]
        or 或自动重命名文件
        ow 保存或恢复文件所有者和组
        p[password] 设置密码
        p- 不查询密码
        qo[-|+] 添加快速打开信息[none|force]
        r 递归子目录
        r- 禁用递归
        r0 仅对通配符名称递归子目录
        rr[N] 添加数据恢复记录
        rv[N] 创建恢复卷
        s[<N>,v[-],e] 创建实体存档
        s- 禁用实体存档
        sc<chr>[obj] 指定字符集
        sfx[name] 创建sfx存档
        si[name] 从标准输入(stdin)读取数据
        sl<size> 处理小于指定大小的文件
        sm<size> 处理大于指定大小的文件
        t 存档后测试文件
        ta<date> 在<date>之后以YYYYMMDDHHMMSS格式修改的流程文件
        tb<date> 在<date>之前以YYYYMMDDHHMMSS格式修改的流程文件
        tk 保留原始存档时间
        tl 将存档时间设置为最新文件
        tn<time> 处理比<time>更新的文件
        <time> 处理早于<time>的文件
        ts[m|c|a] 保存或恢复文件时间(修改、创建、访问)
        u 更新文件
        v<size>[k,b] 创建大小=<size>*1000[*1024,*1]的卷
        ver[n] 文件版本控制
        vn 使用旧式卷命名方案
        vp 在每个卷之前暂停
        w<path> 分配工作目录
        x<file> 排除指定文件
        x@Read 要从stdin中排除的文件名
        x@<list> 排除指定列表文件中列出的文件
        y 所有查询均假定为“是”
        z[file] 从文件中读取存档注释

5.2、压缩

        rar a FileName.rar DirName

5.3、解压

        rar x FileName.rar

6、总结

    解压缩时,参数是 -zxvf
    解压至当前文件压用 -C ./
    压缩时,参数是 -zcvf
    
    差别:
    一个是x,表示解压.
    一个是字母是c,表示压缩.
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐