【命令作用】使用gzip格式来压缩和解压文件,

2019-10-06 09:29 来源:未知

    将文件压缩后对提升数据传输效率,降低传输带宽,管理备份数据都有非常重要的功能,因此文件压缩解压技能就成为必备技能。相对于Windows中的文件解压缩工具百花争艳,在Linux中的解压缩工具则要少很多,常用的解压缩命令主要为gzipbzip2tarzip等等。

压缩和归档操作(16个命令)

文件管理系列命令

Linux经过长时间的发展,很多用户都了解关于linux压缩方面的要领,这里我发表一下个人理解,和大家讨论讨论。linux压缩工具有很多,下面列常用的压缩工具及其产生文件的后缀:gzip/gunzip后缀名为.gz;compress/uncompress后缀名为.Z;zip/unzip后缀名为.zip;bzip2/bunzip2后缀名为.bz2;lha,后缀名为.lzh。Linux压缩工具中最常用的包括gzip、zip和bzip2三种,下面分别讲述这三种最常用的压缩工具。

gzip命令

gzip只能针对普通文件进行压缩和解压,对于文件夹,符号链接等是不支持的。基本语法如下所示:

gzip [选项] [文件]

常用参数如下所示:

参数 说明
-d , --decompress 解压文件
-f , --force 压缩/解压文件强制覆盖已经存在的文件
-l , --list 显示压缩包的信息,如压缩前大小、压缩后大小、压缩比例等
-r , --recursive 递归压缩指定目录中的所有文件和子目录中的文件,将每个文件都压缩为一个gz文件
-t , --test 检查压缩文件的完整性
-v , --verbose 显示详细过程
-V , --version 显示版本信息

压缩速度和压缩强度

    在压缩文件时,可以根据实际需要采用不同的压缩速度和压缩强度,来调整压缩的时间和压缩比例。在gzip中共提供了9种压缩级别。

  • -1:代表压缩速度最快,但压缩强度不高
  • -9:代表压缩强度最高,但压缩速度较慢
  • -6:gzip默认值

gzip示例如下所示:

  • 1、添加压缩文件
[root@localhost Python-3.7.0]# du -sh Python-3.7.0
189M    Python-3.7.0
[root@localhost Python-3.7.0]# gzip -r Python-3.7.0
[root@localhost Python-3.7.0]# du -sh Python-3.7.0
64M     Python-3.7.0
[root@localhost Python-3.7.0]# ll
总用量 10856
-rw-rw-r--  1 root     root    3731 6月  27 11:07 aclocal.m4.gz
drwxr-xr-x  5 root     root      82 7月  20 12:43 build
-rw-rw-r--  1 root     root   13214 6月  27 11:07 config.guess.gz
-rw-r--r--  1 root     root   38624 7月  20 12:48 config.log.gz
  • 2、压缩tar包
[root@localhost Python-3.7.0]# gzip Python-3.7.0.tar
[root@localhost Python-3.7.0]# ll -h
总用量 52M
-rw-r--r-- 1 root root 52M 7月  24 14:13 Python-3.7.0.tar.gz
  • 3、解压压缩包
gzip -d Python-3.7.0.tar.gz
  • 4、显示压缩包信息
[root@localhost Python-3.7.0]# gzip -l Python-3.7.0.tar.gz
         compressed        uncompressed  ratio uncompressed_name
           53670458           190464000  71.8% Python-3.7.0.tar

 1.gzip (compress or expand files 压缩或扩展文件)
 【命令作用】使用gzip格式来压缩和解压文件
 【命令语法】gzip[选项](参数)
 【常用选项】
  -d 解压文件
  -f 强制压缩文件
  -v 显示过程
  -r 递归处理
 【参数说明】需要执行压缩和解压的文件
 【命令示例】
  压缩文件/test并查看过程
  gzip -v /test
  解压/test.gz并查看过程
  gzip -dv /test.gz

1、查看文件信息:ls

ls是英文单词list的简写,其功能为列出目录的内容,是用户最常用的命令之一,它类似于DOS下的dir命令。

  • Linux文件或者目录名称最长可以有265个字符,
  • “.”代表当前目录,“..”代表上一级目录,
  • 以“.”开头的文件为隐藏文件,需要用 -a 参数才能显示。

ls常用参数:

