linux命令之tar 解压 压缩

tar(全称:tape archive )命令用于备份文件。tar 是用来 创建或者 还原备份文件的工具程序,它可以加入,解开备份文件内的文件。tar linux说明

tar [主选项 + 辅选项] 文件或目录

使用该命令时,主选项必须有,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。

主选项:一条命令下面的5个参数只能有一个,不能同时存在

-c: –create 新建一个压缩文档,即打包

-x: –extract,–get解压文件

-t: –list,查看压缩文档里的所有内容

-r:–append 向压缩文档里追加文件

-u:–update 更新原压缩包中的文件

辅助选项:

-z:是否同时具有gzip的属性?即是否需要用gzip压缩或解压?一般格式为xxx.tar.gz或xx.tgz

-j:是否同时具有bzip2的属性?即是否需要用bzip2压缩或解压?一般格式为xx.tar.bz2

-v:显示操作过程!这个参数很常用

-f:使用文档名,注意,在f之后要立即接文档名,不要再加其他参数!

-C:切换到指定目录

–exclude FILE:在压缩过程中,不要将FILE打包

$ tar -cvf img.tar img1 img2
$ tar -tvf img.tar
$ tar -xvf ./img.tar
$ tar -xvf ./img.tar img1

给img1文件下新建一个文件img3.txt,然后更新img.tar

$ tar -cvf img.tar img1 img2
给img1增加了一张照片,现在用下面命令更新img.tar
$ tar -uvf img.tar img1
$ tar -cf img.tar img1 img2
img.tar里追加一个文件夹img3
$ tar -rf img.tar img3

-C 参数非常有用,改变文件目录,多层级时使用。 -C, –directory=DIR ( change to directory DIR )

使用了-C 参数改变目录为 -C 后面的目录,不管是在打包还是解压都很有用。

语法:tar temp.tar -C fileDir file

