Linux命令(12)---tar

原创 2016年08月30日 23:15:56

tar命令

tar命令,打包,可以为linux的文件和目录创建档案。可将多个目录或文件打包成一个大文件,同时还可以通过gzip/bzip2的支持,将该文件同时压缩。

打包与压缩的概念:
打包:是指将一堆文件或目录变成一个总的文件。
压缩:是指将一个大的文件通过压缩算法变成一个小文件。

用法:

tar [OPTION...] [FILE]...

tar命令的常用选项:

打包的常用命令组合:zcvf

  • -z, –gzip
    filter the archive through gzip
    调用gzip来压缩归档文件,此时文件名最好为*.tar.gz

  • -j,–bzip2
    filter archive through bzip2
    调用bzip2来压缩归档文件,此时文件名最好为*.tar.bz2

  • -c, –create
    create a new archive
    创建新的归档文件

  • -v, –verbose
    verbosely list files processed
    在压缩/解压缩的过程中,将正在处理的文件名显示出来

  • -f, –file=ARCHIVE
    use archive file or device ARCHIVE

查看压缩包内容的组合:tf

  • -t, –list
    list the contents of an archive
    查看压缩包的内容列表

  • -f, –file=ARCHIVE
    use archive file or device ARCHIVE

解包的常用命令组合:zxvf或者xf

  • -z,–gzip
    通过gzip的支持进行解压缩
  • -j,–bzip2
    通过bzip2的支持进行解压缩

  • -x,–extract,–get
    xtract files from an archive 从归档文件中解出文件 。解打包或解压缩功能。

  • -C,–directory DIR
    change to directory DIR 指定目录进行操作,如解压到指定目录

  • –exclude PATTERN
    exclude files based upon PATTERN 排除不需要处理的文件或目录

  • -X,–exclude-from FILE
    exclude files listed in FILE
    指定文件列表的形式排除不需要处理的文件或目录

补充:

  • -p, –preserve-permissions, –same-permissions
    extract information about file permissions
    保持文件属性

  • -P, –absolute-names
    don’t strip leading ‘/’s from file names
    打包带上”/”(很危险不要用)

这里写图片描述

tar: Removing leading `/’ from member names
去掉根目录是为了安全。我们使用的tar备份的数据可能会需要解压缩回来使用。如果去掉了根目录,假设将备份数据在/tmp中解开,那么解压缩的文件名就会变成/tmp/etc/xxx。但是如果没有去掉根目录,解压缩后的文件名就会是绝对路径,即解压缩后的数据一定会被放置到/etc/xxx去。如此一来,原来的/etc/下面的数据就会被备份数据所覆盖过去了。

这里写图片描述

关于P的实例:

[root@ianLinux ~]# tar zcvPf a.tar.gz /root/data/

这里写图片描述

[root@ianLinux ~]# tar zcvf ab.tar.gz /root/data/

这里写图片描述

a.tar.gz是加了P参数打包的,ab.tar.gz没有加
这里写图片描述

打包前与打包结束时tarPTest.txt文件的内容,即a.tar.gz包里tarPTest.txt文件的内容

[root@ianLinux ~]# cat ./data/tarPTest.txt 
1111

打包后,修改tarPTest.txt文件的内容

[root@ianLinux ~]# echo "2222" >> ./data/tarPTest.txt 
[root@ianLinux ~]# cat ./data/tarPTest.txt            
1111
2222

现在将a.tar.gz带上P参数解包

[root@ianLinux ~]# tar zxvPf a.tar.gz 
/root/data/
/root/data/iantest2.txt
/root/data/greptest.txt
/root/data/iantest1.txt
/root/data/tarPTest.txt

此时查看./data/tarPTest.txt 里的内容,发现被带备份数据覆盖了

[root@ianLinux ~]# cat ./data/tarPTest.txt 
1111

使用两种打包方式

#使用gz打包命令
[root@ianLinux ~]# tar zcvf tarTest.tar.gz ./data
./data/
./data/iantest2.txt
./data/greptest.txt
./data/iantest1.txt
./data/tarPTest.txt

#使用bz打包命令
[root@ianLinux ~]# tar jcvf tarTest1.tar.bz ./data
./data/
./data/iantest2.txt
./data/greptest.txt
./data/iantest1.txt
./data/tarPTest.txt

解压也要使用与打包对应的解压缩方式
错误:
这里写图片描述
方式不对无法解压

正确:
这里写图片描述

也可以不指定方式,直接用tar xf…..

版权声明:本文为博主原创文章,未经博主允许不得转载。

linux tar 文件归档命令

原文 tar命令介绍: -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件这五个是独立的命令,压缩解压都要用到其中一个,可以和别...
  • BigBirds911
  • BigBirds911
  • 2017年03月09日 10:19
  • 454

Linux/Unix下tar命令详解

tar命令是Linux/Unix系统下的打包压缩工具,可以将多个文件合并为一个文件,打包后的文件后缀为“.tar”。 这里首先需要明确两个概念:打包和压缩。打包是指将一大堆文件或目录合并成一个总的...
  • guoweimelon
  • guoweimelon
  • 2016年03月01日 10:18
  • 1995

linux tar 命令参数 详细

tar  [-cxtzjvfpPN]   文件与目录 .... 参数: -c :建立一个压缩文件的参数指令(create 的意思); -x :解开一个压缩文件的参数指令! -t :查看 tarfil...
  • u012840649
  • u012840649
  • 2014年01月08日 22:08
  • 1203

Linux下的tar压缩解压缩命令详解

tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令...
  • u014066037
  • u014066037
  • 2017年02月20日 13:55
  • 1682

linux系统下tar打包压缩命令的使用总结

tartar是在Linux中使用得非常广泛的文档打包格式。它的好处就是它只消耗非常少的CPU以及时间去打包文件,但它仅仅只是一个打包工具,并不负责压缩。下面是如何打包一个目录:# tar -cvf a...
  • LEON1741
  • LEON1741
  • 2017年01月10日 20:50
  • 4853

Linux下的tar压缩解压缩命令详解

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

linux命令详解——tar

tar [-cxtzjvfpPN] 文件与目录 ....  【参数】:  -c :建立一个压缩文件的参数指令(create 的意思); -x :解开一个压缩文件的参数指令!  -t :查看 tarfi...
  • huangjin0507
  • huangjin0507
  • 2015年06月02日 22:27
  • 2489

linux tar指令常用选项

linux的tar指令经常被用到,因为压缩文件的时候通常需要打包文档,而tar指令就是打包指令,同时gzip压缩程序和bzip2压缩程序都是支持tar指令的,所以tar指令在打包的同时还可以用gzip...
  • belen_xue
  • belen_xue
  • 2016年06月11日 14:01
  • 1043

Linux tar 压缩打包命令使用方法

http://www.jb51.net/article/12914.htm tar命令  [root@linux ~]# tar [-cxtzjvfpPN] 文件与目录 ….  参数: ...
  • candyguy242
  • candyguy242
  • 2013年01月24日 16:37
  • 1480

Linux打tar包命令

范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar [root@linux ~]# tar -cvf /tmp/etc.tar /etc [root@linux ~]#...
  • orange2211
  • orange2211
  • 2015年07月02日 20:37
  • 4498
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux命令(12)---tar
举报原因:
原因补充:

(最多只允许输入30个字)