在Linux下对文件或者目录进行打包压缩
Posted hopelooking
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Linux下对文件或者目录进行打包压缩相关的知识,希望对你有一定的参考价值。
一、压缩命令[compress/gzip/bzip2]:
压缩只能对文件,不能对目录,目录要先打包,然后再压缩。
(1)compress
(2)gzip
1、压缩文件
- gzip hosts #将hosts压缩成hosts.gz,不保留原文件
- gzip -c hosts > xx/hosts.gz #将hosts压缩成hosts.gz,保留原文件,还可以指定路径
2、查看压缩文件内容
- zcat hosts.gz
3、解压
- gzip -d hosts.gz #不指定路径的解压,解压到当前目录下、不保留压缩文件
- gzip -d -c hosts.gz > xx/hosts #指定路径的解压,同时保留压缩文件
(3)bzip
1、压缩文件
- bzip2 hosts.bz2 #将hosts压缩成hosts.bz2,不保留原文件
- bzip2 -c hosts > xx/hosts.bz2 #将hosts压缩成hosts.gz,保留原文件,还可以指定路径<span style="font-size:18px;">
- </span>
2、查看压缩文件内容
- bzcat hosts.bz2
3、解压
- bzip2 -d hosts.bz2 #不指定路径的解压,解压到当前目录下、不保留压缩文件
- bzip2 -d -c hosts.bz2 > xx/hosts #指定路径的解压,同时保留压缩文件
总结:
-c:指定路径、保留文件
-d:解压
gzip、bzip2默认不保留原文件/压缩文件。
二、打包/压缩命令[tar]
2.1 打包/解包:
(1)打包单个文件
- tar cvf aa.tar aa #默认保留原文件
- tar cvf aa.tar aa --remove-file #打包后删除原文件
(2)打包多个文件
- tar cvf ab.tar aa bb #默认保留原文件
- tar cvf aa.tar aa bb --remove-file #打包后删除原文件
(3)查看包里的内容
- tar tvf aa.tar
(4)解包
- tar xvf aa.tar #不指定路径的解包,解包到当前目录下
- tar xvf aa.tar -C xx/aa #指定路径的解包
2.2 打包并压缩/解压并解包:
以gzip格式
(1)打包单个文件并压缩
- tar zcvf aa.tar.gz aa #保留原文件
- tar zcvf aa.tar.gz aa --remove-file #不保留原文件
(2)打包多个文件并压缩
- tar zcvf ab.tar.gz aa bb #保留原文件
- tar zcvf ab.tar.gz aa bb --remove-file #不保留原文件
(3)解压
- tar zxvf ab.tar.gz #不指定路径解压、解包
- tar zxvf ab.tar.gz -C xx/ab #指定路径解压、解包
以bizp2格式
(1)打包单个文件并压缩
- tar jcvf aa.tar.bz2 aa #保留原文件
- tar jcvf aa.tar.bz2 aa --remove-file #不保留原文件
(2)打包多个文件并压缩
- tar jcvf ab.tar.bz2 aa bb #保留原文件
- tar jcvf ab.tar.bz2 aa bb --remove-file #不保留原文件
(3)解压
- tar jxvf ab.tar.bz2 #不指定路径解压、解包
- tar jxvf ab.tar.bz2 -C xx/ab #指定路径解压、解包
总结:
-C:指定路径
--remove-file:删除原文件
tar命令默认保留原文件。
以上是关于在Linux下对文件或者目录进行打包压缩的主要内容,如果未能解决你的问题,请参考以下文章