Linux 创建及管理压缩文件 命令 tar、gzip、gunzip、zip、unzip

Linux 命令 tar 管理档案

  • tar命令可以为一个指定的文件创建档案,并且可以向档案中加入新的文件,利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,以便于网络传输使用。
  • 打包是指将一大堆文件或目录变成一个总的文件,而大小不变;
  • 压缩则是将一个大的文件通过一些压缩算法变成一个小文件。
  • Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,要先将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)。

命令列表

args 说明,这个命令选项可以结合起来使用
-A--catenate 新增文件到以存在的备份文件;
-B 设置区块大小;
-c--create 建立新的备份文件;
-C <目录> 用在解压缩,若要在特定目录解压缩,可以使用这个选项
-d 记录文件的差别;
-x--extract--get 从备份文件中还原文件;
-t--list 列出备份文件的内容;
-z--gzip--ungzip 通过gzip指令处理备份文件;
-Z--compress--uncompress 通过compress指令处理备份文件;
-f<备份文件>--file=<备份文件> 指定备份文件;
-v--verbose 显示指令执行过程;
-r 添加文件到已经压缩的文件;
-u 添加改变了和现有的文件到已经存在的压缩文件;
-j 支持bzip2解压文件;
-l 文件系统边界设置;
-k 保留原有文件不覆盖;
-m 保留文件不被覆盖;
-w 确认压缩文件的正确性;
-p--same-permissions 用原来的文件权限还原文件;
-P--absolute-names 文件名使用绝对名称,不移除文件名称前的“/”号;
-N <日期格式>--newer=<日期时间> 只将较指定日期更新的文件保存到备份文件里;
--exclude=<范本样式> 排除符合范本样式的文件。

常用组合命令

  1. 压缩文件(非打包) -czvf
    # touch test.sh
    # tar -czvf test.tar.gz test.sh // 压缩 a.c文件为test.tar.gz
    test.sh // 返回结果
  2. 显示压缩文件内容 -tzvf
    # tar -tzvf test.tar.gz
    -rw-r--r-- root/root 0 2018-08-31 16:08 test.sh // 返回结果
    在这里插入图片描述3. 解压文件
    # tar -xzvf test.tar.gz
    test.sh // 返回结果

命令 gzip 解压缩文件

gzip 压缩的时候不保留原文件,并且只能压缩文件不能压缩目录,文件经它压缩过后,其名称后面会多出".gz"的扩展名

命令 gunzip 解压缩文件 ( 参数与gzip相同 )

命令:gunzip
语法:gunzip [已压缩的文件]
描述:用于解开被gzip压缩过的文件,这些压缩文件预设最后的扩展名为".gz"。事实上gunzip就是gzip的硬连接,因此不论是压缩或解压缩,都可通过 gzip -d 指令单独完成。

args 说明
-d 或 --decompress 或 ----uncompress 解开压缩文件 ==gunzip
-L 或 --license 显示版本与版权信息
-q 或 --quiet 不显示警告信息
-V 或 --version 显示版本信息
–fast 此参数的效果和指定"-1"参数相同
[root@localhost a]# ls    				//显示当前目录文件
a.c b.h d.cpp
[root@localhost a]# gzip *			 	//压缩目录下的所有文件
[root@localhost  a]# ls 				//显示当前目录文件
a.c.gz    b.h.gz    d.cpp.gz
[root@localhost  a]# gzip -dv * 		//解压文件,并列出详细信息
a.c.gz:     0.0% -- replaced with a.c
b.h.gz:     0.0% -- replaced with b.h
d.cpp.gz:     0.0% -- replaced with d.cpp
[root@localhost a]# gzip -l * 			// 显示压缩文件的信息 
     compressed    uncompressed ratio uncompressed_name
         24          0  0.0% a.c
         24          0  0.0% b.h
         26          0  0.0% d.cpp

命令 zip 压缩文件

命令 zip 的格式是 windows 和 linux 通用的格式,可以压缩文件和目录,压缩目录时需要选项-r,被压缩后的文件扩展名为.zip

args 说明
-d delete entries in zipfile 从压缩文件内删除指定的文件
-q quiet operation不显示指令执行过程
-r recurse into directories 递归处理,将指定目录下的所有文件和子目录一并处理
-v verbose operation/print version info 显示指令执行过程或显示版本信息

语法:zip 选项 [-r] [压缩后文件名称] [源文件]

将 /home/goo 这个目录下所有文件和文件夹压缩为当前目录下的 app.zip
# zip -q -r app.zip /home/goo
如果在我们在 /home/goo 目录下,可以执行以下命令:
# zip -q -r html.zip *
从压缩文件 cp.zip 中删除文件 a.c
# zip -dv cp.zip a.c
如果使用 zip 命令时报错:"-bash: zip: command not found",需要安装 zip 命令,输入:
# yum -y install zip
在这里插入图片描述在这里插入图片描述

命令 unzip 解压文件

解压缩zip文件

语法:unzip [-cflptuvz] [-agCjLMnoqsVX] [-P<密码>] [.zip文件] [文件] [-d<目录>] [-x<文件>] 或 unzip [-Z]

args 说明
-l list files(short format) 显示压缩文件内所包含的文件
-v list verbosely / show version info 执行时时显示详细的信息
-q quiet mode (-qq=>quieter) 执行时不显示任何信息
-d directory 指定文件解压缩后所要存储的目录

实例:将当前目录下的test.zip解压,并将解压后的文件存入home/goos 目录下
# unzip test.zip -d /home/goos/
如果使用 unzip 命令时报错:"-bash: zip: command not found",需要安装 zip 命令,输入:
# yum -y install unzip

猜你喜欢

转载自blog.csdn.net/qq_43662261/article/details/85299488