Linux下的tar归档及解压缩功能详解

  • 一、Linux下解压缩工具
  • 二、gzip工具的使用方法
  • 三、其他解压缩工具

一、Linux下解压缩工具

二、gzip工具的使用方法

三、其他解压缩工具

一、Linux下解压缩工具
1.tar命令
Unix和类Unix系统上的压缩打包工具,可以将多个文件合并为一个文件,打包后的文件后缀亦为“tar”。tar文件格式已经成为POSIX标准,最初是POSIX.1-1988,当前是POSIX.1-2001。本程序最初的设计目的是将文件备份到磁带上(tape archive),因而得名tar。
tar命令是Unix/Linux系统中备份文件的可靠方法,几乎可以工作于任何环境中,它的使用权限是所有用户。最常用的打包命令是 tar,使用 tar 程序打出来的包我们常称为 tar 包,tar 包文件的命令通常都是以 .tar 结尾的。生成 tar 包后,就可以用其它的程序来进行压缩了,所以首先就来讲讲 tar 命令的基本用法。

2.tar的语法及参数

参数:-A或--catenate 新增文件到已存在的备份文件。
-b<区块数目>或--blocking-factor=<区块数目> 设置每笔记录的区块数目,每个区块大小为12Bytes。
-B或--read-full-records 读取数据时重设区块大小。
-c或--create 建立新的备份文件。
-C<目的目录>或--directory=<目的目录> 切换到指定的目录。
-d或--diff或--compare 对比备份文件内和文件系统上的文件的差异。
-f<备份文件>或--file=<备份文件> 指定备份文件。
-F<Script文件>或--info-script=<Script文件> 每次更换磁带时,就执行指定的Script文件。
-g或--listed-incremental 处理GNU格式的大量备份。
-G或--incremental 处理旧的GNU格式的大量备份。
-h或--dereference 不建立符号连接,直接复制该连接所指向的原始文件。
-i或--ignore-zeros 忽略备份文件中的0 Byte区块,也就是EOF。
-k或--keep-old-files 解开备份文件时,不覆盖已有的文件。
-K<文件>或--starting-file=<文件> 从指定的文件开始还原。
-l或--one-file-system 复制的文件或目录存放的文件系统,必须与tar指令执行时所处的文件系统相同,否则不予复制。
-L<媒体容量>或-tape-length=<媒体容量> 设置存放每体的容量,单位以1024 Bytes计算。
-m或--modification-time 还原文件时,不变更文件的更改时间。
-M或--multi-volume 在建立,还原备份文件或列出其中的内容时,采用多卷册模式。
-N<日期格式>或--newer=<日期时间> 只将较指定日期更新的文件保存到备份文件里。
-o或--old-archive或--portability 将资料写入备份文件时使用V7格式。
-O或--stdout 把从备份文件里还原的文件输出到标准输出设备。
-p或--same-permissions 用原来的文件权限还原文件。
-P或--absolute-names 文件名使用绝对名称,不移除文件名称前的"/"号。
-r或--append 新增文件到已存在的备份文件的结尾部分。
-R或--block-number 列出每个信息在备份文件中的区块编号。
-s或--same-order 还原文件的顺序和备份文件内的存放顺序相同。
-S或--sparse 倘若一个文件内含大量的连续0字节,则将此文件存成稀疏文件。
-t或--list 列出备份文件的内容。
-T<范本文件>或--files-from=<范本文件> 指定范本文件,其内含有一个或多个范本样式,让tar解开或建立符合设置条件的文件。
-u或--update 仅置换较备份文件内的文件更新的文件。
-U或--unlink-first 解开压缩文件还原文件之前,先解除文件的连接。
-v或--verbose 显示指令执行过程。
-V<卷册名称>或--label=<卷册名称> 建立使用指定的卷册名称的备份文件。
-w或--interactive 遭遇问题时先询问用户。
-W或--verify 写入备份文件后,确认文件正确无误。
-x或--extract或--get 从备份文件中还原文件。
-X<范本文件>或--exclude-from=<范本文件> 指定范本文件,其内含有一个或多个范本样式,让ar排除符合设置条件的文件。
-z或--gzip或--ungzip 通过gzip指令处理备份文件。
-Z或--compress或--uncompress 通过compress指令处理备份文件。
-<设备编号><存储密度> 设置备份用的外围设备编号及存放数据的密度。
--after-date=<日期时间> 此参数的效果和指定"-N"参数相同。
--atime-preserve 不变更文件的存取时间。
--backup=<备份方式>或--backup 移除文件前先进行备份。
--checkpoint 读取备份文件时列出目录名称。
--concatenate 此参数的效果和指定"-A"参数相同。
--confirmation 此参数的效果和指定"-w"参数相同。
--delete 从备份文件中删除指定的文件。
--exclude=<范本样式> 排除符合范本样式的文件。
--group=<群组名称> 把加入设备文件中的文件的所属群组设成指定的群组。
--help 在线帮助。
--ignore-failed-read 忽略数据读取错误,不中断程序的执行。
--new-volume-script=<Script文件> 此参数的效果和指定"-F"参数相同。
--newer-mtime 只保存更改过的文件。
--no-recursion 不做递归处理,也就是指定目录下的所有文件及子目录不予处理。
--null 从null设备读取文件名称。
--numeric-owner 以用户识别码及群组识别码取代用户名称和群组名称。
--owner=<用户名称> 把加入备份文件中的文件的拥有者设成指定的用户。
--posix 将数据写入备份文件时使用POSIX格式。
--preserve 此参数的效果和指定"-ps"参数相同。
--preserve-order 此参数的效果和指定"-A"参数相同。
--preserve-permissions 此参数的效果和指定"-p"参数相同。
--record-size=<区块数目> 此参数的效果和指定"-b"参数相同。
--recursive-unlink 解开压缩文件还原目录之前,先解除整个目录下所有文件的连接。
--remove-files 文件加入备份文件后,就将其删除。
--rsh-command=<执行指令> 设置要在远端主机上执行的指令,以取代rsh指令。
--same-owner 尝试以相同的文件拥有者还原文件。
--suffix=<备份字尾字符串> 移除文件前先行备份。
--totals 备份文件建立后,列出文件大小。
--use-compress-program=<执行指令> 通过指定的指令处理备份文件。
--version 显示版本信息。
--volno-file=<编号文件> 使用指定文件内的编号取代预设的卷册编号。

