首页 > 代码库 > Linux命令(30):tar命令-归档工具

Linux命令(30):tar命令-归档工具

tar命令


功能说明

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

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

常用参数

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


示例                    

    使用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

    使用bzcat不解压文件,查看内容

[root@c7 app]# bzcat shell.txt.bz2 | more


本文出自 “赵东伟的博客” 博客,请务必保留此出处http://zhaodongwei.blog.51cto.com/4233742/1875880

Linux命令(30):tar命令-归档工具