tar命令


功能说明

tar是tape archive的缩写,是Linux下经常使用的归档工具,经常看到文件名以.tar和tgz结尾的文件,它们分别是用普通的tar命令归档的文件和用gzip归档的文件。tar归档文件可以由许多独立的文件、一个或多个目录层次或者两者的混合组合而成。用法如下:

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

常用参数

选项 说明
-c 新建文件
-C 指定位置解压
-r 列出归档文件的内容
-t 列出档案文件中已经归档的文件列表
-x 从打包的档案文件中还原文件
-u 更新档案文件,用新建文件替换档案中的原始文件
-z 调用gzip命令在打包过程中压缩/解压文件 .tar.gz
-j 调用bzip2命令在打包过程中压缩/解压文件
-J 调用xz命令在打包过程中压缩/解压文件
-w 在还原文件时,把所有文件的修改时间设定为现在时间
-Z 用compress命令过滤档案
-f "-f"选项后面紧跟档案文件的存储设备,默认是磁盘,需要指定档案文件名;如果是磁带,只需指定磁带设备名即可。注意,在"-f"选项之后不能再跟任何其他选项,也就是说"-f"必须是tar命令的最后一个选项
-v 指定在创建归档文件过程中,显示各个归档文件的名称
-p 在文件归档的过程中,保持文件的属性不发生变化
-N "yyyy/mm/dd" 在指定日期之后的文件才会打包到档案文件中
--exclude file 在打包过程中,不将指定的file文件打包
-X 把不打包的文件写到文件里,配合X使用如:tar zcvf 1.tar.gz paichu.list ./shell/
常用组合命令
zcvf 打包.tar.gz
zxvf 解压.tar.gz

示例                    

使用cf压缩,把当前目录下的test文件夹打包成test.tar,为便于演示,提前把app里的文件复制到test里一份

[root@c7 app]# tar -cf test.tar test/

[root@c7 app]# ll -h

总用量 432K

-rw-r--r--. 1 root root  181 11月 22 17:34 99.sh

-rw-------. 1 root root  12K 11月 22 14:08 messages

-rw-r--r--. 1 root root 1.2K 11月 22 15:17 messages2.gz

-rw-r--r--. 1 root root 1.2K 11月 22 14:36 messages.gz

-rw-r--r--. 1 root root 141K 11月 23 10:17 shell.txt

-rw-r--r--. 1 root root  48K 11月 23 10:17 shell.txt.bz2

drwxr-xr-x. 2 root root 4.0K 11月 23 17:07 test

-rw-r--r--. 1 root root 210K 11月 23 17:21 test.tar

使用xf解压使用-C把文件解压到指定目录下

[root@c7 app]# mkdir test1                       #创建目标目录test1

[root@c7 app]# pwd

/root/app

[root@c7 app]# tar xf test.tar -C ./test1/     #解压到当前目录test1下

[root@c7 app]# ls ./test1/test/                  #验证查看

99.sh  messages  messages2.gz  messages.gz  shell.txt  shell.txt.bz2

将test目录下的文件打包并压缩,打包成test2.tar.gz

   将test目录下的文件打包并压缩,打包成test2.tar.gz2

[root@c7 app]# tar zcvf test2.tar.gz test          #调用gzip打包成test2.tar.gz

test/

test/99.sh

test/messages

test/messages2.gz

test/messages.gz

test/shell.txt

test/shell.txt.bz2

[root@c7 app]# tar jcvf test2.tar.bz2 test        #调用bzip2打包成test2.tar.bz2

test/

test/99.sh

test/messages

test/messages2.gz

test/messages.gz

test/shell.txt

test/shell.txt.bz2

[root@c7 app]# ll -h

...略

drwxr-xr-x. 2 root root 4.0K 11月 23 17:07 test

drwxr-xr-x. 3 root root   17 11月 23 17:24 test1

-rw-r--r--. 1 root root 105K 11月 24 09:06 test2.tar.bz2

-rw-r--r--. 1 root root 105K 11月 24 09:05 test2.tar.gz

-rw-r--r--. 1 root root 210K 11月 23 17:21 test.tar

使用tf、ztvf参数,查看压缩包的内容

[root@c7 app]# tar tf test2.tar.gz 

[root@c7 app]# tar ztvf test2.tar.gz 

drwxr-xr-x root/root         0 2016-11-23 17:07 test/

-rw-r--r-- root/root       181 2016-11-23 17:07 test/99.sh

-rw------- root/root     11595 2016-11-23 17:07 test/messages

-rw-r--r-- root/root      1149 2016-11-23 17:07 test/messages2.gz

-rw-r--r-- root/root      1202 2016-11-23 17:07 test/messages.gz

