Linux 系统中,最常用的归档(打包)命令就是 tar,该命令可以将许多文件一起保存到一个单独的磁盘中进行归档。不仅如此,该命令还可以从归档文件中还原所需文件,也就是打包的反过程,称为解打包。
1.tar命令做打包操作
  当 tar 命令用于打包操作时,该命令的基本格式为:
  [root@localhost ~]#tar [选项] 源文件或目录

  

  选项 "-cvf" 一般是习惯用法,记住打包时需要指定打包之后的文件名,而且要用 ".tar" 作为扩展名。

  举例:

  1)打包文件和目录
  tar -cvf cisco.cfg.tar cisco.cfg
  #把cisco.cfg打包为cisco.cfg.tar文件
  tar -cvf test.tar test/
  #把目录打包为test.tar文件
  tar命令也可以打包多个文件或目录,只要用空格分开即可。例如:
  [root@localhost ~]# tar -cvf cis.tar cisco.cfg /tmp/
  #把cisco.cfg文件和/tmp目录打包成cis.tar文件包
  2)打包并压缩目录
  压缩命令不能直接压缩目录,必须先用 tar 命令将目录打包,然后才能用 gzip 命令或 bzip2 命令对打包文件进行压缩。例如:
  [root@localhost ~]#ll -d test test.tar
  drwxr-xr-x 2 root root 4096 6月 17 21:09 test
  -rw-r--r-- 1 root root 10240 6月 18 01:06 test.tar
  #我们之前已经把test目录打包成test.tar文件
  [root@localhost ~]# gzip test.tar
  [root@localhost ~]# ll test.tar.gz
  -rw-r--r-- 1 root root 176 6月 18 01:06 test.tar.gz
  #gzip命令会把test.tar压缩成test.tar.gz

2.tar命令做解打包操作

  当 tar 命令用于对 tar 包做解打包操作时,该命令的基本格式如下:
  [root@localhost ~]#tar [选项] 压缩包

  

  其实解打包和打包相比,只是把打包选项 "-cvf" 更换为 "-xvf"。我们来试试:

  [root@localhost ~]# tar -xvf anaconda-ks.cfg. tar
  #解打包到当前目录下

  如果使用 "-xvf" 选项,则会把包中的文件解压到当前目录下。如果想要指定解压位置,则需要使用 "-C(大写)" 选项。例如:
  [root@localhost ~]# tar -xvf test.tar -C /tmp
  #把文件包test.tar解打包到/tmp/目录下

  如果只想查看文件包中有哪些文件,则可以把解打包选项 "-x" 更换为测试选项 "-t"。例如:
  [root@localhost ~]# tar -tvf test.tar
  drwxr-xr-x root/root 0 2016-06-17 21:09 test/
  -rw-r-r- root/root 0 2016-06-17 17:51 test/test3
  -rw-r-r- root/root 0 2016-06-17 17:51 test/test2
  -rw-r-r- root/root 0 2016-06-17 17:51 test/test1
  #会用长格式显示test.tar文件包中文件的详细信息

3.tar命令做打包压缩(解压缩解打包)操作

  当 tar 命令同时做打包压缩的操作时,其基本格式如下:
  [root@localhost ~]#tar [选项] 压缩包 源文件或目录

  此处常用的选项有以下 2 个,分别是:
  -z:压缩和解压缩 ".tar.gz" 格式;
  -j:压缩和解压缩 ".tar.bz2"格式。

  【例 1】压缩与解压缩 ".tar.gz"格式。
  [root@localhost ~]# tar -zcvf tmp.tar.gz /tmp/
  #把/temp/目录直接打包压缩为".tar.gz"格式,通过"-z"来识别格式,"-cvf"和打包选项一致

  解压缩也只是在解打包选项 "-xvf" 前面加了一个 "-z" 选项。
  [root@localhost ~]# tar -zxvf tmp.tar.gz
  #解压缩与解打包".tar.gz"格式

  前面讲的选项 "-C" 用于指定解压位置、"-t" 用于查看压缩包内容,在这里同样适用。

  【例 2】压缩与解压缩 ".tar.bz2" 格式。
  和".tar.gz"格式唯一的不同就是"-zcvf"选项换成了 "-jcvf",如下所示:
  [root@localhost ~]# tar -jcvf tmp.tar.bz2 /tmp/
  #打包压缩为".tar.bz2"格式,注意压缩包文件名
  [root@localhost ~]# tar -jxvf tmp.tar.bz2
  #解压缩与解打包".tar.bz2"格式

  把文件直接压缩成".tar.gz"和".tar.bz2"格式,才是 Linux 中最常用的压缩方式,这是大家一定要掌握的压缩和解压缩方法。

  tar 命令最初被用来在磁带上创建备份,现在可以在任何设备上创建备份。利用 tar 命令可以把一大堆的文件和目录打包成一个文件,这对于备份文件或是将几个文件组合成为一个文件进行网络传输是非常有用的。

