linux下常用压缩(compress ,gz ,bzip2,xf)命令和打包命令(tar,zip)详解

在通常情况下,我们一般只会用到解压和压缩,打包并压缩和相对应的解压这几种命令,下面我就先说明以下常用的命令及选项


压缩命令总结

命令运行环境,在/app目录下(自己建的用于学习使用的目录)拷贝/etc/passwd文件到当前目录
compress:
    压缩:  compress -c passwd > passwd.Z
    解压缩:zcat passwd.z > passwd
gzip:
    压缩:    gzip -c passwd > passwd.gz    
    解压缩:    zcat passwd.gz > passwd
bzip2:
    压缩:    bzip2 -k passwd
    解压缩: bzip2 -k -d passwd.bz2
xz:
    压缩:    xz -k passwd
    解压缩: xz -k -d passwd.xz
[注解] bzip2 和 xz这两条没命令用到了 -k 源文件得以保留并且权限不变

打包命令总结

命令运行环境,在/app目录下拷贝/etc/passwd,/etc/shadow,/etc/group文件到当前目录
zip:
    打包并压缩:zip -r config.zip group passwd shadow
    (config.zip 是你自己要打包压缩的自定义压缩文件名称,后面的文件是你要打包压缩的文件)
    解压缩:     unzip config.zip
tar:
    打包并压缩:
    tar -zcf test.tar.gz group  passwd  shadow 将多个文件打包并用gzip压缩为test.tar.gz
    tar -jcf test.tar.bz2 group  passwd  shadow 将多个文件打包并用bzip2压缩为test.tar.bz2
    tar -Jcf test.tar.xz group  passwd  shadow   将多个文件打包并用xz压缩为test.tar.xz
    结果如下图:
    
    解压缩(与上面打包压缩一一对应):
    tar -zxf test.tar.gz 解压gz的压缩包到当前目录
    tar -jxf test.tar.bz2 解压bzip2的压缩包到当前目录
    tar -Jxf test.tar.xz  解压xz的压缩包到当前目录

每个命令的详细用法:

 压缩
compreee
    compress srcfile  将源文件压缩成压缩包,源文件消失
    compress -v srcfile 或compress -v -d dstfile.Z 压缩或解压缩时显示详细信息
    compress -c srcfile > dstfile.Z 将源文件压缩成压缩包,源文件保留
    compress -d dstfile.Z  或 uncompress dstfile.Z 将压缩包解压成源文件,压缩包消失
    compress -d -c dstfile.Z > srcfile 或 zcat dstfile.Z > srcfile 将压缩包解压成源文件,压缩包保留

gzip
    gzip srcfile 将源文件压缩成压缩包,源文件消失
    gzip -c srcfile > dstfile.gz 将源文件压缩成压缩包,源文件保留
    gzip -d dstfile.gz 或gunzip dstfile.gz 将压缩包解压成源文件,压缩包消失
    gzip -d -c dstfile.gz > srcfile 或 zcat dstfile.gz > srcfile 将压缩包解压成源文件,压缩包保留
    gzip -# srcfile (#即1-9,表示压缩比,数字越大压缩比越高,默认为6)

bzip2
    bzip2 srcfile 将源文件压缩成压缩包,源文件消失
    bzip2 -k srcfile 将源文件压缩成压缩包,源文件保留且权限不变
    bzip2 -c srcfile > dstfile.bz2 将源文件压缩成压缩包,源文件保留但权限根据umask值而改变
    bzip2 -d dstfile.bz2 或bunzip dstfile.bz2 将压缩包解压成源文件,压缩包消失
    bzip2 -k -d dstfile.bz2 或bunzip -k dstfile.bz2 将压缩包解压成源文件,压缩包保留且权限不变
    bzip2 -d -c dstfile.bz2 > srcfile 或 bunzip -c dstfile.bz2 > srcfile 将压缩包解压成源文件,压缩包保留但权限根据umask值而改变
    bzip2 -# srcfile (#即1-9,表示压缩比,数字越大压缩比越高,默认为9)
    bzcat dstfile.bz2 可以预览解压后的内容,配合> 也能解压,但权限会根据umask值而改变

xz [OPTION]... FILE ...
    -k: keep, 保留原文件
    -d:解压缩
    -#:1-9,压缩比,默认为6
xzcat: 不显式解压缩的前提下查看文本文件内容

zip
    zip -r dstfile.zip  srcfile
    zip -r config.zip /etc/passwd /etc/group /etc/shadow /etc/gshadow
    unzip config.zip

tar
    tar -tf mage.tar.xz 预览压缩包的文件列表
    tar -rf mage.tar /path/newfile  往tar包中增强文件(注意只能对tar包增加文件,而不能对压缩包增加)
    tar -cf mage.tar filename1 filename2 [filenameN] 将多个文件打包至mage.tar
    tar -zcf mage.tar.gz filename1 filename2 [filenameN] 将多个文件打包并用gzip压缩为mage.tar.gz
    tar -jcf mage.tar.bz2 filename1 filename2 [filenameN] 将多个文件打包并用bzip2压缩为mage.tar.bz2
    tar -Jcf mage.tar.xz filename1 filename2 [filenameN] 将多个文件打包并用xz压缩为mage.tar.xz
    tar -xf mage.tar 解压tar包的所有文件到当前目录
        tar -xf mage.tar.xz filename  仅将压缩包中的其中一个文件filename解压到当前目录
    tar -zxf mage.tar.gz 解压gz的压缩包到当前目录
    tar -jxf mage.tar.bz2 解压bzip2的压缩包到当前目录
    tar -Jxf mage.tar.xz 解压xz的压缩包到当前目录
        tar -zxf mage.tar.gz -C /tmp 解压gz的压缩包到/tmp目录
    tar -zvxf mage.tar.gz 解压gz的压缩包到当前目录并显示详细过程
    tar zcvf mage.tar.gz -T yasuolist.txt -X paichu.txt
        -T 指定需要打包并压缩的文件列表,每个文件路径一行
        -X 指定要排除的文件列表,每个文件一行
压缩包的分割与合并
split -b 2K -d etc.tgz 4
     将以etc.tgz命名的文件压缩包以2K为单位分割为4份
将上述的压缩包进行合并
cat 40* > mage.tgz 将以40开头命名的多个分割包合并为mage.tgz

cpio
    功能:复制文件从或到归档
    cpio命令是通过重定向的方式将文件进行打包备份,还原恢复的工具,它可以解压以“.cpio”或者“.tar”结尾的文件
    cpio [选项] > 文件名或者设备名
    cpio [选项] < 文件名或者设备名
    选项
        -o 将文件拷贝打包成文件或者将文件输出到设备上
        -i 解包,将打包文件解压或将设备上的备份还原到系统
        -t 预览,查看文件内容或者输出到设备上的文件内容
        -v 显示打包过程中的文件名称。
        -d 解包生成目录,在cpio还原时,自动的建立目录
        -c 一种较新的存储方式
【注】重点在于解压缩这种形式
      要解包文件 cpio –idv < etc.cpio


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值