打包、压缩、解压缩(Lnux需先打包成一个文件再压缩)

在具体总结各类压缩文件之前,首先要弄清两个概念:打包和压缩。

打包是指将一大堆文件或目录什么的变成一个总的文件,压缩则是将一个大的文件通过一些压缩算法变成一个小文件。为什么要区分这两个概念呢?其实这源于Linux中的很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你就得先借助另外的工具将这一大堆文件先打成一个包,然后再就原来的压缩程序进行压缩。

Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的。生成tar包后,就可以用其它的程序来进行压缩了。

课堂笔记(tar既能打包又能解压缩)

上面笔记中打包顺序写反了:tar - vcf test.tar test

tar提供打包解包的同时还具有压缩和解压缩功能:

注意:不好用的时候,把参数Z去掉,或者你文件从Windows传到虚拟机有问题。

打包解包(带软链接)

解包提示有问题的话,直接用 tar -vxf test.tar 解包软链接也生效。

1.拷贝文件(带软链接)

1
cp -d dep/libs/*  到开发板的/usr/lib下

2.拷贝文件夹

1
cp -r certs  到开发板的/mnt/user_data/iot_data下

3.命令实现

解包 .tar:

1
tar -xvf FileName.tar

打包.tar:

1
tar -cvf FileName.tar DirName  # tar是打包,不是压缩!

解压.tar.gz 和 .tgz:

1
tar -zxvf FileName.tar.gz

压缩.tar.gz 和 .tgz:

1
tar -zcvf FileName.tar.gz DirName

解压.zip:

1
unzip FileName.zip

压缩.zip:

1
zip -r FileName.zip DirName

-r 表示递归

解包.tgz:

1
tar -xvzf FileName.tgz

解压.gz:

1
gunzip FileName.gz

解压.gz:

1
gzip -d FileName.gz

压缩.gz:

1
gzip FileName

解压.bz2:

1
bzip2 -d FileName.bz2

解压.bz2:

1
bunzip2 FileName.bz2

压缩.bz2:

1
bzip2 -z FileName

解压.tar.bz2:

1
tar -jxvf FileName.tar.bz2

压缩.tar.bz2:

1
tar- jcvf FileName.tar.bz2 DirName

解压.bz:

1
bzip2 -d FileName.bz

解压.bz:

1
bunzip2 FileName.bz

解压.tar.bz:

1
tar jxvf FileName.tar.bz

.tar.xz 这是两层压缩,外面是xz压缩方式,里层是tar压缩
所以可以分两步实现解压

1
2
$ xz -d filename.tar.xz
$ tar -xvf filename.tar

也可以直接解压

1
2
3
tar -xvJf filename.tar.xz
or
tar -Jxf filename.tar.xz

压缩.tar.xz:

1
tar -Jcf filename.tar.xz filename

解压.Z:

1
uncompress FileName.Z

压缩.Z:

1
compress FileName

解压.tar.Z:

1
tar -Zxvf FileName.tar.Z

压缩.tar.Z:

1
tar Zcvf FileName.tar.Z DirName

解压.rar:

1
rar -x FileName.rar

压缩.rar:

1
rar -a FileName.rar DirName

解压.lha:

1
lha -e FileName.lha

压缩.lha:

1
lha -a FileName.lha FileName

解包.rpm:

1
rpm2cpio FileName.rpm | cpio -div

解包.deb:

1
ar p FileName.deb data.tar.gz | tar -zxf 

解压.tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip .cpio .rpm .deb .slp .arj .rar .ace .lha .lzh .lzx .lzs .arc .sda .sfx .lnx .zoo .cab .kar .cpt .pit .sit .sea:

1
sEx x FileName.*

压缩.tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip .cpio .rpm .deb .slp .arj .rar .ace .lha .lzh .lzx .lzs .arc .sda .sfx .lnx .zoo .cab .kar .cpt .pit .sit .sea:

1
sEx a FileName.* FileName

相关链接(侵删)

  1. Ubuntu文件压缩、解压缩、打包解包(带软链接)、拷贝文件(带软链接)、拷贝文件夹
  2. Ubuntu 命令解压文件大全
  3. 打包和压缩的概念和区别

=================我是分割线=================

欢迎到公众号来唠嗑: