linux系列(二十二):tar命令

1、命令格式

tar[必要参数][选择参数][文件]

2、命令功能

用来压缩和解压文件。tar本身不具有压缩功能。他是调用压缩功能实现的

3、命令参数

必要参数:
-A 新增压缩文件到已存在的压缩
-B 设置区块大小
-c 建立新的压缩文件
-d 记录文件的差别
-r 添加文件到已经压缩的文件
-u 添加改变了和现有的文件到已经存在的压缩文件
-x 从压缩的文件中提取文件
-t 显示压缩文件的内容
-z 支持gzip解压文件
-j 支持bzip2解压文件
-Z 支持compress解压文件
-v 显示操作过程
-l 文件系统边界设置
-k 保留原有文件不覆盖
-m 保留文件不被覆盖
-W 确认压缩文件的正确性

可选参数:
-b 设置区块数目
-C 切换到指定目录
-f 指定压缩文件
--help 显示帮助信息
--version 显示版本信息

4、常见解包/压缩命令

(1)、.tar

解包:tar xvf FileName.tar

打包:tar cvf FileName.tar DirName

(2)、.tar.gz和.tgz

解包:tar zxvf FileName.tar.gz

压缩:tar zcvf FileName.tar.gz DirName

(3)、.tar.bz2

解压:tar jxvf FileName.tar.bz2

压缩:tar jcvf FileName.tar.bz2 DirName

(4)、.zip

解压:unzip FileName.zip

压缩:zip FileName.zip DirName

(5)、.rar

解压:rar x FileName.rar

压缩:rar a FileName.rar DirName

5、简单实例

(1)、将文件打包成不同格式

命令:

tar -cvf t1.tar tar_test/    (仅打包,不压缩!)
tar -zcvf t2.tar.gz tar_test/   (打包后,以 gzip 压缩)
tar -jcvf t3.tar.bz2 tar_test/   (打包后,以 bzip2 压缩 )

输出:

[email protected]:~/test$ ls tar_test/
1.txt  2.txt  3.txt  4.txt  5.txt  6.txt  7.txt
[email protected]-computer:~/test$ tar -cvf t1.tar tar_test/
tar_test/
tar_test/1.txt
tar_test/2.txt
tar_test/7.txt
tar_test/5.txt
tar_test/4.txt
tar_test/6.txt
tar_test/3.txt
[email protected]-computer:~/test$ ls
t1.tar  tar_test
[email protected]-computer:~/test$ tar -zcvf t2.tar.gz tar_test/
tar_test/
tar_test/1.txt
tar_test/2.txt
tar_test/7.txt
tar_test/5.txt
tar_test/4.txt
tar_test/6.txt
tar_test/3.txt
[email protected]-computer:~/test$ ls
t1.tar  t2.tar.gz  tar_test
[email protected]-computer:~/test$ tar -jcvf t3.tar.bz2 tar_test/
tar_test/
tar_test/1.txt
tar_test/2.txt
tar_test/7.txt
tar_test/5.txt
tar_test/4.txt
tar_test/6.txt
tar_test/3.txt
[email protected]-computer:~/test$ ls
t1.tar  t2.tar.gz  t3.tar.bz2  tar_test
[email protected]-computer:~/test$ 

(2)、查看tar包内有哪些内容

命令:

tar -tvf t1.tar

tar -ztvf t2.tar.gz

tar -jtvf t3.tar.bz2

输出:

[email protected]:~/test$ tar -tvf t1.tar
drwxr-xr-x felix/felix       0 2018-12-12 10:19 tar_test/
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/1.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/2.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/7.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/5.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/4.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/6.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/3.txt
[email protected]-computer:~/test$ tar -ztvf t2.tar.gz
drwxr-xr-x felix/felix       0 2018-12-12 10:19 tar_test/
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/1.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/2.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/7.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/5.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/4.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/6.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/3.txt
[email protected]-computer:~/test$ tar -jtvf t3.tar.bz2
drwxr-xr-x felix/felix       0 2018-12-12 10:19 tar_test/
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/1.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/2.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/7.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/5.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/4.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/6.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/3.txt
[email protected]-computer:~/test

(3)、打包的时候排除某些文件

命令:

tar --exclude tar_test/1* -zcvf tt.tar.gz tar_test/tar_test/  (使用--exclude)

输出:

[email protected]:~/test$ tar --exclude tar_test/1* -zcvf tt.tar.gz tar_test/tar_test/
tar_test/2.txt
tar_test/7.txt
tar_test/5.txt
tar_test/4.txt
tar_test/6.txt
tar_test/3.txt
[email protected]-computer:~/test$ ls tar_test/
1.txt  2.txt  3.txt  4.txt  5.txt  6.txt  7.txt
[email protected]-computer:~/test$ tar -ztvf tt.tar.gz
drwxr-xr-x felix/felix       0 2018-12-12 10:19 tar_test/
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/2.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/7.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/5.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/4.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/6.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/3.txt
[email protected]-computer:~/test$ 

原文地址:https://www.cnblogs.com/felixwang2/p/10106421.html

时间: 2024-10-12 14:48:35

linux系列(二十二):tar命令的相关文章

攻城狮在路上(叁)Linux(二十二)--- linux磁盘挂载与卸载 mount umount

挂载就是将文件系统与目录结合的操作.挂载点就是目录,该目录就是进入分区或文件系统的入口. 一.挂载前的注意事项: 1.单一文件系统不应该被重复挂载在不同的挂载点中. 2.单一目录不应该重复挂载多个文件系统. 3.即将作为挂载点的目录理论上应该都是空目录才对. 注意:对应2和3,如果要挂载的目录不为空,那么挂载了新的文件系统之后,原来的目录会暂时消失(并非覆盖掉),系统会显示最新挂载的文件系统.新分区被卸载之后,原来的文件系统会重新显示出来. 二.命令介绍 mount [-t 文件系统] [-L

quick-cocos2d-x 学习系列之十二 关于websocket

quick-cocos2d-x 学习系列之十二 关于websocket 1.  概念 百度百科:WebSocket protocol 是HTML5一种新的协议.它实现了浏览器与服务器全双工通信(full-duplex). 在浏览器中通过http仅能实现单向的通信,comet可以一定程度上模拟双向通信,但效率较低,并需要服务器有较好的支持; flash中的socket和xmlsocket可以实现真正的双向通信,通过 flex ajax bridge,可以在javascript中使用这两项功能. 可

linux杂谈(十二):CDN加速

1.CDN简介 ? ?今天我们来模仿一下CDN加速下的apche服务器访问.那么我们首先来了解一下什么是CDN加速. ? ?DN的全称是Content Delivery Network,即内容分发网络.其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络"边缘",使用户可以就近取得所需的内容,提高用户访问网站的响应速度. ? ?举一个例子:我们要访问腾讯的新闻网,那我们是直接去访问深圳总部的服务器么?当然不是,这样不仅服务器的负载接受不了,而且

嵌入式 Linux进程间通信(十二)——多线程同步

嵌入式 Linux进程间通信(十二)--多线程同步 多线程编程中有三种线程同步机制:互斥锁.信号量.条件量.本文将使用生产者消费者问题编程实践三种线程同步方式. 生产者.消费者问题:生产者线程生产物品,然后将物品放置在一个空缓冲区中供消费者线程消费.消费者线程从缓冲区中获得物品,然后释放缓冲区.当生产者线程生产物品时,如果没有空缓冲区可用,那么生产者线程必须等待消费者线程释放出一个空缓冲区.当消费者线程消费物品时,如果没有满的缓冲区,那么消费者线程将被阻塞,直到新的物品被生产出来. 一.互斥锁

C++语言笔记系列之十二——C++的继承

C++的继承 1.继承方式 public(公有继承) 派生类中的成员可以访问基类的public成员和protected成员,但不能访问基类的private成员. 派生类的对象只能访问基类的public成员. protected(保护继承),private(私有继承) 派生类中的成员可以访问基类的public成员和protected成员,但不能访问基类的private成员. 派生类的对象不能访问基类的任何成员. 2.例子 example 1: #include <iostream.h> clas

hbase源码系列(十二)Get、Scan在服务端是如何处理?

继上一篇讲了Put和Delete之后,这一篇我们讲Get和Scan, 因为我发现这两个操作几乎是一样的过程,就像之前的Put和Delete一样,上一篇我本来只打算写Put的,结果发现Delete也可以走这个过程,所以就一起写了. Get 我们打开HRegionServer找到get方法.Get的方法处理分两种,设置了ClosestRowBefore和没有设置的,一般来讲,我们都是知道了明确的rowkey,不太会设置这个参数,它默认是false的. if (get.hasClosestRowBef

企业搜索引擎开发之连接器connector(二十二)

下面来分析线程执行类,线程池ThreadPool类 对该类的理解需要对java的线程池比较熟悉 该类引用了一个内部类 /** * The lazily constructed LazyThreadPool instance. */ private LazyThreadPool lazyThreadPool; 该成员实现了单例模式,即该对象只有一个实例,属于懒汉式单例模式,当实例化该成员时,启用了线程同步机制 /** * Shut down the {@link ThreadPool}. Afte

Bootstrap &lt;基础二十二&gt;超大屏幕(Jumbotron)

Bootstrap 支持的另一个特性,超大屏幕(Jumbotron).顾名思义该组件可以增加标题的大小,并为登陆页面内容添加更多的外边距(margin).使用超大屏幕(Jumbotron)的步骤如下: 创建一个带有 class .jumbotron. 的容器 <div>. 除了更大的 <h1>,字体粗细 font-weight 被减为 200px. 下面的实例演示了这点: <!DOCTYPE html> <html> <head> <tit

马哥学习笔记二十二——高可用集群原理

HA Resource:资源 FailOver:故障转移 FailBack:故障转回 资源粘性:资源是否倾向于留在当前节点 Messaging Layer:集群服务信息层,基于UDP互相传递心跳信息,集群事务信息等 heartbeat(v1,v2,v3) heartbeat v3:heartbeat,pacemaker,cluster-glue corosync cman keepalived ultramonkey CRM:(cluster resource manager)集群资源管理器,统

【管理心得之二十二】小人物 仰视 大授权

场景再现====================Boss:小王,来我办公室一下.小王: 嗯Boss:近期总公司有会,需要到外地出差几日.我不在的这段期间里,公司大小事务你帮忙处理一下.          如果有什么难决定的事,第一时间电话.邮件联系我商定即可.小王:  明白.放心吧领导,绝不会让你失望的Boss:嗯,那就好,没事了. {小王走出办公室} 心中暗喜,"难道这就是传说中的授权,Boss不在的时候,我岂不是最高权力的行使者." ==================== 从场景