Linux(六)Linux命令详解之压缩和解压缩命令

前言

这一篇介绍的是Linux中的压缩和解压缩的相关知识,我们应该要非常熟悉的命令了,
因为在安装一些软件的时候解压缩是不可缺少的环节。
常用的压缩格式有两种:gzip和bzip,在bzip的基础上出现了新的压缩格式bzip2。
gzip和bzip2之间的区别:

  • gzip 压缩时间短,但是压缩比低。压缩用gzip命令
  • bzip2 压缩时间长,但是压缩比高

一、压缩解压缩格式 .gz

1.1 将文件压缩为 .gz 格式,只能压缩文件:gzip
  • 命令名称:gzip
  • 英文原意:GNU zip
  • 命令所在路径:/bin/gzip
  • 功能描述:压缩文件,压缩后格式为.gz
  • 语法: gzip【需要压缩的文件】
  • 压缩后文件格式:.gz
  • 注意:只能压缩文件,不能压缩目录;压缩完后不保留原文件

举例:

[lance@master ~]$ ll
-rw-rw-r--. 1 kevin kevin       46 Mar 30 15:32 lance.txt
[lance@master ~]$ gzip lance.txt 
[lance@master ~]$ ll
-rw-rw-r--. 1 lance lance       73 Mar 30 15:32 lance.txt.gz
1.2 将 .gz 文件解压:gunzip
  • 命令名称:gunzip
  • 英文原意:GNU unzip
  • 命令所在路径:/bin/gunzip
  • 执行权限:所有用户
  • 功能描述:将格式为.gz的压缩文件解压
  • 语法: gunzip【压缩文件名】
  • 注意:解压后不保留原文件

举例:

[lance@master ~]$ gunzip lance.txt.gz 
[lance@master ~]$ ll
-rw-rw-r--. 1 lance lance       46 Mar 30 15:32 lance.txt

二、压缩解压缩格式 .tar.gz

2.1 将文件或目录压缩为 .tar.gz 格式:tar -zcf
  • 命令名称:tar
  • 命令所在路径:/bin/tar
  • 执行权限:所有用户
  • 功能描述:将文件压缩为.tar.gz格式
  • 语法: tar 选项【-zcf】【压缩后文件名】【目录】 
    -c 打包
    -v 显示详细信息
    -f 指定文件名
    -z 打包同时压缩
  • 压缩后文件格式:.tar.gz

举例:将家目录下的softwere目录压缩为softwere.tar.gz

[lance@master ~]$ ll
drwxrwxr-x. 2 lance lance       66 Feb 22 00:31 softwere
[lance@master ~]$ tar -zcvf softwere.tar.gz softwere/
softwere/
softwere/jdk-8u131-linux-x64.tar.gz
softwere/redis-4.0.6.tar.gz
[lance@master ~]$ ll
drwxrwxr-x. 2 lance lance        66 Feb 22 00:31 softwere
-rw-rw-r--. 1 lance lance 186635622 Mar 31 13:20 softwere.tar.gz

与前面的gzip命令不同,通过tar压缩后是保留原文件或原目录的

2.2 将 .tar.gz 文件解压:tar -zxf
  • 命令名称:tar
  • 命令所在路径:/bin/tar
  • 执行权限:所有用户
  • 功能描述:将格式为.tar.gz的压缩文件解压
  • 语法: tar 选项【-zxf】【.tar.gz的压缩文件名】【指定解压后的文件存放目录,默认当前目录】
    -x 解包
    -v 显示详细信息
    -f 指定解压文件
    -z 解压缩

举例:将刚才打包的softwere.tar.gz解压至当前目录

tar -zxf softwere.tar.gz

如果要解压到指定目录

tar -zxf soft.tar.gz -C /opt
2.3 拓展tar

归档就是我们有很多零碎的文件我们需要把它归档当一个包里面
归档和解档都用的是tar命令,只不过跟的选项不一样。

  • 归档:tar [zcvf] package_name file(s)
  • 解档:tar [zxvf] package_name

当解档时需要指定解档路径时使用“-C”选项,即tar zxvf package_name -C destination_dir

归档操作:

    tar -cf c.tar c.txt
    -c表示创建的意思
    -f指定一个所要创建的文件名
    所以也可以写成tar -f c.tar -c c.txt

    归档并压缩
    在tar中有-z是使用gzip压缩,-j是使用bzip2压缩
    tar -zcf c.tar.gz c.txt
    tar -jcf c.tar.bz2 c.txt
    显示压缩的详细信息使用-v
    tar -zcvf ch.tar.gz c.txt h.txt

解档操作:

   我们解档ch.tar.gz
    tar -zxvf ch.tar.gz
    解档到指定的目录文件
    tar -zxvf ch.tar.gz -C abc

三、压缩解压缩格式 .zip

