Linux:压缩和打包的区别 (linux中压缩和打包的区别)

Linux: 压缩和打包的区别

在Linux系统中,压缩和打包是两种非常常见的操作。它们都用于将多个文件或目录压缩成一个文件,以便节省磁盘空间和便于传输和备份。但是,许多人可能不知道它们之间的区别。本文将介绍Linux中压缩和打包的区别以及如何使用它们。

压缩和打包的概念

压缩是将一个或多个文件压缩成较小的文件,并且可以恢复原始文件。压缩可以减少文件的大小以及存储和传输所需的时间。压缩是通过一种压缩算法将文件转换为压缩文件完成的,压缩算法可以是有损或无损的。有损压缩会删除一些数据,因此原始文件不能完全恢复,而无损压缩则可以完全恢复原始文件。

打包是将多个文件或目录打包成一个文件。打包不会压缩文件而是将它们组合在一起形成一个新文件,然后可以将新文件传输或备份到其他地方。打包也可以是有损或无损的,但通常是无损的。

实际上,压缩和打包经常结合使用,因为它们可以在一起使用来减少文件大小并组织文件。例如,可以将多个文件打包成一个文件,然后将其压缩以减少其大小。压缩和打包可以使用多种工具和命令行程序完成,最常用的是tar和gzip。

Linux中的压缩和打包

Linux中,tar和gzip是压缩和打包的首选工具,它们可以很容易地安装在大多数Linux系统中。下面我们将介绍如何使用它们。

tar命令:打包文件

tar是一个打包工具,可以创建一个文件来容纳指定的文件和目录。tar可以创建一个tar包,也可以从tar包还原一个文件和目录。

在Linux中,使用tar命令打包文件很简单。tar的基本语法如下:

tar -cvf archive.tar file1 file2 dir1

其中,-c表示创建tar包,-v表示显示详细信息,-f表示指定要创建的文件名。后面可以跟随文件和目录名称。在上面的例子中,我们将创建名为archive.tar的tar包,并将file1,file2和dir1添加到tar包中。

解包tar包也很简单。要从tar包中提取文件和目录,请使用以下命令:

tar -xvf archive.tar

其中,-x表示提取文件,-f表示指定要提取的文件名。在这个例子中,我们从名为archive.tar的tar包中提取所有文件和目录。

gzip命令:压缩文件

gzip是一个压缩工具,可以将文件压缩为gzip格式。这种压缩算法是无损的,因此可以完全恢复原始文件。

压缩文件也很容易,只需运行以下命令:

gzip file1

这将压缩file1并在当前目录中创建一个名为file1.gz的新文件。

解压文件同样简单,只需运行以下命令:

gzip -d file1.gz

这将解压file1.gz并在当前目录中创建名为file1的新文件。

tar和gzip的结合使用

将tar命令与gzip命令结合使用可以创建一个.tar.gz或者.tgz文件,这是一种经常使用的打包和压缩格式。下面是一个使用tar和gzip创建.tar.gz文件的示例:

tar -cvzf archive.tar.gz file1 file2 dir1

这将创建一个名为archive.tar.gz的文件,并将列出的文件和目录添加到其中。注意-cvzf的选项:-z表示使用gzip压缩,-f表示需要指定文件名。要提取.tar.gz文件,请运行以下命令:

tar -xvf archive.tar.gz

其中,-x表示提取文件,-f表示指定要提取的文件名。在这个例子中,我们从名为archive.tar.gz的文件中提取所有文件和目录。

结论

在Linux中,压缩和打包是常见的操作,它们可以帮助节省磁盘空间,便于传输和备份。虽然它们的概念看起来相似,但它们实际上是不同的。压缩用于减小文件的大小,而打包则是将多个文件或目录组合在一起。在Linux中,使用tar和gzip工具可以完成压缩和打包操作。在实际应用中,可以将它们组合使用以便在创建tar包时将其压缩。希望这篇文章能够帮助您理解Linux中压缩和打包的区别以及如何使用它们。

相关问题拓展阅读:

Linux中压缩与解压缩:

很多人在学习云计算之初,都要学习Linux,云计算服务是部署在Linux系统中的。不过Linux涵盖的知识点非常多,你不仅要掌握各种操作命令,还要了解Linux文件的打包与压缩,接下来的杭州云计算入门课程就给大家简单分享。

