压缩及解压缩
1、tar命令 打包压缩&解包加压缩:
tar [选项] 打包压缩后文件名称 要打包压缩的文件
选项:
-z, 以gzip方式压缩 扩展名: tar.gz
-j 以bz2方式压缩 扩展名:tar.bz2
-J 以xz 方式压缩 扩展名:tar.xz
-c 压缩(创建文件) -x 解压缩(提取 解压还原文件)
-v 显示压缩过程 -f 指定压缩包名(指定备份文件)
-t 列出压缩包中包括哪些文件,不解包,查看包中的内容
-C 解压时指定解压目录
tar -cvf 压缩包名 源文件名 -c 压缩
tar -xvf 压缩包名 -x 解压缩
tar -tvf 压缩包名 -t 只查看,不解压
tar -xvf 压缩包名 -C 目标目录 -C 指定解压目录
e.g.①在/opt下创建1.tar.*压缩包 tar -(z/j/J)cvf 1.tar.gz /opt
②解压到/etc目录下 tar -xvf 1.tar.* -C /etc
注:* 代表.gz .bz2 .xz
命令反馈默认删除路径前的/符号,因为不指定路径会直接解压到当前目录,会覆盖系统中该路径的原文件
2、gzip、bzip2、xz管理压缩文件
①我们创建压缩的TAR存档,TAR命令它支持三种不同的压缩方式。
gzip(.gz)、bzip2(.bz2)、xz (.xz)
gizp 文件(绝对路径)
注:只能对文件进行压缩,且压缩后源文件会消失,一般不用。
(bzip2,xz这两个工具可以通过添加参数-k来保留下源文件)
②用法
⑴gzip:压缩
格式:gzip [参数] [文件](压缩后文件消失)
选项:
-d 解压缩。
-r 压缩/解压缩,目录下文件
(并不是压缩目录,而是目录下文件:递归【目录中的非本目录链接无法处理】)
⑵xz 格式:xz 压缩文件(压缩后源文件消失)
选项:
-d 解压缩 -k 保留源文件不删除。
-c 将数据输出至屏幕 -t 测试压缩文件完整性。
-v 显示压缩信息。
xzcat 压缩后文件名 #查看压缩文件中内容
e.g. xz -v /etc/passwd #需指定压缩的文件名,否则会报错
3、zip
格式:zip 压缩文件后文件名 源文件
-r 压缩目录
解压格式:
unzip 压缩包名 -d 指定解压到的目录
zip是压缩程序 unzip是解压程序。
安装语法:yum -y install zip unzip
例1:压缩文件:
[root@localhost ~]# zip a.zip /etc/passwd
例2:将所有.jpg的文件压缩成一个zip包
[root@localhost ~]# zip all.zip *.jpg
例3:压缩一个目录
[root@localhost ~]# zip -r grub.zip /boot/grub
#在使用zip -r对目录进行压 缩过程当中会找到目录中的源文件一并进行压缩,所以通常来说zip -r压缩之后,压缩文件比源文件所占空间大(非本目录链接越多体积变化越大)
解压缩:
[root@localhost ~]# unzip grub.zip #解压到当前目录
[root@localhost ~]# unzip grub.zip -d /opt/ # -d 解压到指定的目标/opt
4、file(查看文件)
file命令作用: file - determine file type #确定文件类型
用法: file /etc/passwd
注:linux系统不根据后缀名识别文件类型 用file命令查看文件的类型。
[root@localhost ~]# file /etc/passwd
/etc/passwd: ASCII text
对比四种压缩方式后压缩比例:
[root@localhost ~]# ll -h etc.tar*
-rw-r--r-- 1 0 root 36M 5月 10 12:10 etc.tar
-rw-r--r-- 1 0 root 9.6M 5月 10 12:14 etc.tar.bz2 #常用
-rw-r--r-- 1 0 root 12M 5月 10 12:11 etc.tar.gz #压缩最快,压缩比例最小
-rw-r--r-- 1 0 root 7.7M 5月 10 12:16 etc.tar.xz #压缩比例最高,压缩时间是最长
-rw-r--r-- 1 0 root 2.4G 5月 10 12:16 etc.tar.zip#压缩中因非本目录链接的源文件而体积往往变化极大,且压缩速度慢,但可保证目录整体文件的可用性.