`

ma系列之-18-压缩 解压缩 文件归档

 
阅读更多

 

0  常用压缩格式:gz, bz2, xz, zip, Z

 

1  压缩概念

abcde,可以简单理解为 abc用1表示,de用2表示,那么在进行压缩情况下,abcde就用12表示。
及压缩就是分析文档内容,把整个文档用某些标记来替代,解压缩的时候在把标记用源字符串来替代。
而上述机制中,字符串压缩,查找,匹配方式在不同的机制中会不同,这种不同就是压缩算法。


压缩算法:算法不同,压缩比也会不同;
压缩比: 压缩前的文件-压缩后的文件/压缩前的文件

 

2 compress:

 

compress 这种压缩比比较小,一般5M压缩后达到3.5M就不错了,并且很古老
compress 压缩后的结果就是源文件名.Z eg: FILENAME.Z
uncompress

 

现在常用的三种压缩:gz, bz2, xz 这三个压缩命令只能压缩文件,不能压缩目录,

默认下他们压缩后会删除原文件

 

3 gzip :

 

压缩工具: 压缩后的文件后缀
gzip: .gz
 gzip /PATH/TO/SOMEFILE:压缩完成后会删除原文件
 -d: 解压缩 等效于 gunzip
 -#:1-9,指定压缩比,默认是6;
 
gunzip: 
 gunzip /PATH/TO/SOMEFILE.gz: 解压完成后会删除原文件
zcat /PATH/TO/SOMEFILE.gz: 不解压的情况,查看文本文件的内容



eg:
[root@chinadaas13 zmtest]# cp ~/install.log ./
[root@chinadaas13 zmtest]# ll
总用量 108
-rw-r--r-- 1 root root 108708 10月 21 17:12 install.log
[root@chinadaas13 zmtest]# gzip install.log    压缩后回删除原文件
[root@chinadaas13 zmtest]# ll
总用量 28
-rw-r--r-- 1 root root 26135 10月 21 17:12 install.log.gz
[root@chinadaas13 zmtest]# zcat install.log.gz    查看压缩后的文件内容	
安装 ql2200-firmware-2.02.08-3.1.el6.noarch
安装 rt73usb-firmware-1.8-7.el6.noarch
安装 ipw2100-firmware-1.3-11.el6.noarch
安装 ql23xx-firmware-3.03.27-3.1.el6.noarch
安装 ipw2200-firmware-3.1-4.el6.noarch
安装 rootfiles-8.1-6.1.el6.noarch
...
[root@chinadaas13 zmtest]# gunzip install.log.gz  解压后删除原文件
[root@chinadaas13 zmtest]# ll
总用量 108
-rw-r--r-- 1 root root 108708 10月 21 17:12 install.log 

 

4   bzip2

 

压缩工具: 压缩后的文件后缀
bzip2: .bz2
比gzip有着更大压缩比的压缩工具,和gzip使用格式近似, 对大文件效果明显
 bzip2 /PATH/TO/SOMEFILE
 -d:解压缩
 -#: 1-9,默认是6
 -k: 压缩时保留原文件
 
 bunzip2 /PATH/TO/SOMEFILE.bz2
 bzcat 查看不解压下的文件内容

 

5 xz:

 

xz: .xz
 xz /PATH/TO/SOMEFILE
 -d
 -#: 1-9, 默认是6
 -k: 压缩时保留原文件
 
 unxz 解压
 xzdec 解压并在界面展示结果
 xzcat 查看压缩文件内容


zip: 既归档又压缩的工具
 zip FILENAME.zip FILE1 FILE2 ...: 压缩后不删除原文件
 unzip FILENAME.zip
 
archive: 归档,归档本身并不意味着压缩

 

6  zip :

 

zip是众多操作系统默认支持的压缩格式,压缩比不大,可以压缩目录, 
zip: 既归档又压缩的工具
 zip FILENAME.zip FILE1 FILE2 ...: 压缩后不删除原文件
 unzip FILENAME.zip  解压zip文件

[root@chinadaas13 opt]# ll
总用量 12
drwxr-xr-x. 2 root root 4096 2月  22 2013 rh
drwxr-xr-x. 3 root root 4096 10月 19 11:18 soft
drwxr-xr-x  2 root root 4096 10月 22 09:45 zmtest
[root@chinadaas13 opt]# zip test.zip zmtest/     压缩文件夹zmtest为压缩名为test.zip
  adding: zmtest/ (stored 0%)
[root@chinadaas13 opt]# ll
总用量 16
drwxr-xr-x. 2 root root 4096 2月  22 2013 rh
drwxr-xr-x. 3 root root 4096 10月 19 11:18 soft
-rw-r--r--  1 root root  164 10月 22 09:49 test.zip
drwxr-xr-x  2 root root 4096 10月 22 09:45 zmtest

 

 

7 archive : 归档,归档本身并不意味着压缩
将多个文件压缩在一起的命令:  archive

 

 

8 tar 基本命令和组合命令:  归档并压缩 常用gzip格式  tar -zxvf

 

tar: 归档工具, .tar   操作后不会删除原文件
 -c: 创建归档文件  c=create
 -f FILE.tar: 操作的归档文件  f=file  eg: tar -cf test.tar test*.txt   将test*.txt的所有文件归档为test.tar
 -x: 展开归档     eg:   tar -xf test.tar  将 text.tar文件展开
 --xattrs: 归档时,保留文件的扩展属性信息
 -t: 不展开归档,直接查看归档了哪些文件   eg:  tar -tf test.tar 直接在界面展示归档里面有哪些文件

 -zcf: 归档并调用gzip压缩 
 -zxf: 调用gzip解压缩并展开归档,-z选项可省略  
 
 -jcf: 归档并调用bzip2压缩
 -jxf: 调用bzip2解压缩并展开归档
 
 -Jcf: 归档并调用xz压缩
 -Jxf: 调用xz解压缩并展开归档

 

 

8.1 tar 和 case 和 read配合:

 

从键盘让用户输入几个文件,脚本能够将此几个文件归档压缩成一个文件; 使用read来辅助实现归档和压缩功能
read:
 -p “PROMPT": 给出提示

#!/bin/bash
#
read -p "Three files:" FILE1 FILE2 FILE3
read -p "Destination:" DEST
read -p "Compress[gzip|bzip2|xz]:" COMP
case $COMP in
gzip)
	tar -zcf ${DEST}.tar.gz $FILE1 $FILE2 $FILE3
	;;
bzip2)
	tar -jcf ${DEST}.tar.bz2 $FILE1 $FILE2 $FILE3 
	;;
bzip2)
	tar -Jcf ${DEST}.tar.gz $FILE1 $FILE2 $FILE3 
	;;
*)
	echo "Unknown"
	exit 9
	;;
esac	
	

 

 

 read 命令简介:

#!/bin/bash
#
read -t 5 -p "Input two integers[100 AND 1000]:" A B
[ -z $A ] && A=100
[ -z $B ] && B=1000
echo "$A plus $B is:" $[$A+$B]   

执行结果: 如果不输入 默认是用100+1000=1100
[root@chinadaas12 zmtest]# sh test.sh 
Input two integers[100 AND 1000]:1 2
1 plus 2 is: 3

 

 

 

 

分享到:
评论

相关推荐

    ma21-1.0.0.tar.gz_ma21

    7. **tar命令**:在Unix/Linux系统中,tar用于创建、管理和提取归档文件,可以将多个文件和目录打包成一个单一的文件。 8. **gzip压缩**:gzip是一个流行的文件压缩程序,它可以显著减小文件大小,节省存储空间。...

    Tianma_NetH_5P2EQ_V101E20070919.zip

    【标题】"Tianma_NetH_5...为了获取更详细的信息,用户需要解压缩文件并查看其内容,或者访问"Tianma"的官方网站寻找相关的用户手册、更新日志或安装指南。同时,遵循正确的更新步骤以防止损坏设备或数据丢失至关重要。

    新版Android开发教程.rar

    支持音频格式: MP3 、 AAC 、 AAC+ 、 W MA 、 MPEG4 、 WAV 、 MIDI 、 REAL 、 AUDIO 和 OGG ;支持墙纸格式: JPG 、 BMP 、 PNG 和 GIF ;铃声 (MP3 、 AAC 、 AAC+ 和 WMA) 。 接入技术 蓝牙 (class 1) ;四频...

    Python库 | stemma-0.0.1.tar.gz

    Python库的安装通常涉及解压缩此".tar.gz"文件。这是Linux和Unix系统中常见的归档格式,由tar工具创建并用gzip压缩。在Python环境中,我们可以使用`pip`命令来安装,首先需要解压,然后通过`setup.py`脚本编译和安装...

    PyPI 官网下载 | pretty_talib-0.0.2.tar.gz

    1. 使用`tar -zxvf pretty_talib-0.0.2.tar.gz`命令解压缩文件。 2. 进入解压后的目录,例如`cd pretty_talib-0.0.2`。 3. 使用`python setup.py install`命令安装库到你的Python环境。 安装完成后,我们就可以在...

    matlab中存档算法代码-PESTO_Matlab:PESTO_Matlab

    克隆的存储库或解压缩的归档文件的顶级文件夹需要添加到MATLAB搜索路径(非递归)。 注意:此处提供了有关如何修改MATLAB搜索路径的详细说明: 文献资料 PESTO的用法已在各种方法中得到了证明。 有关更多文档,请...

Global site tag (gtag.js) - Google Analytics