$ cd temp
$ ls
img1  img2  img3
$ tar -cvf img.tar temp/*
这样打包会将temp目录也打包进去,使用下面带有-C参数的命令可以去掉路径信息
$ tar -cvf img.tar -C temp .

解压 img.tar 到当前目录下的 temp 目录

$ tar -xvf img.tar -C temp

附录:

$ tar -cvf image.tar /home/usr/image
tar: Removing leading ‘/’ from members names
/home/usr/image
该命令可以将/home/usr/image文件打包到当前目录下的image.tar中,需要注意的是:使用绝对路径标识的源文件,在用tar命令压缩后,文件名连同绝对路径(这里是home/usr/,根目录’/’被自动去掉了)一并被压缩进来。使用tar命令解压缩后会出现以下情况:
$ tar -xvf image.tar
解压缩后的文件名不是想象中的image,而是home/usr/image。
$ tar -cvf image.tar -C /home/usr/ image
该命令中的-C dir参数,将tar的工作目录从当前目录改为/home/usr/,将image文件(不带绝对路径)压缩到image.tar中。注意:-C dir参数的作用在于改变工作目录,其有效期为该命令中下一次-C dir参数之前。
使用tar的-C dir参数,同样可以做到在当前目录/root下将文件解压缩到其他目录,例如:
$ tar -xvf image.tar -C /home/user
而tar不用-C dir参数时是无法做到的:
$ tar -xvf image.tar /root
tar: /tmp/file: Not found in archive
tar: Error exit delayed from previous errors

Original: https://www.cnblogs.com/happyhuangjinjin/p/15811354.html
Author: BUG弄潮儿
Title: linux命令之tar 解压 压缩

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/524172/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Java轻松实现,每天给对象发情话!

    一、引言 最近看到一篇用js代码实现表白的文章,深有感触。然后发现自己也可以用java代码实现,然后就开始写代码了,发现还挺有意思的,话不多说开搞实现思路: 使用HttpClien…

    Linux 2023年6月14日
    083
  • 详解IP地址、子网掩码、网络号、主机号、网络地址、主机地址

    详解IP地址、子网掩码、网络号、主机号、网络地址、主机地址 概念 IP地址:一般是指逻辑ip; 子网掩码:将IP划分为网络号和主机号的IP; 网络号/主机号:子网掩码转成二进制后,…

    Linux 2023年6月6日
    0114
  • Windows+VSCode编译在Linux-x86_64环境上运行的程序

    一、简介 本文主要介绍在Windows平台上使用VSCode,从而可以一键编译出运行在Linux-x86_64环境中的程序或库。 二、实现方式 ① 交叉编译 ② WSL(Windo…

    Linux 2023年6月7日
    094
  • Linux 用户密码不能设置问题

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月7日
    0122
  • 读软件测试艺术感悟

    断断续续的看,总觉得好像是漏掉了什么,而且一直 想着还有什么事情未做,却静不下心来去细品 开篇用自测评价测试,举例三角形例子写出等价类边界值的方法给测试人员举一个例子,更好的使测试…

    Linux 2023年6月8日
    0101
  • frp实现Windows远程连接(docker)

    服务端配置 服务端拉镜像 docker pull snowdreamtech/frps 在某个目录下新建配置文件 frps.ini ,比如我是在/home/docker/frp目录…

    Linux 2023年6月8日
    093
  • Docker Manager for Kubernetes

    一、Kubernetes介绍 Kubernets是Google开源的容器集群系统,是基于Docker构建一个容器的调度服务,提供资源调度,均衡容灾,服务注册,动态伸缩等功能套件; …

    Linux 2023年6月14日
    082
  • Shiro结合Redis实现分布式或集群环境下的Session共享

    本篇是Shiro系列第二篇,使用Shiro基于Redis实现分布式或集群环境下的Session共享。在讲Session共享之前先说一下为什么要做Session共享。 什么是Sess…

    Linux 2023年5月28日
    0125
  • Cisco GNS3教程,GNS3搭建IPv6 6rd环境,Linux 配置 IPv6 6rd详析

    Cisco GNS3 IPv6 6rd实验 1、回顾 前文:https://www.cnblogs.com/kingpop/p/14054321.html在描述Cisco GNS3…

    Linux 2023年6月6日
    095
  • 自己写的文件夹图标修改脚本

    自己写了一个文件图标修改的Python脚本,只要把文件夹拖动到这个脚本上,就可以用文件夹中的图片和视频作为文件夹的封面。把图片或视频拖到脚本上,就可以把这个图片或视频用作其所在文件…

    Linux 2023年6月6日
    0159
  • 大数据Hadoop集群的扩容及缩容(动态添加删除节点)

    添加白名单和黑名单 白名单,表示在白名单的主机IP地址可以用来存储数据 企业中;配置白名单,可以尽量防止黑客恶意访问攻击。 配置白名单步骤如下:原文:sw-code 1)在Name…

    Linux 2023年6月8日
    0124
  • 模板化的封装,降低业务代码开发

    复杂的问题,往往需要简单的逻辑; 一、业务背景 业务开发是一件复杂且耗时的工程,所以最近几年出了一个很火的概念叫做”低代码”开发,简单的说就是开发人员通过简…

    Linux 2023年6月14日
    094
  • 高等代数:6 二次型 矩阵的合同

    6 二次型 (\cdot) 矩阵的合同 1、定义1:数域K上一个 n元二次型是系数在K中的n个变量的二次齐次多项式,它的一般形式是 [\begin{aligned} &f(…

    Linux 2023年6月8日
    0121
  • k8s集群中网络实现通信原理

    1)安装Docker时,创建一个名为 docke0 的虚拟网桥,虚拟网桥使用”10.0.0.0 -10.255.255.255 “、”172.1…

    Linux 2023年6月14日
    094
  • 可视化软件navicat

    目录 多表查询思路 可视化软件navicat *多表查询练习题 内容 多表查询思路 多表查询的思路总共就两种: 白嫖两个表 获取jason所在的部门名称 子查询 相当于是我们日常生…

    Linux 2023年6月7日
    078
  • Samba:文件共享

    samba:现主要用于Linux与Windows之间的文件共享。 samba的特点: 用于Linux与Windows之间进行文件共享和打印机共享 不仅用于Windows之间的文件共…

    Linux 2023年6月13日
    0109
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球