-rw-r--r-- root/root    143538 2016-11-23 17:07 test/shell.txt

-rw-r--r-- root/root     48218 2016-11-23 17:07 test/shell.txt.bz2

使用zxvf参数,解压tar.gz和tgz文件,这个最常用了

[root@c7 tmp]# pwd                               #到/tmp目录下,在哪里解压文件,解压后的文件就会在当前目录下

/tmp

[root@c7 tmp]# tar zxvf /root/app/test2.tar.gz

test/

test/99.sh

test/messages

test/messages2.gz

test/messages.gz

test/shell.txt

test/shell.txt.bz2

[root@c7 tmp]# ll -h test/

总用量 216K

-rw-r--r--. 1 root root  181 11月 23 17:07 99.sh

-rw-------. 1 root root  12K 11月 23 17:07 messages

-rw-r--r--. 1 root root 1.2K 11月 23 17:07 messages2.gz

-rw-r--r--. 1 root root 1.2K 11月 23 17:07 messages.gz

-rw-r--r--. 1 root root 141K 11月 23 17:07 shell.txt

-rw-r--r--. 1 root root  48K 11月 23 17:07 shell.txt.bz2

使用zcvpf参数,将/tmp/test目录打包到当前目录下,并保存每个文件的权限

[root@c7 tmp]# tar zcvpf test3.tar.gz test/

test/

test/99.sh

test/messages

test/messages2.gz

test/messages.gz

test/shell.txt

test/shell.txt.bz2

[root@c7 tmp]# tar ztvf test3.tar.gz        #权限和上面的演示相同

drwxr-xr-x root/root         0 2016-11-23 17:07 test/

-rw-r--r-- root/root       181 2016-11-23 17:07 test/99.sh

-rw------- root/root     11595 2016-11-23 17:07 test/messages

-rw-r--r-- root/root      1149 2016-11-23 17:07 test/messages2.gz

-rw-r--r-- root/root      1202 2016-11-23 17:07 test/messages.gz

-rw-r--r-- root/root    143538 2016-11-23 17:07 test/shell.txt

-rw-r--r-- root/root     48218 2016-11-23 17:07 test/shell.txt.bz2

在家目录下,仅解压/tmp/test3.tar.gz压缩文件中的test/shell.txt文件

[root@c7 ~]# pwd

/root

[root@c7 ~]# tar zxvf /tmp/test3.tar.gz test/shell.txt

test/shell.txt

[root@c7 ~]# ll

总用量 8

-rw-------. 1 root root 1104 4月  13 2016 anaconda-ks.cfg

drwxr-xr-x. 4 root root 4096 11月 24 09:06 app

drwxr-xr-x. 2 root root   22 11月 24 09:34 test

[root@c7 ~]# ll test/

总用量 144

-rw-r--r--. 1 root root 143538 11月 23 17:07 shell.txt

使用-N指定日期,打包/root/app目录中2016/11/24以后的文件

[root@c7 tmp]# tar -N "2016/11/24" -zcvf log.tar.gz /root/app

使用-exclude,打包文件时,排除指定文件

打包时排除expr1.sh文件

[root@redmine ~]# ls ./shell/

expr1.sh  judge_int.sh

[root@redmine ~]# tar zcvf sh.tar.gz --exclude=./shell/expr1.sh ./shell/

./shell/

./shell/judge_int.sh

打包时排除.sh的所有文件

[root@redmine ~]# ls ./shell/

1.txt  expr1.sh  judge_int.sh

[root@redmine ~]# tar zcvf sh.tar.gz --exclude=./shell/*.sh ./shell/

./shell/

./shell/1.txt

[root@redmine ~]# tar tf sh.tar.gz

./shell/

./shell/1.txt

使用-C,指定位置解压

[root@redmine ~]# tar xf sh.tar.gz -C /tmp/

[root@redmine ~]# ls /tmp/shell/

1.txt

学习自:

高俊峰《循序渐进Linux》

转载于:https://blog.51cto.com/zhaodongwei/1875880