参数 含义
-a 显示指定目录下所有子目录与文件,包括隐藏文件
-l 以列表方式显示文件的详细信息
-h 配合 -l 以人性化的方式显示文件大小
-R 递归查看某个目录中内容

永利平台娱乐 1

ls使用示例

图中列出的信息含义如下图所示:

永利平台娱乐 2

各字段的含义

1.gzip命令
◆对文件进行压缩的目的有两个:一是可以减少存储空间;二是通过网络传输文件时,可以减少传输的网络开销。gzip是Linux最常用的软件压缩工具,在Linux终端输入mangzip命令降显示gzip的帮助文档。该命令的使用形式为:gzip[选项]压缩或解压缩的文件名。
◆下面给出使用gzip命令压缩文件的例子,压缩当前目录下的所有文件,并且显示压缩比,显示已经替代原来的文件:#gzip-v*,其中-v参数表明显示压缩比和文件名。需要注意的是,gzip只能对单个文件压缩,不能像Winzip和Winrar一样,可以将多个文件压缩成一个.zip文件或.rar文件。正因为如此,Linux才提供了tar命令,用于将若干文件或文件夹打包成一个文件,然后再压缩成一个.gz文件。接着是解压缩文件的例子,对当前目录下所有压缩的文件解压缩,并列出详细的信息:#gzip-dv*。
◆另外,显示压缩文件的内容信息:可以用带-l参数的gzip命令显示gz文件的内容。这只是显示文件内容,并不实际解压缩文件:#gzip-l*。
◆此外,在tar命令中也可以直接嵌入gzip命令,从而直接将若干文件或文件夹处理成一个.tar.gz文件。在这个处理过程中,系统先将若干文件或文件夹打包成.tar,然后将生成的.tar文件压缩成.tar.gz文件。例如将当前目录下所有文件打包并压缩成gong.tar.gz并显示处理进度:#tarcvfzgong.tar.gz./*。

bzip2

bzip2与gzip非常类似,区别在于gzip压缩和解压均是同一个命令,而bzip2压缩命令为bzip2,解压缩命令为bunzip2

 

(1)、通配符的使用

与DOS下的文件操作类似,在Unix/Linux系统中,也同样允许使用特殊字符来同时引用多个文件名,这些特殊字符被称为通配符。

通配符 含义
* 文件代表文件名中所有字符。
代表文件名中任意一个字符。
[ ] [”和“]”将字符组括起来,表示可以匹配字符组中的任意一个。“-”用于表示字符范围。[abc] 匹配a、b、c中的任意一个。[a-f] 匹配从a到f范围内的的任意一个字符
如果要使通配符作为普通字符使用,可以在其前面加上转义字符。“?”和“*”处于方括号内时不用使用转义字符就失去通配符的作用

通配符使用示例

