Linux下打包与压缩简述

Linux压缩或解压缩工具有很多,除了已经很少有人使用的compress外,现在常用的还有tar,bzip2,xz 和gziplinux压缩或解压缩工具有很多,除了已经很少有人使用的compress外,现在常用的还有tar,bzip2,xz 和gzip等,我们来说说它们的用法。

先来说bzip2。bunzip2和bzcat可以由bzip2指定选项来执行同样的结果,这里只介绍bzip2的用法。使用bzip2这个工具创建的文件以.bz2,.bz,.tbz,.tar.bz2或者.tbz2结尾。

bzip2命令的用法:

bzip2 [选项] [文件]
常用选项:

bzip2 -d 解压缩文件 bzip2 -c 将压缩或解压缩的结果送到标准输出 bzip2 -f 使用此选项,在解压缩文件时,若输出文件与现有文件同名,则覆盖同名的文件 bzip2 -k 在压缩或解压缩文件之后,保留原始文件 bzip2 -s 解压或压缩文件时,降低内存使用量 bzip2 -t 测试文件的完整性 bzip2 -v 压缩或解压缩文件时,显示具体过程 bzip2 -z 强制压缩一个文件 bzip2 -# 指定压缩比率

xz同样也是linux下出色的压缩工具,lunxz,xzcat,lzma,unlzma,lzcat命令可以由xz命令调用指定的选项来执行,因此只介绍xz命令的用法。xz命令生成的文件通常以.xz或者.lzma格式结尾。

xz命令的用法:

xz [选项] [文件]
常用选项有:

xz -z 压缩一个文件 xz -d 解压缩文件 xz -t 测试文件的完整性 xz -l 查看一个压缩文件的信息 xz -k 压缩完文件后不删除原始文件 xz -f 使用此选项时,若目标文件存在,则删除原始文件,再解压 xz -c 将执行命令的结果输出到标准输出 xz -F 指定压缩或解压缩文件的格式 xz -# 指定压缩文件时的压缩比率

linux上还有一个常用的解压工具,就是gzip了。同linux下其它工具一样,gunzip,zcat也可以由gzip指定的选项来执行,因此只介绍gzip命令的用法。用gzip命令创建的文件通常以.gz,.tar.gz,.tar.Z或者.tgz结尾。

gzip命令的用法:

gzip [选项] [文件]
常用选项有:

gzip -c 将命令的执行结果输出到标准输出 gzip -d 解压缩文件 gzip -f 使用此选项时,若目标文件存在,则删除原始文件,再解压 gzip -l 列出这个压缩文件的具体信息 gzip -n 解压缩文件时,忽略文件中原来的时间戳 gzip -N 解压缩文件时,保留文件中原始的时间戳 gzip -r 将指定目录下的所有文件及子目录一起压缩 gzip -t 测试文件的完整性 gzip -v 显示压缩或解压缩的具体过程 gzip -# 指定压缩比率

再来说说tar这个非常强大的工具吧。 tar最初是为了做磁带备份而设计的,它的作用是把文件和目录备份到磁带中,然后再从磁带中提取或恢复文件。现在可以使用tar命令来备份数据到任何存储介质上。tar是文件级备份,不必考虑底层文件系统类别,并且支持增量备份。tar命令创建的文件通常以.tar结尾,tar命令可以调用gzip,bz2或者xz工具来压缩或解压缩指定的文件.

tar命令的用法:

tar [选项] [文件]
常用选项有:

tar -z 压缩或解压缩一个文件 tar -x 从file.tar压缩包中提取所有文件 tar -A 追加一个压缩包到一个档案内 tar -c 创建了个压缩档案 tar -d 比较一个压缩档案和被压缩文件的区别 tar -r 追加文件到指定的压缩包中 tar -t 测试文件的完整性 tar -u 增量备份文件,只备份比压缩包中已经备份文件新的文件 tar -x 从一个压缩包中提取出文件 tar -C 解压缩文件到指定的目录 tar -f 指定要压缩或解压缩的文件 tar -j 调用bzip2来压缩或解压缩文件 tar -J 调用xz来压缩或解压缩文件 tar -p 解压缩文件时保留原始文件的权限 tar -v 显示压缩或解压缩的过程 tar -z 调用gzip来压缩或解压缩文件 tar -P 保留原始文件的绝对路径,解压时自动解压到绝对路径下 tar --exclude 打包目录时,不打包指定的文件

工具的用法都已经说完了,现在来看看实际工作中的用法。

例1:把系统中的/etc目录备份到/home目录下备份后的文件名为etc.backup的文件, 可以使用

#tar -jcvf etc.backup.tar.bz2 /etc

来把/etc/目录打包备份成结尾为tar.bz2的压缩包,也可以使用

#tar -zcvf etc.backup.tar.gz /etc

来把/etc/目录打包备份成结尾为tar.gz的压缩包,还可以使用

#tar -Jcvf etc.backup.tar.xz /etc

来把/etc/目录打包备份成结尾为tar.xz的压缩包

[root@localhost ~]# tar -jcvf /home/etc_backup.tar.xz /etc /etc/ /etc/pm/ /etc/pm/power.d/ /etc/pm/sleep.d/ /etc/pm/config.d/ /etc/libuser.conf /etc/security/ /etc/security/namespace.d/ ... [root@localhost ~]# ls -lah /home total 8.0M -rw-r--r-- 1 root root 8.0M Apr 16 12:18 etc_backup.tar.xz

同样的,已经我们会看到各种格式的压缩文件,这时候我们可以使用tar xf filename.tar来解压这个压缩包。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/13815.html