(21)tar打包命令详解的更多相关文章

  1. tar 解压缩命令详解

    今天对目录及其文件进行压缩:/usr/local/test# tar -cvf /usr/local/auto_bak/test.tar /usr/local/test 仅打包,不压缩 # tar - ...

  2. Ubuntu tar 解压缩命令详解

    tar 解压缩命令详解: -c: 建立压缩档案 -x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只 ...

  3. ubuntu学习笔记-tar 解压缩命令详解(转)

    tar 解压缩命令详解 -c: 建立压缩档案 -x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能 ...

  4. 转 vagrant package[打包命令]详解

    转 vagrant package[打包命令]详解   vagrant的一个非常重要的功能就是在你的同事之间分享你的box从而使大家的开发环境保持同步,打包[package]正是实现这一功能的关键所在 ...

  5. 001_fpm打包命令详解

    使用fpm来制作rpm包 2017/2/22 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ...

  6. jar 打包命令详解

    原文: https://blog.csdn.net/marryshi/article/details/50751764 本文详细讲述了JAR命令的用法,对于大家学习和总结jar命令的使用有一定的帮助作 ...

  7. CentOS 打包压缩文件 zip 命令详解

    我们再linux中常见的压缩文件有.tar.gz,.zip,.gz,在linux中,你要习惯没有.rar的日子. 一下为tar,zip命令详解 tar -zcvf /home/files.tar.gz ...

  8. linux下tar命令详解

     linux下tar命令详解    tar是Linux环境下最常用的备份工具之一.tar(tap archive)原意为操作磁带文件,但基于Linux的文件操作机制,同样也可适用于普通的磁盘文件.ta ...

  9. [Linux] 解压缩 tar 命令详解

    在Linux环境软件安装过程中通常需要用到解压命令,故在此总结下,以方便以后使用,若有不对之处,欢迎指正.   1. 文件压缩      通过压缩算法将文件的体积缩小,同时会将多个文件合并成至一起方便 ...

随机推荐

  1. 2.1 关系型数据的收集--Sqoop

    Sqoop应用场景: 1.数据迁移,将关系型数据库中的数据导入Hadoop存储系统 2.可视化分析结果,将Hadoop处理之后产生的结果导入关系型数据库,以便进行可视化展示 3.数据增量导入:减少ha ...

  2. ZooKeeper集群“脑裂”

    ZooKeeper 集群节点为什么要部署成奇数ZooKeeper 容错指的是:当宕掉几个ZooKeeper节点服务器之后,剩下的个数必须大于宕掉的个数,也就是剩下的节点服务数必须大于n/2,这样Zoo ...

  3. Fresco 源码分析 —— 整体架构

    Fresco 是我们项目中图片加载专用框架.虽然我不是负责 Fresco 框架,但是由本人负责组里的图片加载浏览等工作,因此了解 Fresco 的源码有助于我今后的工作,也可以学习 Fresco 的源 ...

  4. Hive表的基本操作

    目录 1. 创建表 2. 拷贝表 3. 查看表结构 4. 删除表 5. 修改表 5.1 表重命名 5.2 增.修.删分区 5.3 修改列信息 5.4 增加列 5.5 删除列 5.6 修改表的属性 1. ...

  5. Netty学习之IO模型

    目录 1.1 同步.异步.阻塞.非阻塞     同步 VS 异步         同步         异步     阻塞 VS 非阻塞         阻塞         非阻塞     举例   ...

  6. vue的路由组件挂载。

    vue通过多种方式可以将组件挂载到一个页面上.挂载方式有四种.其实也并不止四种.这里呢就简单的提四种方式去怎样挂载组件. 第一种就是作为标签形式挂载.前面也提到. 后面的就是一般的挂载组件和按需挂载组 ...

  7. idea启动build过慢

    原文链接http://zhhll.icu/2020/04/17/idea/idea%E4%B9%8B%E7%BC%96%E8%AF%91%E9%97%AE%E9%A2%98/ 之前使用idea的时候每 ...

  8. 白日梦的Elasticsearch笔记(一)基础篇

    目录 一.导读 1.1.认识ES 1.2.安装.启动ES.Kibana.IK分词器 二.核心概念 2.1.Near Realtime (NRT) 2.2.Cluster 2.3.Node 2.4.In ...

  9. 【Flutter】可滚动组件之SingleChildScrollView

    前言 SingleChildScrollView类似于Android中的ScrollView,它只能接收一个子组件. 接口描述 const SingleChildScrollView({ Key ke ...

  10. 搞定面试官:咱们从头到尾再说一次 Java 垃圾回收

    接着前几天的两篇文章,继续解析JVM面试问题,送给年后想要跳槽的小伙伴 万万没想到,面试中,连 ClassLoader类加载器 也能问出这么多问题..... 万万没想到,JVM内存区域的面试题也可以问 ...