加入收藏 | 设为首页 | 会员中心 | 我要投稿 成都站长网 (https://www.028zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Linux的文件归档与压缩

发布时间:2022-10-11 19:00:15 所属栏目:Linux 来源:转载
导读: Linux的文件归档与压缩
两者定义
将一个文件或目录的整合存储在一个文件中,但并未压缩,它占用的空间是其中所有文件和目录的总和
通过算法将文件进行处理,达到保留最大文件信息,而让文件

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"格式

示例

linux压缩_linux 压缩命令 tar_linux压缩命令的区别

$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 # 压缩文件

(编辑:成都站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!