二、gzip工具的使用方法
1.查看当前目录下需要压缩的文件

[root@control tmp]#
[root@control tmp]# pwd
/data/tmp
[root@control tmp]# ll
total 0
-rw-r--r--. 1 root root 0 Apr 30 14:10 file0.py
-rw-r--r--. 1 root root 0 Apr 30 14:10 file10.py
-rw-r--r--. 1 root root 0 Apr 30 14:10 file11.py
-rw-r--r--. 1 root root 0 Apr 30 14:10 file12.py
-rw-r--r--. 1 root root 0 Apr 30 14:10 file13.py
-rw-r--r--. 1 root root 0 Apr 30 14:10 file14.py
-rw-r--r--. 1 root root 0 Apr 30 14:10 file15.py
-rw-r--r--. 1 root root 0 Apr 30 14:10 file16.py
-rw-r--r--. 1 root root 0 Apr 30 14:10 file17.py
-rw-r--r--. 1 root root 0 Apr 30 14:10 file18.py
-rw-r--r--. 1 root root 0 Apr 30 14:10 file19.py
-rw-r--r--. 1 root root 0 Apr 30 14:10 file1.py
-rw-r--r--. 1 root root 0 Apr 30 14:10 file20.py
-rw-r--r--. 1 root root 0 Apr 30 14:10 file2.py
-rw-r--r--. 1 root root 0 Apr 30 14:10 file3.py
-rw-r--r--. 1 root root 0 Apr 30 14:10 file4.py
-rw-r--r--. 1 root root 0 Apr 30 14:10 file5.py
-rw-r--r--. 1 root root 0 Apr 30 14:10 file6.py
-rw-r--r--. 1 root root 0 Apr 30 14:10 file7.py
-rw-r--r--. 1 root root 0 Apr 30 14:10 file8.py
-rw-r--r--. 1 root root 0 Apr 30 14:10 file9.py

2.使用gzip归档压缩文件


