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

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

tar –help

man tar

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是可有可无。

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

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

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

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

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

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

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

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

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

tar -tvf test.tar.gz

通过上面这张截图,我们可以很清楚的看出。我们现在已经把当前目录下的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

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

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

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

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

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

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

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

tar -tvf ilanni.tar.gz

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

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

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

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

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

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

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

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

烂泥:CentOS命令学习之tar打包与解压的更多相关文章

  1. linux tar 打包 压缩 解压

    dir:  tong 打包/压缩:tar zvf tong.rar tong        tar -czf tong.tar.gz tong 解压缩:tar xvf tong.rar 查看压缩包里的 ...

  2. linux tar命令 压缩、打包、解压 详解

    linux tar命令 压缩.打包.解压 详解 1.常用压缩命令 tar –czvf 压缩后的文件.tar.gz 要压缩的文件 2.常用解压命令 tar –xzvf 解压后的文件.tar.gz [要解 ...

  3. tar.xz如何解压:linux和windows下tar.xz解压命令介绍

    在linux下怎么解压和压缩tar.xz文件? (本文由www.169it.com搜集整理) 在linux下解压tar.xz文件步骤 1 2 # xz -d ***.tar.xz  //先解压xz # ...

  4. .tar.bz2文件解压命令

    从网络上下载到的源码包, 最常见的是 .tar.gz 包, 还有一部分是 .tar.bz2包 要解压很简单 : .tar.gz     格式解压为          tar   -zxvf   xx. ...

  5. Linux_文件打包,压缩,解压

    一.压缩命令 文件格式:*.gz 命令:gzip 文件名 (ps:不能压缩目录,切压缩后不保留原文件) 压缩前 -rw-r--r--. 1 root root 315 Sep 6 21:03 df.t ...

  6. Linux命令(16)压缩,解压文件

    tar: 简介:tar命令只是把目录打包成一个归档(文件),并不负责压缩.在tar命令中可以带参数调用gzip或bzip2压缩.因为gzip和bzip2只能压缩单个文件. 在linux下是不需要后缀名 ...

  7. linux 安装mysql数据库——tar.gz包解压安装法

    mysql数据库有多种安装方式,本文只介绍在Linux服务器上的tar.gz包解压安装法, 先通过mysql官网或者网络资源下载 mysql-5.7.3-m13-linux-glibc2.5-x86_ ...

  8. tar.xz文件解压

    原文:http://blog.csdn.net/rheostat/article/details/7614451 感谢CSDN的<帝都码农> ======================= ...

  9. Linux学习之CentOS(十九)------linux 下压缩与解压之 tar、gzip、bzip2、zip、rar

    将文件存储到归档文件中或者从归档文件中获取原始文件,以及为文件创建归档文件 tar [option] [modifiers] [file-list] 参数 file-list是tar进行归档和提取的文 ...

随机推荐

  1. (转)EasyUI-datagrid-自动合并单元格

    1.目标 1.1表格初始化完成后,已经自动合并好需要合并的行: 1.2当点击字段排序后,重新进行合并: 2.实现 2.1 引入插件 /** * author ____′↘夏悸 * create dat ...

  2. TCP拥塞控制算法 优缺点 适用环境 性能分析

    [摘要]对多种TCP拥塞控制算法进行简要说明,指出它们的优缺点.以及它们的适用环境. [关键字]TCP拥塞控制算法 优点    缺点   适用环境公平性 公平性 公平性是在发生拥塞时各源端(或同一源端 ...

  3. Java中读取xml方法

    package zaxiang; import java.io.*; import javax.xml.parsers.DocumentBuilder; import javax.xml.parser ...

  4. Visual Studio 编译项目失败,提示找不到文件

     博客地址:http://blog.csdn.net/FoxDave 今天碰到了一个蠢问题,虽然咱们正常情况下是遇不到的,但这确实是个应该注意的地方,所以简单记录一下. Visual Studio ...

  5. 常用HTML正则

    <?php //HTML a连接正则 $str = ''; $isMatched = preg_match('/<a.*?[^<]>.*?<\/a>/', $str ...

  6. android的adb详解(多设备时adb调用)

    在多设备(模拟器)时,想要直接用logcat查看其中一台的状态,或者直接把应用安装到目标设备上时,需要指定设备号.adb devices这个指令可以得到当前设备的序列号(serialNumber).比 ...

  7. mysql integer size 大小

    I was always wondering what the size of numeric columns in MySQL was. Forgive me if this is obvious ...

  8. WHERE谓词对索引使用的影响

    本篇博文只测试WHERE谓词对multi-column index使用的影响,主要篇幅是SQL代码+截图.详细内容请参考<Inside the SQL Server Query Optimize ...

  9. 20150626_Andriod_02_ListView2_列表与详细信息

    android listview 参考地址: http://www.cnblogs.com/zhengbeibei/archive/2013/05/14/3078805.html  http://xy ...

  10. c++学习-运算符重载

    重载=号运算符,由于成员属性中有指针会出现错误 #include <iostream> using namespace std; class num{ public: num(){n=;c ...