linux tar压缩文件命令,tar打包压缩文件命令

linux tar压缩文件命令,tar打包压缩文件命令tar命令tar命令用于将多个文件合成1个文件,wiki中把这个命令和cpio、shar等一起叫做archive文件,个人理解是归档,合成一个文件,后就可以用gzip、bz2、xz等工具进行压缩,同时也能方便在各个计算机间传输,有点类似windows下共享的zip文件。wiki上这个图比较形象,tar把零散的文件合拢,gzip把合拢的文件压缩。一、命令语法tar[选项…][FILE]…..

大家好,又见面了,我是你们的朋友全栈君。

tar命令

tar命令用于将多个文件合成1个文件,wiki中把这个命令和cpio、shar等一起叫做archive文件,个人理解是归档,合成一个文件,后就可以用gzip、bz2、xz等工具进行压缩,同时也能方便在各个计算机间传输,有点类似windows下共享的zip文件。

wiki上这个图比较形象,tar把零散的文件合拢,gzip把合拢的文件压缩。

e3ddc8adec03484bec4f58f2956defb9.png

一、 命令语法

tar [选项…] [FILE]…

二、 选项详解

使用 tar –help命令能够阅读tar命令的详细用法解析。

示例

tar -cf archive.tar foo bar # 从文件 foo 和 bar 创建归档文件archive.tar。

tar -tvf archive.tar # 详细列举归档文件 archive.tar中的所有文件。

tar -xf archive.tar # 展开归档文件 archive.tar中的所有文件。

选项

1、 主要选项:

-A, –catenate, –concatenate 追加 tar 文件至归档

-c, –create 创建一个新归档

-d, –diff, –compare 找出归档和文件系统的差异

–delete 从归档(非磁带!)中删除

-r, –append 追加文件至归档结尾

-t, –list 列出归档内容

–test-label 测试归档卷标并退出

-u, –update 仅追加比归档中副本更新的文件

-x, –extract, –get 从归档中解出文件

2、压缩选项

-a, –auto-compress 使用归档后缀名来决定压缩程序

-I, –use-compress-program=PROG ,通过 PROG 过滤(必须是能接受 -d 选项的程序)

-j, –bzip2 通过 bzip2 压缩归档

-J, –xz 通过 xz 压缩归档

-z, –gzip, –gunzip, –ungzip 通过 gzip 压缩归档

-Z, –compress, –uncompress 通过 compress 压缩归档

3、辅助选项

-v, –verbose 详细地列出处理的文件

-f, –file=ARCHIVE 使用归档文件或 ARCHIVE 设备,*该选项后必须接打包的.tar**

三、使用示例

做试验的文件夹目录结构

12691705cfb9e3ff77e1d8759d8cbb5a.png

1、将bdir 打包成 bdir.tar

命令:tar -cvf bdir.tar bdir

6c89af7e5b176f7efe66b1be651239d5.png

打包之前是0为什么打包之后是12k,需要研究,可能不是单纯的合并。

d20ee0aae4cff167f67da9dfd5852d3b.png

2、把1.txt加入bdir.tar

命令:tar -rvf bdir.tar 1.txt

b5cfa5542dbdeeee0005a93ef0394c1f.png

3、打包adir、bdir到bdir.tar,但不打包其中的a.txt文件

命令:tar -cvf bdir.tar –exclude bdir/a.txt adir bdir

命令的语序为打包到哪个文件,哪些东西不要,描述总体需要加进去的文件。

91e17806693350ae2a25bf903a99d7cf.png

4、查看bdir.tar中的文件

命令:tar -tf bdir.tar,该命令同时可以查看使用-z,-j,-J打包压缩过的文件包中的内容

393bcfeb28ba29ad00cf709987284b38.png

注意如果包中文件过多,可在命令后加|less分屏显示

命令:tar -tf bdir.tar|less

5、把bdir.tar解压到当前目录下

命令:tar -xvf bdir.tar

a77842cfb3aca998c97d45ac51eb95a1.png

注意,解包操作会覆盖原始文件并且不会有提示。

6、将1.txt、adir、bdir打包再用gzip压缩(用其他压缩方式只需替换其中的z为j或J)

命令:tar -czvf bdir.tar.gz 1.txt adir bdir

ced27f621983474874c93847ea8b7b3f.png

查看其中的内容:

命令:tar -tf bdir.tar.gz

df47737ad58b174a9b10fc0d9fd74a94.png

解压包

命令:tar -xzvf bdir.tar.gz

4136e1d59ab4fe845a31cbbcd4365c66.png

补充知识:单独解压出包中个别文件

命令:“`

cd /tmp

tar -xzvf /tarlearning/bdir.tar.gz bdir/a.txt

![](https://s4.51cto.com/images/blog/201801/07/6e6a85f831ce9ebf6d91432ff14fc62c.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142928.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pytest报错_pytest失败重跑

    pytest报错_pytest失败重跑前言我们每天写完自动化用例后都会提交到git仓库,随着用例的增多,为了保证仓库代码的干净,当有用例新增的时候,我们希望只运行新增的未提交git仓库的用例。pytest-picked插件可以

    2022年7月29日
    7
  • 黑盒测试用例设计方法详解

    黑盒测试用例设计方法详解黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法、场景图法等。(一)等价类划分法定义:等价类划分法是把所有可能输入的数据,即程序的输入域划分策划国内若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。方法是一种重要的、常用的黑盒测试用例设计方法。等价类是指某个输入域的子集合。在该子集合中,各个输入数据…

    2022年6月6日
    28
  • subscriptions_promise sb to do

    subscriptions_promise sb to do1.Promise的含义Promise是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6将其写进了语言标准,统一了用法,原生提供了P

    2022年8月7日
    5
  • leetcode 回溯算法_有两个长度相同的字符串s1和s2

    leetcode 回溯算法_有两个长度相同的字符串s1和s2原题链接数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例 1:输入:n = 3输出:[“((()))”,”(()())”,”(())()”,”()(())”,”()()()”]示例 2:输入:n = 1输出:[“()”] 提示:1 <= n <= 8题解回溯class Solution {public: vector<string>res; string t = “”; voi

    2022年8月8日
    6
  • 编译器警告RegisterStartupScript已经过时

    编译器警告RegisterStartupScript已经过时protectedvoidAlertMsg(stringmsg){this.Page.RegisterStartupScript(“alert”,”<scriptlanguage=\”javascript\”>alert(‘”+msg+”‘);</script>”);}使用上面的代码建立的客户端脚本块编译器会警告Reg…

    2022年7月20日
    12
  • AngularJS 模块「建议收藏」

    AngularJS 模块「建议收藏」模块定义了一个应用程序。模块是应用程序中不同部分的容器。模块是应用控制器的容器。控制器通常属于一个模块。1创建模块你可以通过AngularJS的angular.module函数来创建模块:<divng-app=”myApp”>…</div><script>varapp=angular.module(“my…

    2022年7月25日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号