Linux tar命令详解

当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)

tar常见命令参数

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

常用的命令展示

压缩

tar cf hhh.tar hhh         # 仅仅打包
tar jcf hhh.tar.bz2 hhh    # 压缩打包
tar czf hhh.tar.gz hhh     # 压缩打包
zip hhh.zip.gz hhh         # 压缩打包
gzip messages              # 仅压缩文件【默认删除源文件】

image

查看

tar ztvf hhh.tar.gz   
tar jtvf hhh.tar.bz2   
tar tvf hhh.tar

image

解压

tar xf hhh.tar hhh
tar jxf hhh.tar.bz2 hhh
tar xzf hhh.tar.gz hhh
unzip hhh.zip hhh

image

只将 /tar 内的 部分文件解压出来

tar xzf ftl.tar.gz  ftl/hhh.tar

image

文件备份下来,并且保存其权限

tar czvfp ftl.tar.gz ftl.log hhh.log run.log 【-p参数保存属性】
tar xzvfp ftl.tar.gz 

在 文件夹当中,比某个日期新的文件才备份

tar -N "2016/11/20" -czf hhh.tgz /tmp 【-N newer】

备份文件夹内容是排除部分文件

tar --exclude scf/service -zcvf scf.tar.gz scf/* 【--exclude】

添加文件到已经压缩的文件

tar -cvfr ftl.tar.gz hhh.tgz 【-r 添加文件到已压缩文件】

解压总结大全

tar xf    *.tar
tar zxf   *.tar.gz
gunzip -d *.gz
tar jxf   *.bz2
gunzip    *.zip
unzip     *.zip

shell脚本小工具之万能解压和压缩器

https://www.cnblogs.com/ftl1012/p/9251175.html

原文地址:https://www.cnblogs.com/ftl1012/p/tar.html