在Linux系统中,通常我们使用的打包压缩工具有.tar.gz、.tar.bz2、.zip、gzip、bzip2只压缩文件和tar只打包文件。

tar

只打包文件

tar的打包解包:

tar cvf file.tar 被打包的文件

tar xvf file.tar -C /home 指定解压路径

不解压查看压缩包内的信息内容:

tar -tf dir1.tar.gz

gzip压缩解压:

gzip 源文件

gzipd 压缩文件

gunzip 压缩文件

gzip -c file1 >/home/file1.gz 将文件压缩到指定位置(注意以.gz结尾)

bzip2

只压缩文件bzip2命令的压缩与解压

bzip2 源文件

bzip2 -d 压缩文件

bunzip2 压缩文件

bzip2 -c file1 >/opt/file1.bz2 将文件压缩到指定位置(注意以.bz2结尾)

打包压缩

tar与gzip命令结合可以实现文件打包压缩,

用gzip压缩tar打包后的文件,其扩展名一般用.tar.gz

tar与bzip2命令结合也可以实现文件的打包压缩,

其扩展名一般用 .tar.bz2

优缺点

bzip2有比较高的压缩比,相应的压缩用时也要久一些,占用的系统内存也更大;

gzip更大的优势就是压缩解压速度快,压缩比稍逊于bzip2;

临时性的压缩包尽量选择压缩速度快的格式,如.gz;

用于持久备份或存档的文件,尽量选择压缩比较大的格式,如.bz2。

最后,它们之间还有一些区别,tar可以打包文件和目录,而bzip2和gzip只能压缩文件。

在Linux中,软件安装的方式有三种:

一、源代码形式

1、绝大多数开源软件都是直接以原码形式发布的

2、源代码一般会被打包成.tar.gz的归档压缩文件

3、源代码需要编译成为二进制形式之后才能够运行使用

4、源代码基本编译流程:

1).configure 检查编译环境,这里可以通过–prefix等命令配置安装路径(好像)

2)make对源代码进行编译;

3)make insall 将生成的可执行文件安装到当前计算机中

二、RPM

1、源代码形式的特点:操作复杂、编译时间长、极易出现问题、依赖关系复杂

2、为了方便,RPM(redhat package manager)

3、RPM通过将代码基于特定平台系统编译为可执行文件,并保存依赖关系,来简化开源软件的安装管理。针对不同的系统设定不同的包

4、常用命令规范:linuxcast-1.2.0-30.el6.1686.rpm 包名-版本号-适用平台-32/64-rpm

5、使用rpm –i software.rpm(安装);

rpm -e software.rpm(卸载);

rpm –U software.rpm(升级形式安装);

rrpm –ivh(支持通过http\ftp协议形式安装)

-v 显示详细信息;-h显示进度条

查询功能:rpm –qa 列出全部已经安装的.rpm软件 rpm –qa |grep ***

三:YUM

1、rpm软件包形式的管理虽然方便,但是需要手工解决软件包的依赖关系。很多时候安装一个软件需要安装1个或者多个其他软件,手动解决时,很复杂,但是yum能解决这些问题。Yum是rpm的前端程序,主要目的是设计用来自动解决rpm的依赖关系,其特点:

1)自动解决依赖关系;2)可以对rpm进行分组,基于组进行安装操作;3)引入仓库概念,支持多个仓库;4)配置简单。

2、yum仓库用来存放所有的现有的.rpm包,当使用yum安装一个rpm包时,需要依赖关系,会自动在仓库中查找依赖软件并安装。仓库可以是本地的,也可以是HTTP、FTP、nfs形式使用的集中地、统一的网络仓库。

3、仓库的配置文件/etc/yum.repos.d目录下

4、使用:1)yum install 安装;

)yum remove卸载;

)yum update 升级制定软件

5、安装的时候,会下载软件包.Rpm在安装,所以用国内仓库。改变镜像源1)访问地址 2)点centos使用帮助;3)按步骤来

6、查询软件:可以使用yumsearch *

综上,yum 比rpm先进,但源码包比较全。

