| 
                        
                         Linux的文件归档与压缩 
两者定义 
将一个文件或目录的整合存储在一个文件中,但并未压缩,它占用的空间是其中所有文件和目录的总和 
通过算法将文件进行处理,达到保留最大文件信息,而让文件体积变小的目的 
基本原理就是通过查找文件内的重复字节,建立一个相同字节的词典文件,并用一个代码表示,压缩又分无损压缩和有损压缩,无损压缩,压缩数据必须准确无误,有损压缩指的是即便丢失个别的数据linux压缩,对文件也不会造成太大的影响 
tar命令 
此命令指定选项时可以不在选项前面输入“ - ” 
tar [option] filename/dirname
-c   将多个文件或目录进行打包
-A   追加 tar 文件到归档文件
-f   指定包的文件名,且文件后缀必须为.tar
-v   显示打包文件过程
-C   指定解包位置 
示例 
$tar -cvf 1.tar ngs_pdf
ngs_pdf/
$l
total 10K
drwxr-xr-x 2 report users 4.0K Aug 31 14:08 ngs_pdf
-rw-r--r-- 1 report users  10K Aug 31 16:53 1.tar 
tar [option] tarfilename
-x  对 tar 包做解打包操作
-f  指定要解压的 tar 包的包名
-t  只查看 tar 包中有哪些文件或目录,不对 tar 包做解打包操作
-C  指定解包位置
-v  显示打包文件过程 
示例 
# 查看包中的目录与文件
$tar -tf 1.tar 
ngs_pdf/
# 解包
$tar -xvf 1.tar
ngs_pdf/
# 解包到./tmp目录下
$tar -xvf 1.tar -C ./tmp
ngs_pdf/ 
tar [option] filename/dirname
-z  压缩和解压缩 ".tar.gz" 格式
-j  压缩和解压缩 ".tar.bz2"格式 
示例 
  
$tar -zvcf 1.tar.gz ngs_pdf
ngs_pdf/
$l
total 4K
drwxr-xr-x 2 report users 4.0K Aug 31 14:08 ngs_pdf
-rw-r--r-- 1 report users  117 Aug 31 17:08 1.tar.gz
$tar -jvcf 1.tar.bz2 ngs_pdf
ngs_pdf/
$l
total 4K
drwxr-xr-x 2 report users 4.0K Aug 31 14:08 ngs_pdf
-rw-r--r-- 1 report users  123 Aug 31 17:11 1.tar.bz2 
zip命令 
类似于 Windows 系统中的 winzip 压缩程序,压缩为.zip格式 
zip [option] zipname filename/dirname
?
-r  递归压缩目录(包括所有子目录)
-m  压缩完成不保留原始文件
-v  显示详细的压缩过程信息
-q  压缩的时候不显示命令的执行过程
-d  从压缩文件中删除部分数据
-u  向压缩文件中添加数据
-x  排除部分不需要的文件 
示例 
# 压缩所有文件
$zip -r test.zip cff
?
# 删除test.zip文件中的11.txt文件
$zip -d test.zip 11.txt
? 
unzip命令 
查看和解压缩 zip 文件 
unzip [option] zipname
?
-d  将压缩文件解压到指定目录下,要添加输出路径
-n  解压不覆盖已有文件
-o  强制解压覆盖已有文件,无需确认
-v  查看压缩包情况(不解压)
-t  测试压缩包是否损坏(不解压) 
示例 
# 解压文件
unzip test.zip
?
# 解压到./tmp目录下
unzip -d ./tmp test.zip 
gzip 命令 
gzip是最流行的压缩算法之一,可让您减小文件大小并保留原始文件模式、所有权和时间戳,只能操作文件 
gnu.org/software/gzip/manual/gzip.html 
gzip [option]  file
?
-d,--decompress  对压缩文件进行解压缩
-r,--recursive  递归压缩指定目录下以及子目录下的所有文件
-v,--verbose  对于每个压缩和解压缩的文件,显示相应的文件名和压缩比
-c,--stdout 将压缩数据输出到标准输出中,并保留源文件
-number  
   -1 ,--fast  表示压缩比最小的最快压缩速度
   -9 ,--best  表示压缩比最大的最慢压缩速度
   默认 -6 
示例 
# 压缩文件
$gzip 1.txt
?
# 详细输出
$gzip -v 1.txt
1.txt:    0.0% -- replaced with 1.txt.gz
?
# 压缩多个文件
gzip 1.txt 2.txt 3.txt
?
# 压缩目录中的所有文件
gzip -r cff
?
# 解压文件
gzip -d 1.txt.gz
?
# 解压目录下的所有文件
gzip -dr cff 
bzip2 命令 
bzip2命令用法与gzip相似,bzip2的算法更先进、压缩比更好,gzip相对来讲速度更快 
bzip2 [option]  file
?
-d,--decompress  对压缩文件进行解压缩
-v,--verbose  对于每个压缩和解压缩的文件,显示相应的文件名和压缩比
-c,--stdout 将压缩数据输出到标准输出中,并保留源文件
-number  
   -1 ,--fast  表示压缩比最小的最快压缩速度
   -9 ,--best  表示压缩比最大的最慢压缩速度
   默认 -6 
示例 
# 默认bzip2 不能操作文件夹,但是可以结合tar打包进行对文件夹操作
tar -cf total.tar 1.txt 2.txt 3.txt  # 整合数据
bzip2 total.tar # 压缩文件 
                                                (编辑:泰州站长网) 
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! 
                     |