Linux中的压缩和解压缩--tar

参数解释

tar命令:用途比较多,可以用于打包,压缩和解压缩等

打包和压缩的区别
打包:将一堆文件或目录变成一个文件
压缩:将一个大文件,通过压缩算法变成一个小文件

Linux中的很多压缩算法只能对一个文件进行压缩,所以我们要压缩的话,必须先进行打包

常用的压缩算法
gzip、bzip2、xz等

以下五个选项不能连用
-c:创建一个压缩文件
-x:解开一个压缩文件
-t:查看压缩文件中的内容
-r:在一个归档的文件的末尾添加一个文件
-u:更新源压缩包中的文件

以下三个选项为常用的压缩方式
-z:使用gzip压缩
-j:使用bzip2压缩
-J:使用xz压缩

以下一个选项为必须参数
-f:该选项必须写在最后,后面接文件名

常用选项:
-v:显示压缩或解压缩的过程


配置举例

压缩

[root@localhost tmp]# tar -cvf boot.tar /boot 
把/boot目录打包为boot.tar。打包后的文件,我们习惯使用.tar

[root@localhost tmp]# tar -zcvf boot.tar.gz /boot	
把/boot目录打包并且压缩为gzip格式,命名为boot.tar.gz,gzip压缩的文件,我们习惯加一个gz

[root@localhost tmp]# tar -jcvf boot.tar.bz2 /boot	
把/boot目录打包并且压缩为bzip2格式,命名为boot.tar.bz2,bzip2压缩的文件,我们习惯加一个bz2

查看压缩文件的内容

[root@localhost tmp]#tar -tf boot.tar.bz2

解压文件

直接解压

[root@localhost tmp]# tar xvf boot.tar		//直接解压tar包
[root@localhost tmp]# tar xzvf boot.tar.gz	//解压gzip2压缩

要解压到特定的目录,需要cd切换到该目录下,不能后面直接根目录

[root@localhost tmp]# cd /tmp/Maidao/
[root@localhost Maidao]# tar xjvf /tmp/boot.tar.bz2

只想解压/boot/grub2/grub.cfg文件

[root@localhost Maidao]# tar xzvf /tmp/boot.tar.gz boot/grub2/grub.cfg
注意:boot/grub2/grub.cfg内的根目录 / 是被拿掉的

在打包压缩的时候,排除某一个文件

[root@localhost tmp]# tar --exclude /boot/grub/splash.xpm.gz -zcvf boot2.tar.gz /boot/

PS:其实在Linux中,后缀名没有什么意义,只是便于人们查看

补充:Windows的zip和rar格式也适用于Linux
zip和rar命令可以对文件或者目录进行zip或rar压缩
unzip和unrar命令可以对文件或者目录进行zip或rar解压缩

配置举例:
zip压缩一个文件和目录,同时测试解压缩
1、是做zip压缩一个文件,把file1压缩为filetest

[root@localhost tmp]# zip filetest file1 
adding: file1 (stored 0%)

[root@localhost tmp]# ll
total 4
-rw-r--r--. 1 root root   0 Dec  7 22:44 file1
-rw-r--r--. 1 root root 160 Dec  7 22:44 filetest.zip

2、对/boot目录进行压缩,对目录进行压缩 -r 选项

把/boot目录压缩为boottest
[root@localhost tmp]# zip -r boottest /boot

3、解压boottest

[root@localhost tmp]# unzip boottest.zip

你可能感兴趣的:(Linux)