命令 含义
ls te* 查找以te开头的文件`
ls *html 查找结尾为html的文件`
ls ?.c 只找第一个字符任意,后缀为.c的文件
ls a.? 只找只有3个字符,前2字符为a.,最后一个字符任意的文件`
ls [a-f]* 找到从a到f范围内的的任意一个字符开头的文件
ls a-f 查找文件名为a-f的文件,当“-”处于方括号之外失去通配符的作用
ls *a 查找文件名为*a的文件

2.zip/unzip命令
◆zip程序位于/usr/bin目录中,可将文件压缩成.zip文件以节省硬盘空间,而当需要的时候又可将linux压缩文件解开。unzip命令用于将压缩文件解压。zip命令的使用形式为:

tar命令

在Linux中tar命令算是用得最多的命令了,基基本语法如下所示:

tar [选项] [文件]

其常用参数如下所示:

选项 说明
-A , --catenate 向压缩包中添加压缩包
-c, --create 新建压缩包
-C, --directory=DIR 指定解压缩目录
-d, --diff 对比压缩包与文件系统的差异
--delete 从压缩包删除指定的文件
-r, --append 添加文件末尾追加文件
-t, --list 显示压缩包中的目录结构
-u, --update 仅向压缩包中添加较新的文件
-x, --extract 解压压缩包
-f, --file=ARCHIVE 指定压缩文件
-v, --verbose 显示详细过程
-j, --bzip2 支持bzip2
-z, --gzip 支持gzip
--overwrite 解压时如果文件已经存在,则进行替换

使用tar需要注意的事项如下所示:

  • 1、常用的主选项参数如下:
-c -x -t -r -u
以上这5个参数同时只能出现一个,不能同时出现多个
  • 2、辅助选项
-f :一般情况需要将该参数放置在最后位置,后面紧跟文件名

tar 示例如下所示:

  • 1、添加压缩文件到当前目录
[root@localhost ~]# tar -cf Alltxt.tar *.txt
  • 2、查看压缩包内容
[root@localhost ~]# tar -tf Alltxt.tar
in.txt
out.txt
packstack-answers-20180710-091950.txt
packstack-answers-20180710-092155.txt
packstack-answers-20180710-100538.txt
  • 3、向压缩包中添加压缩包
[root@localhost ~]# tar -cf Alltxt.tar *.txt
[root@localhost ~]# tar -cf Allbak.tar *.bak
[root@localhost ~]# tar -Af Alltxt.tar Allbak.tar
[root@localhost ~]# tar -tf Alltxt.tar
in.txt
out.txt
packstack-answers-20180710-091950.txt
packstack-answers-20180710-092155.txt
packstack-answers-20180710-100538.txt
append.txt.bak
  • 4、向压缩包中添加文件
[root@localhost ~]# tar -rf Alltxt.tar out
[root@localhost ~]# tar -tf Alltxt.tar
in.txt
out.txt
packstack-answers-20180710-091950.txt
packstack-answers-20180710-092155.txt
packstack-answers-20180710-100538.txt
append.txt.bak
out/
out/out.txt
out/eip.sh
  • 5、更新压缩包中的文件
[root@localhost ~]# tar -uf Alltxt.tar append.txt.bak
  • 6、解压文件到指定目录
[root@localhost ~]# tar -xf Python-3.7.0.tar  -C TarTest/
  • 7、解压压缩包中的指定文件
[root@localhost Python-3.7.0]# tar -xf Python-3.7.0.tar Python-3.7.0/pyconfig.h
[root@localhost Python-3.7.0]# tree Python-3.7.0
Python-3.7.0
└── pyconfig.h
0 directories, 1 file

 2.gunzip (compress or expand files 压缩或扩展文件)
 【命令作用】用于解压gzip的压缩文件
 【命令语法】gunzip[选项](参数)
 【常用选项】
  -f 强行解开压缩文件
  -v 显示执行过程
 【参数说明】需要执行解压的文件
 【命令示例】
  解开gzip的压缩文件/test.gz,并查看过程
  gunzip  -v  /test.gz

2、输出重定向命令:>

Linux允许将命令执行结果重定向到一个文件,将本应显示在终端上的内容保存到指定文件中。

如:ls > test.txt (test.txt 如果不存在,则创建;存在则覆盖其内容

永利平台娱乐 3

输出重定向的使用示例

注意:

  • >输出重定向会覆盖原来的内容,
  • >>输出重定向则会追加到文件的尾部。

◆zip[选项]压缩后文件名待压缩文件或文件夹,其中:参数选项表明要完成的操作类型,压缩后的文件名是某个合法的文件名,其后缀为zip,待压缩文件或文件夹指明须要进行压缩的文件或文件夹,可以是多个文件或文件夹。

zip命令

跟bzip2类似,zip用于压缩文件,而unzip用于解压缩文件。其基本语法如下所示:

zip [选项] [指定文件名] [压缩文件或路径]

uzip [选项] [压缩包名称]
  • zip常用参数如下所示:
选项 说明
-c , --entry-comments 给压缩文件添加注释
-d , --delete 从压缩包删除指定文件
-D 压缩包不创建目录名称
-f , --freshen 与参数 -u 类似,不仅更新已有文件,而且也添加压缩包没有的文件
-i files/ --include files 仅向压缩包添加指定的文件
-m , --move 将原始文件添加到压缩包删除原文件
-O output-file
-q , --quiet 静默模式
-r , --recurse-paths 递归处理指定目录和子目录
-T , --test 检查压缩包的完整性
-u , --update 将较新的文件更新替换到压缩包中
-v , --verbose 显示详细过程
-x files/--exclude files 压缩文件时添加排除项
-# (-0~-9) 设置压缩级别,-0:不压缩文件,-1:最快压缩速度,-9:最好压缩强度,默认为-6
  • unzip常用参数
选项 说明
-l 显示压缩包中的内容
-t 检查压缩包的完整性
-o 强制覆盖已存在的文件而不提示
-j 不处理压缩文件中的原有目录路径
-d exdir 指定解压目录

zip/unzip示例如下所示:

  • 1、添加压缩包
[root@localhost Python-3.7.0]# zip -r Python-3.7.0.zip Python-3.7.0
  • 2、解压压缩包
unzip -d /tmp/ Python-3.7.0.zip
  • 3、检查压缩包完整性
[root@localhost Python-3.7.0]# unzip -t Python-3.7.0.zip
Archive:  Python-3.7.0.zip
    testing: Python-3.7.0/            OK
    testing: Python-3.7.0/install-sh   OK
    ...
    testing: Python-3.7.0/pybuilddir.txt   OK
No errors detected in compressed data of Python-3.7.0.zip.
  • 4、显示压缩包内容
[root@localhost Python-3.7.0]# unzip -l Python-3.7.0.zip
Archive:  Python-3.7.0.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  07-20-2018 12:50   Python-3.7.0/
     7122  06-27-2018 11:07   Python-3.7.0/install-sh
   101855  06-27-2018 11:07   Python-3.7.0/setup.py
        0  07-20-2018 12:37   Python-3.7.0/.vsts/
 13965984  07-20-2018 12:50   Python-3.7.0/python
       26  07-20-2018 12:50   Python-3.7.0/pybuilddir.txt
---------                     -------
186791269                     4771 files
  • 5、删除压缩包中指定的文件
[root@localhost Python-3.7.0]# zip Python-3.7.0.zip -d Python-3.7.0/*.o
deleting: Python-3.7.0/Modules/config.o
deleting: Python-3.7.0/Modules/getpath.o
deleting: Python-3.7.0/Modules/main.o

本文同步在微信订阅号上发布,如各位小伙伴们喜欢我的文章,也可以关注我的微信订阅号:woaitest,或扫描下面的二维码添加关注:
永利平台娱乐 4

 

3、分屏显示:more

查看内容时,如果信息过长无法在一屏上显示,会出现快速滚屏,使得用户无法看清文件的内容,此时可以使用more命令。

使用more命令后,每次只显示一页,按下空格键可以显示下一页,按下q键退出显示,按下h键可以获取帮助。

永利平台娱乐 5

分屏显示--more的使用

◆下面给出使用该命令压缩文件或文件夹的例子。例如将当前目录下的所有文件和文件夹全部压缩成gong.zip压缩文件,-r表示递归压缩子目录下所有文件:#zip-rgong.zip./*。用带-v参数选项可以查看zip文件的内容,这点类似于带t参数选项的tar命令。只不过前者用于显示压缩的zip文件的内容,后者用于显示tar文件的内容。与带t参数选项的tar命令类似,带v参数选项的zip命令实际上并不解压缩文件,例如查看gong.zip文件的内容:#zip-vgong.zip。

 3.zcat (compress or expand files 压缩或扩展文件)
 【命令作用】不解压压缩文件,便可以知道其中的内容
 【命令语法】zcat[选项](参数)
 【常用选项】
  -l 查看压缩包中的文件列表
 【参数说明】查看的压缩文件
 【命令示例】
  查看压缩文件/test.gz中的文件列表
  zcat -l /test.gz

4、管道:|

管道:一个命令的输出可以通过管道做为另一个命令的输入。

管道我们可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里“ | ”的左右分为两端,左端塞东西(写),右端取东西(读)。

永利平台娱乐 6

管道 | 的使用

◆用带-d参数选项的zip命令可以从zip压缩文件中删除某个文件,而使用带-m的zip命令可以向zip压缩文件添加某个文件。例如删除压缩文件中smart.txt文件:#zip-dgong.zipsmart.txt;向压缩文件中gong.zip中添加rpm_info.txt文件:#zip-mgong.zip./rpm_info.txt。

 

5、清屏:clear

clear作用为清除终端上的显示(类似于DOS的cls清屏功能),也可使用快捷键:**Ctrl

  • L**

永利平台娱乐 7

clear清屏的使用

注意:
在上面的动图中,我们执行了 clear 命令之后,滚动屏幕之后依旧能看到之前执行的命令及其结果。
也就是说,clear 命令并不是把之前的命令和执行结果直接删除,而是让之前的命令滚动到不可见的范围了,向下滚动之后依旧可见

◆此外,unzip命令用于扩展名为zip的压缩文件的解压缩,同时,Windows下用压缩软件Winzip压缩的文件在Linux系统下也可以用unzip命令解压缩。unzip命令的语法如下:unzip[参数选项]压缩文件名.zip。unzip命令的常用用法有:#永利平台娱乐,unzipgong.zip将gong.zip解压缩到当前目录);#unzip-ntext.zip-d/tmp解压缩当前目录下的text.zip压缩文件,-n参数选项指明不覆盖原有文件,-d/tmp指明将文件解压缩到/tmp目录下);#unzip-vtext.zip显示当前目录下text.zip压缩文件内容)。

 4.bzip2 (a block-sorting file compressor 一个块分类文件压缩)
 【命令作用】创建和管理“.bz2”后缀名的压缩包
 【命令语法】bzip2[选项](参数)
 【常用选项】
  -d 解压文件
  -z 强制执行压缩
  -k 压缩或解压时保留原本的文件
 【参数说明】需要压缩或解压的文件
 【命令示例】
  压缩文件/test
  bzip2  /test
  解压文件/test.bz2并保留压缩包
  bzip2 -dk /test.bz2  

6、切换工作目录: cd

在使用Unix/Linux的时候,经常需要更换工作目录。cd命令可以帮助用户切换工作目录。

  • Linux所有的目录和文件名严格区分大小写
  • cd后面可跟绝对路径,也可以跟相对路径。
  • cd 后面如果省略目录,则默认切换到当前用户的主目录。
命令 含义
cd 切换到当前用户的主目录(/home/用户目录),用户登陆的时候,默认的目录就是用户的主目录。
cd ~ 切换到当前用户的主目录(/home/用户目录)
cd . 切换到当前目录
cd .. 切换到上级目录
cd - 可进入上次所在的目录

永利平台娱乐 8

cd 命令使用示例

注意:
如果路径是从根路径开始的,则路径的前面需要加上 “ / ”,如 “ /mnt ”,通常进入某个目录里的文件夹,前面不用加 “ / ”。

永利平台娱乐 9

进入绝对路径或相对路径

3.bzip2命令
◆bzip2是一个无损压缩软件,具有高质量的数据压缩能力。它能将文件压缩到原来的10%到15%,而且压缩速度和解压缩速度都非常高,因此在Linux压缩软件中得到广泛使用。
◆bzip2从命令行读入文件名和参数,每个文件都被名为“原始文件名.bz2”的压缩文件替换。每个压缩文件具有与原文件相同的修改时间和权限,如果可能的话,还具有相同的属主,因此在解压缩时这些特性将正确地恢复。
◆具体操作如下,例如,用bzip2命令压缩当前目录下所有文件,用bunzip2-z*将获得相同的效果:#bzip2*。再例如用bunzip2命令解压缩当前目录下所有文件,其中有一个文件free.txt不是以bz2为后缀:#bunzip2。

 

7、显示当前路径:pwd

使用pwd命令可以显示当前的工作目录,该命令很简单,直接输入pwd即可,后面不带参数

永利平台娱乐 10

查看当前所处路径

  1. 简单概括Linux发行版
  2. Linux无线网络技术:GPRS、GSM
  3. LINUX FSCK数据出错灾难应急方案
  4. 8个工作实用而有趣Linux下的Bash命令提示行
  5. linux内存管理之非连续物理地址分配(vmalloc)

 5.bunzip2 (a block-sorting file decompresses一个块分类文件解压)
 【命令作用】解压bzip2的压缩文件
 【命令语法】bunzip2[选项](参数)
 【常用选项】
  -k 解压时保留原本的压缩包
 【参数说明】压缩包的文件名
 【命令示例】
  解压文件/test.bz2并保留压缩包
  bunzip2 -k /test.bz2

8、创建目录:mkdir

通过mkdir命令可以创建一个新的目录。参数-p可递归创建目录。

注意

  • 新建目录的名称不能与当前目录中已有的目录或文件同名
  • 并且目录创建者必须对当前目录具有写权限。

永利平台娱乐 11

创建目录--mkdir

...

TAG标签:
版权声明:本文由永利平台娱乐发布于新闻动态,转载请注明出处: 【命令作用】使用gzip格式来压缩和解压文件,