Linux之解压与压缩

一、介绍

linux下一般使用的压缩类型有以下几种:

 

 注意:widows和linux互通的压缩包只有zip类型,linux不支持rar类型的,widows支持linux所有压缩类型

二、基本命令

1、gzip(gz类型)

注意:gzip只能压缩文件,不能压缩文件夹,压缩文件夹,只会把文件夹下的文件进行压缩,压缩好后会把原来的文件删除

'''
------命令格式-------
gzip options filename
------options参数--------
-a  使用ASCII文字模式。
-c  把压缩后的文件输出到标准输出设备,不去更动原始文件。
-d  解开压缩文件。
-f  强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接。
-l  列出压缩文件的相关信息。
-L  显示版本与版权信息。
-n  压缩文件时,不保存原来的文件名称及时间戳记。
-N  压缩文件时,保存原来的文件名称及时间戳记。
-q  不显示警告信息。
-r  递归处理,将指定目录下的所有文件及子目录一并处理。
-S<压缩字尾字符串>  更改压缩字尾字符串。
-t  测试压缩文件是否正确无误。
-v  显示指令执行过程。
-V 显示版本信息。
-<压缩效率>  压缩效率是一个介于1-9的数值,预设值为"6",指定愈大的数值,压缩效率就会愈高。
--best  此参数的效果和指定"-9"参数相同。
--fast  此参数的效果和指定"-1"参数相同。
'''
[root@VM-4-16-centos /home/test]#gzip file  #压缩文件file
[root@VM-4-16-centos /home/test]#ls
file1  file.gz
[root@VM-4-16-centos /home/test]#gzip -9 file  #90%压缩率压缩文件file
[root@VM-4-16-centos /home/test]#gzip -1 file1 #10%压缩率压缩文件file
[root@VM-4-16-centos /home/test]#gzip -dv file1
file1.gz:      2.7% -- replaced with file1
[root@VM-4-16-centos /home/test]#gzip -dv file
file.gz:     91.4% -- replaced with file

  [root@VM-4-16-centos /home/test]#gzip -d file1.gz #解压file1.gz

2、zip(zip类型)

zip支持文件和文件夹打包压缩。

# zip options 压缩后文件名 压缩文件
'''
-A 调整可执行的自动解压缩文件。
-b<工作目录> 指定暂时存放文件的目录。
-c 替每个被压缩的文件加上注释。
-d 从压缩文件内删除指定的文件。
-D 压缩文件内不建立目录名称。
-f 更新现有的文件。
-F 尝试修复已损坏的压缩文件。
-g 将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。
-q 不显示指令执行过程。
-r 递归处理,将指定目录下的所有文件和子目录一并处理。
-T 检查备份文件内的每个文件是否正确无误。
-v 显示指令执行过程或显示版本信息。
-z 替压缩文件加上注释。
-<压缩效率> 压缩效率是一个介于1-9的数值。
'''
[root@VM-4-16-centos /home]#zip test.zip test/   #压缩zip文件
  adding: test/ (stored 0%)
[root@VM-4-16-centos /home]#unzip test.zip -d /home/test2/  #将zip文件解压到test2下
Archive:  test.zip
   creating: /home/test2/test/
[root@VM-4-16-centos /home]#unzip -l test.zip  #不解压,查看压缩包内文件
Archive:  test.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  01-11-2021 19:56   test/
---------                     -------
        0                     1 file

3、tar

Linux下最常用的压缩和解压缩,支持文件和目录的压缩归档

#语法:tar [-zjxcvfpP] filename 
c   #创建新的归档文件
x   #对归档文件解包
t   #列出归档文件里的文件列表
v   #输出命令的归档或解包的过程
f   #指定包文件名,多参数f写最后

z   #使用gzip压缩归档后的文件(.tar.gz)
j   #使用bzip2压缩归档后的文件(.tar.bz2)
J   #使用xz压缩归档后的文件(tar.xz)
C   #指定解压目录位置
X   #排除多个文件(写入需要排除的文件名称)
h   #打包软链接
--hard-dereference  #打包硬链接
--exclude   #在打包的时候写入需要排除文件或目录

#常用打包与压缩组合
czf     #打包tar.gz格式 常用
cjf     #打包tar.bz格式 不怎么用
cJf     #打包tar.xz格式 不考虑

zxf     #解压tar.gz格式
jxf     #解压tar.bz格式
xf      #自动选择解压模式
xvf     #显示解压过程
tf      #查看压缩包内容

(1)tar + gzip 打包压缩

#1、压缩 tar czf 压缩后名字 文件名
[root@VM-4-16-centos /home/nq]#tar czf test.tar.gz test/
[root@VM-4-16-centos /home/nq]#ls
test  test.tar.gz
#2、解压 tar zxf 解压文件名
[root@VM-4-16-centos /home/nq]#tar zxf test.tar.gz

(2)tar +bzip2 打包压缩

#1、解压命令:tar jxf 解压文件名
[root@VM-4-16-centos /home/nq]#tar jxf test.tar.bz2
#2、压缩命令:tar cjf 压缩后名字 文件名
[root@VM-4-16-centos /home/nq]#tar cjf test.tar.bz2 test
[root@VM-4-16-centos /home/nq]#ls
test  test.tar.bz2  test.tar.gz

(3)排除文件压缩和查看压缩内容

# 1、压缩排除passwd文件
[root@VM-4-16-centos /home/nq]#tar czf excu.tar.gz --exclude=test/passwd test/
# 2、查看压缩内容
[root@VM-4-16-centos /home/nq]#tar tf excu.tar.gz
test/
test/test2
test/proxy.conf
test/test.txt
test/test2.txt
test/proxy1

# 3、以文件形式排除多个文件,进行压缩
[root@VM-4-16-centos /home/nq]#cat paichu.list
test/passwd
test/proxy.conf
test/proxy1
[root@VM-4-16-centos /home/nq]#tar czfX etc.tar.gz paichu.list test/
[root@VM-4-16-centos /home/nq]#tar tf etc.tar.gz
test/
test/test2
test/test.txt
test/test2.txt

 

posted @ 2021-01-11 21:02  NQ31  阅读(106)  评论(0编辑  收藏  举报