• 烂泥:CentOS命令学习之tar打包与解压


    本文由秀依林枫提供友情赞助,首发于烂泥行天下

    tar命令一般是做打包和解压使用,有关tar命令的使用。我们可以通过帮助文档进行查看,如下:

    tar –help

    man tar

    clip_image001

    clip_image002

    tar有几个比较重要的参数如下:

    -c 创建一个新归档

    -f 当与-c选项一起使用时,创建的tar文件使用该选项的指定的文件名;当与-x选项一起使用时,则解包该选项指定的归档。该参数一定放在所有参数的最后面

    -t 显示tar文件中的文件列表

    -v 显示归档或解档的进度

    -z 使用gzip来压缩tar文件

    -j 使用bzip2来压缩tar文件

    -x 解压tar压缩包,

    -C 解压到新的目录,该命令是大写。

    -p 保留备份数据的原本权限和属性

    以上命令需要特别注意-c、-t、-x不能在一个命令中同时出现

    现在我们先来讲解tar打包的使用方法。注意在此我们全部以gzip格式的文件为例,如果是bzip文件把参数-z修改为-j即可。

    将ilanni目录进行打包,打包后的文件为ilanni.tar.gz,并将打包后存放到/testtar目录下:

    tar -cvzf /testtar/ilanni.tar.gz ilanni

    或者

    tar -czf /testtar/ilanni.tar.gz ilanni

    其中参数-v是可有可无。

    clip_image003

    clip_image004

    通过上述两张图片我们可以看出,已经打包成功。刚刚是把本地的文件打包到其他目录,如果把A目录下的文件打包到B目录如下:

    tar -czf /testtar/tar.tar.gz /tar

    clip_image005

    该条命令的作用是把/tar目录进行打包,打包完成后以tar.tar.gz命名文件存放到/testtar目录下。

    以上都是在同一台服务器上进行的,如果我想把本地的文件打包后,上传到另外一台服务器上。操作如下:

    ssh root@192.168.1.102 tar -czf /ks/tar.tar.gz /tar/

    该条命令的意思是把/tar目录打包到192.168.1.102服务器的/ks目录下。

    clip_image006

    clip_image007

    通过上述两张截图,我们可以看到已经成功的把/tar打包到192.168.1.102服务器的/ks目录下。

    上面是对目录进行打包,如果是对单独的文件进行打包也很简单。我们来测试下,如果两个文件在不同的目录,打包到一个压缩包中。如下

    tar -zvcf test.tar.gz ./tftp.txt ./ilanni/iso.txt

    tar -tvf test.tar.gz

    clip_image008

    通过上面这张截图,我们可以很清楚的看出。我们现在已经把当前目录下的tftp.txt文件和该目录下的ilanni目录下的iso.txt文件打包到同一个压缩包中。

    以上是有关tar打包的相关使用方法。下面我们来介绍使用tar解压压缩包的方法。按照网络上的说法对于不同的压缩包比如gzip压缩包和bzip2压缩包,我们再解压时,要使用不同的命令。

    对于gzip压缩包,使用tar –zxf ilanni.tar.gz解压。对于bzip压缩包,使用tar –jxf ks.bz2解压。

    其实根本没有那个必要,只要是tar压缩包,我们直接使用tar –xf进行解压即可。如下:

    tar -xf ilanni.tar.gz

    tar -xf ks.bz2

    clip_image009

    通过上图,我们可以看到只要是tar压缩包的解压我们就可以直接使用tar -xf进行解压。

    以上我们是把压缩包解压到同一目录下,下面我们来测试下把压缩包解压到另外一个目录。如下:

    tar -xf ilanni.tar.gz -C /testtar/

    该条命令的意思是把当前目录下ilanni.tar.gz解压到/testtar/目录下。

    clip_image010

    通过上图,我们可以看到ilanni.tar.gz已经成功的解压到/testtar/目录下。

    以上我们解压的是整个目录,假如说这个压缩包是一个文件夹的话,而里面又有很多的文件,我们现在只想把其中的一个文件解压出来。操作如下:

    先查看该压缩包的目录结构,使用如下命令:

    tar -tvf ilanni.tar.gz

    clip_image011

    注意图中黄色部分标记出来的ilanni/tftp.txt,我们现在就是要把tftp.txt解压出来,其他的文件不进行解压。而且这个路径也要记录下,等会解压要使用到。

    现在开始解压,使用如下命令:

    tar -xf ilanni.tar.gz ilanni/tftp.txt

    clip_image012

    可以看到现在已经把tftp.txt文件解压出来了。

    如果多个文件,但又不是全部解压。可以使用类型的命令。如下:

    tar -xf ilanni.tar.gz ilanni/{tftp.txt,iso.txt}

    clip_image013

    通过上图可以看到,我们现在已经只把tftp.txt和iso.txt。两个文件解压出来了。

    到此有关tar的基本使用介绍结束。

  • 相关阅读:
    【Leetcode】113Path Sum II
    【leetcode】112. Path Sum
    virtualbox 中安装win7虚拟机
    制作一个vagrant的win7 box
    socket编程
    异常处理
    strip(),replace()和re.sub()用法
    面象对象 高阶篇
    面象对象 基础篇
    Subprocess模块介绍
  • 原文地址:https://www.cnblogs.com/ilanni/p/3983060.html
Copyright © 2020-2023  润新知