3.1 将文件或目录压缩为 .zip 格式:zip
  • 命令名称:zip
  • 命令所在路径:/usr/bin/zip
  • 执行权限:所有用户
  • 功能描述:将文件或目录压缩为.zip格式
  • 语法: zip 选项【-r】【压缩后文件名】【文件或目录】
    -r 压缩目录
  • 压缩后文件格式:.zip

举例:将家目录的lntest目录压缩为lntest.zip

[lance@master ~]$ zip -r lntest.zip lntest/
-bash: zip: command not found
[lance@master ~]$ su root
Password: 
[root@master lance]# yum install -y unzip zip
[root@master lance]# exit
exit
[lance@master ~]$ zip -r lntest.zip lntest/
  adding: lntest/ (stored 0%)
  adding: lntest/soft.txt.s (stored 0%)
  adding: lntest/soft.txt (stored 0%)
  adding: lntest/soft.txt.s.s1 (stored 0%)
[lance@master ~]$ ll
drwxrwxr-x. 2 lance lance       61 Mar 30 18:22 lntest
-rw-rw-r--. 1 lance lance      652 Mar 31 13:31 lntest.zip

注意:如果你没有安装zip需要切换到root用户去安装zip
通过zip压缩后是保留原文件或原目录的。

3.2 将 .zip 文件解压:unzip
  • 命令名称:unzip
  • 命令所在路径:/usr/bin/unzip
  • 执行权限:所有用户
  • 功能描述:将格式为.zip的压缩文件解压
  • 语法: uzip【.zip的压缩文件名】

举例:将lntest删除,然后在加压缩lntest.zip

[lance@master ~]$ ll
drwxrwxr-x. 2 lance lance       61 Mar 30 18:22 lntest
-rw-rw-r--. 1 lance lance      652 Mar 31 13:31 lntest.zip
[lance@master ~]$ rm -rf lntest
[lance@master ~]$ unzip lntest.zip 
Archive:  lntest.zip
   creating: lntest/
 extracting: lntest/soft.txt.s       
 extracting: lntest/soft.txt         
 extracting: lntest/soft.txt.s.s1    
[lance@master ~]$ ll
drwxrwxr-x. 2 lance lance       61 Mar 30 18:22 lntest
-rw-rw-r--. 1 lance lance      652 Mar 31 13:31 lntest.zip

解压之后也是保留原文件的

四、压缩解压缩格式 .bz2

4.1 将文件压缩为 .bz2 格式,只能压缩文件:bzip2
  • 命令名称:bzip2
  • 命令所在路径:/usr/bin/bzip2
  • 执行权限:所有用户
  • 功能描述:将文件压缩为.bz2 格式
  • 语法: bzip2 选项【-k】 【文件】
    -k  产生压缩文件后保留原文件
  • 压缩后文件格式:.bz2

安装:切换到root用户进行安装

[lance@master ~]$ su root
Password: 
[root@master lance]# yum -y install bzip2 bunzip2
Loaded plugins: fastestmirror

举例:

[lance@master ~]$ bzip2 -k lntest             
bzip2: Input file lntest is a directory.
[lance@master ~]$ ll
-rw-rw-r--. 1 lance lance       46 Mar 30 15:32 lance.txt
drwxrwxr-x. 2 lance lance       61 Mar 30 18:22 lntest
-rw-rw-r--. 1 lance lance      652 Mar 31 13:31 lntest.zip
[lance@master ~]$ bzip2 -k lance.txt 
[lance@master ~]$ ll
-rw-rw-r--. 1 lance lance       46 Mar 30 15:32 lance.txt
-rw-rw-r--. 1 lance lance       78 Mar 30 15:32 lance.txt.bz2
4.2 将 .bz2 文件解压:bunzip2
  • 命令名称:bunzip2
  • 命令所在路径:/usr/bin/bunzip2
  • 执行权限:所有用户
  • 功能描述:将格式为.bz2的压缩文件解压
  • 语法: bunzip2 选项【-k】 【压缩文件】
    -k  产生压缩文件后保留原文件

举例:将lance.txt删除,然后加压lance.txt.bz2

[lance@master ~]$ rm -rf lance.txt
[lance@master ~]$ bunzip2 lance.txt.bz2 
[lance@master ~]$ ll
-rw-rw-r--. 1 lance lance       46 Mar 30 15:32 lance.txt

五、总结

以上是我们总结了Linux中的压缩和解压缩的命令,在工作中我们用的最多的还是tar命令,
因为现在很多源码包都是.tar.gz的格式,通过 tar -zxvf 能完成解压
然后对于.zip格式的文件使用gunzip 命令解压,对于.zip格式的文件,使用unzip 命令
解压,最后对于比较大的文件我们使用bunzip2命令来进行解压。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值