• Linux打包压缩解压工具


    第1章      Linux 打包压缩解压工具一、压缩、解压工具

    压缩、解压工具

     

    用法压缩工具压缩后压缩包格式解压缩(默认不保留源文件)保留原文件压缩-c :将压缩结果打印到屏幕上保留压缩文件解压*zcat :将解压结果打印到屏幕上强制压缩(默认不压缩硬链接)显示详细过程压缩比-#(数字越大,压缩比越高,速度越慢文件越小)
    compress(压缩比最小,文件最大) .Z -duncompress -c > X(>相当于创建文件,权限改变) zcat X.Z > X(>相当于创建文件,权限改变) -f -v
    gzip .gz -dgunzip -c > X zcat X.gz > X -f -v -1 --fast-6 (默认)-9 --best
    bzip2(压缩比最大,文件最小) .bz2 -dbunzip -c > X -k (权限不变) bzcat X.gz > X -k -f -v -1 --fast-9 --best (默认)
    xz .xz -d -c > X -k(权限不变) xzcat X.gz > X -k -f -v -1 --fast-6 (默认)-9 --best

    compress/uncompress

    压缩文件,会删除原来文件,生成压缩文件

    compress [-dfvcVr] [-b maxbits] [file ...]

     -d: 解压缩,相当于uncompress
     -c: 结果输出至标准输出,不删除原文件
     -v: 显示详情
    uncompress :解压缩
    zcatfile.Z>file查看文件不解缩
    

    img

    gzip/gunzip

    压缩文件,会删除原来文件,生成压缩文件

    gzip[OPTION]... FILE ...

     -d:解压缩,相当于gunzip
     -c:结果输出至标准输出,保留原文件不改变
     -#:1-9,指定压缩比,值越大压缩比越大
    

    zcat:不显式解压缩的前提下查看文本文件内容

    压缩带特殊符号的文件,即:-f -f1 -f2

     [root@centos17data]#ls
     bigfile.Z  f  -f  -f1  f1.txt.gz  -f2  m.gz
     [root@centos17data]#gzip -- -f1 -f2
     [root@centos17data]#ls
     bigfile.Z  f  -f  -f1.gz  f1.txt.gz  -f2.gz  m.gz
    

    img

    bzip2/bunzip2/bzcat

    bzip2 [OPTION]... FILE ...

     -k:keep, 保留原文件
     -d:解压缩
     -#:1-9,压缩比,默认为9
    

    bzcat:不显式解压缩的前提下查看文本文件内容

    img

    xz/unxz/xzcat

    xz[OPTION]... FILE ...

     -k: keep, 保留原文件
     -d:解压缩
     -#:1-9,压缩比,默认为6
    

    unxz file.xz 解压缩

    xzcat: 不显式解压缩的前提下查看文本文件内容

    img

    zip/unzip

    打包压缩

     zip –r  /backup/sysconfig   /etc/sysconfig/
    

    解包解压缩

     unzip  sysconfig.zip
     cat /var/log/messages | zip messages -
     unzip -p message > message
    

    img

    二、打包工具

    tar工具

    -f 包名,所有用法都要和-f组合 
    -c -f 创建包名字  原文件(可以指定多个)  
     -t -f 包名字   显示包中的文件名  
     -tv -f 详细显示包中的文件名 
     -r -f 包名字 新文件名(可以指定多个),向包里放指定文件  
     --delete -f 包名字 被删除的文件名(可以指定多个),从包中删除指定文件 
     -x -f 包名字 解出所有的文件到当前目录,把包中所有文件移出,解压包  
     -x -f 包名字 文件名 解所指定的文件到当前目录,从包中移出指定文件 
     -C 解包到指定目录  
     -v 详细信息 
     -Jcf 创建包的名字(.tar.xz) 原文件(可以指定多个) 打包并用xz压缩  
     -jcf 创建包的名字(.tar.bz2) 原文件(可以指定多个) 打包并用bzip压缩 
     -zcf 创建包的名字(.tar.gz) 原文件(可以指定多个) 打包并用gzip压缩 
     -T 指定个列表,包含需要被打包的文件,以换行符为间隔  
     -X 指定个排除列表,以换行符为间隔
    

    -exclude 排除文件

     tar zcvf/root/a3.tgz --exclude=/app/host1 --exclude=/app/host2 /app
    

    split::分割一个文件为多个文件

    分割大的tar 文件为多份小文件

     split –b Size –d tar-file-name  prefix-name
     split -b 1M  –dmybackup.tgz  mybackup-parts
     split -b 1M  mybackup.tgz  mybackup-parts
    

    合并:

     cat mybackup-parts* > mybackup.tar.gz
    

    img

    总结:compress gzip bzip2都只能压缩文件,不能压缩目录,而tar可以打包多个目录并进行压缩。

    cpio(不常用)

    功能:复制文件从或到归档

    cpio命令是通过重定向的方式将文件进行打包备份,还原恢复的工具,它可以解压以“.cpio”或者“.tar”结尾的文件

    cpio[选项] > 文件名或者设备名

    cpio[选项] < 文件名或者设备名

    选项

     
    -o 将文件拷贝打包成文件或者将文件输出到设备上
     -O filename输出到指定的归档文件名
     -A向已存在的归档文件中追加文件
     -i解包,将打包文件解压或将设备上的备份还原到系统
     -I filename对指定的归档文件名解压
     -t预览,查看文件内容或者输出到设备上的文件内容
     -F filename使用指定的文件名替代标准输入或输出
     -d 解包生成目录,在cpio还原时,自动的建立目录
     -v 显示打包过程中的文件名称
    

    示例:

     将etc目录备份:
     find ./etc  -print |cpio -ov  > bak.cpio
     将/data内容追加bak.cpio
     find /data | cpio -oA -F bak.cpio
     内容预览
     cpio -tv< etc.cpio
     解包文件
     cpio -idv< etc.cpio
    

     转载https://www.cnblogs.com/struggle-1216/

     

  • 相关阅读:
    OOP侧边分享按钮
    表格基础操作
    行为型模式之自定义语言的实现(解释器模式)
    行为型模式之请求发送者与接收者解耦(命令模式)
    行为型模式之请求的链式处理(职责链模式)
    Http、Socket、WebSocket之间联系与区别
    日期时间工具类DateTimeUtil(基于Java8的LocalDateTime)
    结构型模式之代理模式
    Java8 函数式接口@FunctionalInterface的使用说明
    结构型模式之实现对象的复用(享元模式)
  • 原文地址:https://www.cnblogs.com/strugger-0316/p/13675523.html
Copyright © 2020-2023  润新知