[root@control tmp]# tar -czf /tmp/test.tar.gz /data/tmp/*
tar: Removing leading `/' from member names
tar: Removing leading `/' from hard link targets
root@control tmp]# ls /tmp
test.tar.gz

3.查看压缩包内容

[root@control tmp]# tar -tf /tmp/test.tar.gz
data/tmp/file0.py
data/tmp/file10.py
data/tmp/file11.py
data/tmp/file12.py
data/tmp/file13.py
data/tmp/file14.py
data/tmp/file15.py
data/tmp/file16.py
data/tmp/file17.py
data/tmp/file18.py
data/tmp/file19.py
data/tmp/file1.py
data/tmp/file20.py
data/tmp/file2.py
data/tmp/file3.py
data/tmp/file4.py
data/tmp/file5.py
data/tmp/file6.py
data/tmp/file7.py
data/tmp/file8.py
data/tmp/file9.py

4.查看是压缩包信息

[root@control tmp]#
[root@control tmp]# file /tmp/test.tar.gz
/tmp/test.tar.gz: gzip compressed data, last modified: Fri Apr 30 11:09:35 2021, from Unix, original size 20480

5.解压缩到目录/root/test/下

[root@control tmp]# tar -xzf /tmp/test.tar.gz -C /root/test/
[root@control tmp]# ls /root/test/
data
[root@control tmp]# ls /root/test/data/tmp/
file0.py   file11.py  file13.py  file15.py  file17.py  file19.py  file20.py  file3.py  file5.py  file7.py  file9.py
file10.py  file12.py  file14.py  file16.py  file18.py  file1.py   file2.py   file4.py  file6.py  file8.py

三、其他解压缩工具

1.bzip工具进行归档解压缩