Linux命令(30):tar命令-归档工具相关推荐

  1. Linux 命令之 tar 命令-打包和备份的归档工具(附压缩/解压工具)

    文章目录 一.命令介绍 二.命令语法 三.常用选项 四.命令示例 (一)对指定的目录进行打包(即备份归档),不压缩 (二)对指定目录下的内容(不含目录本身)进行打包(即备份归档),不压缩 (三)通过通 ...

  2. Linux下压缩工具gzip和归档工具tar及其实战shell应用

    Linux下压缩工具gzip和归档工具tar及其实战shell应用       第一章:gzip的使用技巧 gzip [option]... file... -d: 解压缩,相当于gunzip; -# ...

  3. linux gzip和tar一起用,Linux下压缩工具gzip和归档工具tar及其实战shell应用

    Linux下压缩工具gzip和归档工具tar及其实战shell应用 第一章:gzip的使用技巧 gzip [option]... file... -d: 解压缩,相当于gunzip; -#: 指定压缩 ...

  4. linux如何生成tar文件内容,linux如何使用tar命令创建Tar.Gz压缩文件

    在Linux操作系统中,可以使用tar命令创建tar归档文件.本文介绍linux如何使用tar命令创建Tar.Gz压缩文件. tar存档是一个文件,用于存储其他文件的集合,包括有关它们的信息,例如所有 ...

  5. linux+tar怎样解压,如何在Linux上使用tar命令解压和压缩文件

    linux上的tar命令通常用来创建名为.tar.gz或.tgz的归档文件,也被称为"压缩包".该命令有大量的选择,但你只需要记住几个字母来快速创建tar归档. tar命令可以提取 ...

  6. linux系统tar命令慢,Linux系统下tar命令的使用技巧

    <Linux系统下tar命令的使用技巧>由会员分享,可在线阅读,更多相关<Linux系统下tar命令的使用技巧(3页珍藏版)>请在装配图网上搜索. 1.Linux系统下tar命 ...

  7. oracle存储tar,Linux环境使用TAR命令快速部署安装Oracle

    Linux环境使用tar命令可以实现快速部署和安装Oracle的目的,当然,前提是您手中已经有了一份被您精心调优后的数据库tar包,此后, Linux环境使用tar命令可以实现快速部署和安装Oracl ...

  8. linux环境用tar报错,Linux环境使用TAR命令快速部署安装Oracle

    Linux环境使用tar命令可以实现快速部署和安装Oracle的目的,当然,前提是您手中已经有了一份被您精心调优后的数据库tar包,此后,您就可以使用解tar的方式在其他的服务器上进行快速部署安装了. ...

  9. linux解压tar命令

    linux解压 tar命令 tar命令 tar [-cxtzjvfpPN] 文件与目录 .... 参数: -c :建立一个压缩文件的参数指令(create 的意思): -x :解开一个压缩文件的参数指 ...

  10. linux系统中tar命令的使用,Linux系统下正确使用tar命令的操作方法

    众所周知,Linux系统下tar命令打包文件,把几个不同的文件集合在同一个文件中,跟压缩软件的功能有点类似.但是很多用户不知道如何操作,下面,我们就一起来看看Linux系统下正确使用tar命令的操作方 ...

最新文章

  1. ai3中文语音补丁_NS 暗黑破坏神3 中文补丁今日上线!刷起来
  2. 42. Vue、React 等前端项目部署,刷新 404 问题解决方案
  3. Spring Boot 多模块与 Maven 私有仓库
  4. Python 面向对象与 C++、Java 的异同
  5. tomcat的缺少tcnative-1.dll的解决
  6. dev调试时无法进入下一步_Linux开源实时EtherCAT主站操作系统安装和调试笔记
  7. 25条提高iOS App性能的建议和技巧
  8. 记住影响客户购买的3个决策关键
  9. jq cookie的使用
  10. shell监控usr目录
  11. Maxon Motor参数查询方法
  12. 2021-4-28 合抱之木,生于毫末,九层之台,起于垒土
  13. python pip什么意思_“pip install”和“python -m pip install”有什么区别?
  14. 学习编程需要什么英语基础?
  15. 写一篇讲解优芽动画知识的教案
  16. 怎么从头开始构建一个基于web浏览器的云游戏平台--前言——带目录
  17. 在JS数组特定索引处指定位置插入或修改元素的技巧
  18. 标注工具:parselmouth(歌声合成语音合成标注)
  19. 237_自定义抽签器三
  20. c语言数据结构产生随机数并排序,数据结构产生随机数并排序.doc

热门文章

  1. 如何把Spring Boot的Jar包做成exe?超详细教程来了!
  2. 价值60W 的字节工牌,面试太卷了...
  3. 换掉 Maven,我用它!!!
  4. 牛逼!一个故事讲清楚 NIO 了
  5. GNN教程:DGL框架中的采样模型!
  6. 反向 Dropout!韩松团队最新工作NetAug:提高Tiny神经网络性能的新训练方法
  7. 体重18公斤北航新生报到!高考645分,立志改变世界“做中国的霍金”
  8. 【干货】Github标星1.2K,Visual Transformer 最全最新资源,包含期刊、顶会论文
  9. 15岁天才创办4chan匿名网站,如今因股权分配不均,与谷歌不欢而散!
  10. AI新作品:照片迅速被画成艺术画