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涵盖的知识点非常多,你不仅要掌握各种操作命令,还要了解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打包后的文件,其扩展名一般用xxx.tar.gz
tar与bzip2命令结合也可以实现文件的打包压缩,
其扩展名一般用 xxx.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中压缩和打包的区别的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。