[root@control tmp]# tar  -cjf /tmp/test.tar.bz2   /data/tmp/
tar: Removing leading `/' from member names
[root@control tmp]# ls /tmp
test.tar.bz2  test.tar.gz
[root@control tmp]# tar -xjf /tmp/test.tar.bz2 -C /data/tmp/
[root@control tmp]# tar -xjf /tmp/test.tar.bz2 -C /root/test/
[root@control tmp]# ls /root/test
test/     test.txt
[root@control tmp]# ls /root/test/data/tmp/
file0.py   file11.py  file13.py  file15.py  file17.py  file19.py  file20.py  file3.py  file5.py  file7.py  file9.py
file10.py  file12.py  file14.py  file16.py  file18.py  file1.py   file2.py   file4.py  file6.py  file8.py
[root@control tmp]# [root@control tmp]# file /tmp/test.tar.bz2
/tmp/test.tar.bz2: bzip2 compressed data, block size = 900k

2.直接使用bzip进行解压缩

[root@control tmp]# ls
file0.py   file11.py  file13.py  file15.py  file17.py  file19.py  file20.py  file3.py  file5.py  file7.py  file9.py
file10.py  file12.py  file14.py  file16.py  file18.py  file1.py   file2.py   file4.py  file6.py  file8.py
[root@control tmp]# gzip file1.py
[root@control tmp]# ls
file0.py   file11.py  file13.py  file15.py  file17.py  file19.py    file20.py  file3.py  file5.py  file7.py  file9.py
file10.py  file12.py  file14.py  file16.py  file18.py  file1.py.gz  file2.py   file4.py  file6.py  file8.py
[root@control tmp]# gunzip file1.py.gz
[root@control tmp]# ls
file0.py   file11.py  file13.py  file15.py  file17.py  file19.py  file20.py  file3.py  file5.py  file7.py  file9.py
file10.py  file12.py  file14.py  file16.py  file18.py  file1.py   file2.py   file4.py  file6.py  file8.py

gzip工具直接使用方法与bzip一样

Linux下的tar归档及解压缩功能详解相关推荐

  1. Linux下boost库的编译、安装详解

    1.下载源文件 去官网下载:http://www.boost.org/ 这里下载最新版本 wget https://dl.bintray.com/boostorg/release/1.64.0/sou ...

  2. linux nginx编译详解,Linux下nginx编译安装教程和编译参数详解

    这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备 1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码 代码如下:# ...

  3. 【转载】Linux命令-自动挂载文件/etc/fstab功能详解[转]

    博客园 首页 新随笔 联系 订阅 管理 随笔 - 322  文章 - 0  评论 - 19 Linux命令-自动挂载文件/etc/fstab功能详解[转]     一./etc/fstab文件的作用 ...

  4. linux 子域dns,linux下搭建DNS子域及相关授权详解

    linux下搭建DNS子域及相关授权详解forward功能是本地无法解析的域名,转发给指定DNS服务器 forward only; 所有无法解析的域名,都转发给指定DNS服务器,必须有解析结果 for ...

  5. Linux环境下怎么使用pip,linux下pip的安装步骤及使用详解

    linux下pip的安装步骤及使用详解 pip类似RedHat里面的yum,安装软件非常方便.下面话不多说,来看看详细的介绍: pip下载:# wget "https://pypi.pyth ...

  6. Linux 挂载windows网络共享文件 /etc/fstab功能详解

    转载自: http://www.cnblogs.com/qiyebao/p/4484047.html Linux命令-自动挂载文件/etc/fstab功能详解[转] 一./etc/fstab文件的作用 ...

  7. linux下搭建DNS子域及相关授权详解

    linux下搭建DNS子域及相关授权详解 forward功能是本地无法解析的域名,转发给指定DNS服务器 forward only; 所有无法解析的域名,都转发给指定DNS服务器,必须有解析结果 fo ...

  8. linux下mysql数据库基础及客户端命令详解

    linux下mysql数据库基础及客户端命令详解 1.mysql数据库存储引擎: SHOW ENGINES;   #查看mysql支持的存储引擎 常见有如下两个存储引擎: MyISAM:每表三个文件: ...

  9. linux压缩命令zip详解,Linux中zip压缩和unzip解压缩命令详解

    如果你的英文足够好,那完全可以不靠任何人就精通linux,只要你会用man.Man实际上就是查看指令用法的help,学习任何一种UNIX类的操作系统最重要的就是学会使用man这个辅助命令.接下来是小编 ...

最新文章

  1. PyCharm 2018 for mac 数据库实战:链接SQLite、建表、添加、查询数据
  2. 用 vue + d3 画一棵树
  3. 窗口子类化-实例应用
  4. 自学python困难吗_Python学习难不难?零基础好学吗?
  5. 图像分段线性变化_暗光也清晰的图像增强算法
  6. CTO下午茶: 没有安全,一切创新都是套路
  7. sqlserver2008 获取最后插入的id_Python3操作SQL Server2008数据库
  8. linux卸载es,Ubuntu卸载elasticsearch
  9. base64链接转为地址php,php将图片链接转换为base64编码文件流
  10. Delphi面向对象学习随笔七:COM
  11. 从底层重学 Java 之四大整数 GitChat链接
  12. vs2005新建类,自定义模板信息(转载)
  13. html 自动完成,如何指定 form或 input元素是否应在HTML中启用自动完成功能?
  14. 别太相信自己,总有一种诈骗戳中你的刚需
  15. detectmultiscale函数参数含义_OpenCV人脸识别--detectMultiScale函数
  16. Python基础学习--基于尚硅谷python教学视频
  17. 移动交互设计:提示语设计总结
  18. FPGA视频处理系统
  19. Matlab中神经网络工具箱性能指标(R系数、均方误差、误差直方图)图的含义
  20. 广州大学学生实验报告,数据结构实验,二叉树的操作与实现

热门文章

  1. 基于struts2的寝室圈项目
  2. 浏览器下载图片的方法,修改报文来实现。
  3. leetcode 160 简单难度 相交链表
  4. 蒙面也能识别?俄罗斯开发新技术,伪装犯罪将在监控下无处遁行
  5. 中国18岁美女机器人:出得厅堂,下得厨房,还要什么女朋友!
  6. 域的基本管理:创建部门和用户
  7. ipc620中文版最新版本_(一)Windows10 家庭中文版Docker安装 搭建docker开发环境
  8. 油气储运工程中计算机的应用,中国石油大学(北京) 油气储运工程专业介绍
  9. php指定键名排序,php二维数组指定其键名对其排序的方法
  10. mapper中 <include refid=“XXX“></include>标签 <sql id=“XXX“>标签