(1)使用tar命令备份数据的格式如下:

$ tar cvf backup.tar /home/html

上述命令是将/home/html 目录下的所有文件打包成tar文件backup.tar。

cvf是tar的命令参数。

c代表创建一个档案文件,

v代表显示每个备份的文件名字,

f表示tar创建的档案文件名是后面的backup.tar,

/home/html 代表tar要备份的文件或和目录名。

(2)使用tar命令恢复数据的格式如下:

$ tar xvf backup.tar

上述命令将备份文件backup.tar恢复到当前目录下。

通常情况下,tar对文件进行备份的时候并不对文件进行压缩,因此备份文件的尺寸非常大。使用如下的命令,将使tar在备份结束以后,自动使用gzip命令对备份文件进行压缩,得到一个相应的gz文件。

$ tar zcvf backup.tar.gz /home/html

这样,我们可以得到压缩文件backup.tar.gz。

zip命令….

# mkdir /home/shiyanlou

# touch test

# tar cjf test.tar.bz2 test

# ll /home/shiyanlou/;

total 0

# tar xvf test.tar.bz2 -C /home/shiyanlou/

test

# ll /home/shiyanlou/

total 4

-rw-r–r– 1 root root 13 Dec 15 15:42 test

# touch test1

# zip test1.zip test1

adding: test1 (stored 0%)

# unzip test1.zip -d /home/shiyanlou/

Archive: test1.zip

extracting: /home/shiyanlou/test1

# ll /home/shiyanlou/

total 4

-rw-r–r– 1 root root 13 Dec 15 15:42 test

Linux解压和压缩命令都有哪些,有什么区别呢

Linux下的压缩和解压缩命令有:

(1)tar:支持压缩和解压缩:

压缩:

tar zcvf oldboy.tar.gz /etc

解压缩:

tar xf oldboy.tar.gz

区别:tar是最常用的命令。

(2)gzip:支持压缩和解压缩

gzip oldboy.txt #会自动生成oldboy.gz压缩包

解压缩:

gzip -d oldboy.gz

区别:gzip用的少一些一般是在备份数据库压缩时使用。

(3)还有unzip,zcat等都不用知道了。

 您好,以下是压缩和解压的命令大全:

-c: 建立压缩档案

  -x:解压

  -t:查看内容

  -r:向压缩归档文件末尾追加文件

  -u:更新原压缩包中的文件

  这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

  -z:有gzip属性的

  -j:有bz2属性的

  -Z:有compress属性的

  -v:显示所有过程

  -O:将文件解开到标准输出

  下面的参数-f是必须的

  -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

  # tar -cf all.tar *.jpg

  这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。

  # tar -rf all.tar *.gif

  这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。

  # tar -uf all.tar logo.gif

  这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

  # tar -tf all.tar

  这条命令是列出all.tar包中所有文件,-t是列出文件的意思

  # tar -xf all.tar

  这条命令是解出all.tar包中所有文件,-x是解开的意思

  压缩

  tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg

  tar –czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz

  tar –cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2

  tar –cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z

  rar a jpg.rar *.jpg //rar格式的压缩,需要先rar for

  zip jpg.zip *.jpg //zip格式的压缩,需要先zip for

  解压

  tar –xvf file.tar //解压 tar包

  tar -xzvf file.tar.gz //解压tar.gz

  bunzip2 -kv *bz2

  tar -xjvf file.tar.bz2 //解压 tar.bz2

  tar –xZvf file.tar.Z //解压tar.Z

  unrar e file.rar //解压rar

  unzip file.zip //解压zip

  总结

  1、*.tar 用 tar –xvf 解压

  2、*.gz 用 gzip -d或者gunzip 解压

  3、*.tar.gz和*.tgz 用 tar –xzf 解压

  4、*.bz2 用 bzip2 -d或者用bunzip2 解压

  5、*.tar.bz2用tar –xjf 解压

  6、*.Z 用 uncompress 解压

  7、*.tar.Z 用tar –xZf 解压

  8、*.rar 用 unrar e解压

  9、*.zip 用 unzip 解压

望采纳和点赞哦!

关于linux中压缩和打包的区别的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » Linux:压缩和打包的区别 (linux中压缩和打包的区别)