前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux 下的压缩和解压缩

Linux 下的压缩和解压缩

作者头像
Ryoma
发布2022-04-02 15:01:59
2.4K0
发布2022-04-02 15:01:59
举报
文章被收录于专栏:小白维基小白维基

请注意:本文编写于 2019-07-20,其中某些信息可能已经失去时效性。

Linux 下常见的压缩文件格式有:

代码语言:javascript
复制
.tar .gz .tar.gz .tgz .bz2 .tar.bz2 .Z .tar.Z .zip .rar

下面我们就分别讲一下在 Linux 下如何用不同的方式对文件进行打包、压缩和解压缩

tar

Linux 下最常用的打包程序就是 tar 了,使用 tar 程序打出来的包我们常称为 tar包,tar包 文件的命令通常都是以 .tar 结尾的。生成 tar包 后,就可以用其它的程序来进行压缩了。

基本用法:

打包 -c
代码语言:javascript
复制
# 将所有 .jpg 文件打包为 all.tar
tar -cf all.tar *.jpg
# -c 表示产生新的包
# -f 指定包的文件名
添加 -r
代码语言:javascript
复制
# 将所有 .gif 文件添加到 all.tar
tar -rf all.tar *.gif
# -r 增加文件
# -f 指定包的文件名
更新 -u
代码语言:javascript
复制
# 更新 all.tar 中 logo.gif 文件
tar -uf all.tar logo.gif
# -u 更新文件
# -f 指定包的文件名
列出 -t
代码语言:javascript
复制
# 列出 all.tar 中所有文件
tar -tf all.tar
# -t 列出文件
# -f 指定包的文件名
解包 -x
代码语言:javascript
复制
# 解包 all.tar 中所有文件
tar -xf all.tar
# -x 解包
# -f 指定包的文件名

tar 与其他压缩程序

为了方便用户在打包解包的同时可以压缩或解压文件,tar 提供了一种特殊的功能:可以在打包或解包的同时调用其它的压缩程序,比如:gzip bzip2 等。

tar 与 gzip

gzipGNU 组织开发的一个压缩程序,.gz结尾的文件就是 gzip 压缩的结果。

单纯的 .gzgunzip 命令解压

tar 中使用 -z 这个参数来调用 gzip,举例说明:

打包并使用 gzip 压缩
代码语言:javascript
复制
tar -czf all.tar.gz *.jpg
# -c 表示产生新的包
# -z 调用 gzip
# -f 指定包的文件名
使用 gzip 解压缩并解包
代码语言:javascript
复制
tar -xzf all.tar.gz
# -x 解包
# -z 调用 gzip
# -f 指定包的文件名
tar 与 bzip2

bzip2 是一个压缩能力更强的压缩程序,.bz2 结尾的文件就是 bzip2 压缩的结果。

单纯的 .bz2bunzip2 命令解压

tar 中使用 -j 这个参数来调用 bzip2,举例说明:

打包并使用 bzip2 压缩
代码语言:javascript
复制
tar -cjf all.tar.bz2 *.jpg
# -c 打包
# -j 调用 bzip2
# -f 指定包的文件名
使用 bzip2 解压缩并解包
代码语言:javascript
复制
tar -xjf all.tar.bz2
# -x 解包
# -j 调用 bzip2
# -f 指定包的文件名
tar 与 compress

compress 也是一个压缩程序,但使用人数并不多,.Z 结尾的文件就是 compress 压缩的结果。

单纯的 .Zuncompress 命令解压

tar 中使用 -Z 这个参数来调用 compress,举例说明:

打包并使用 compress 压缩
代码语言:javascript
复制
tar -cZf all.tar.Z *.jpg
# -c 打包
# -Z 调用 compress
# -f 指定包的文件名
使用 compress 解压缩并解包
代码语言:javascript
复制
tar -xZf all.tar.Z
# -x 解包
# -Z 调用 compress
# -f 指定包的文件名

总结 tar 知识

代码语言:javascript
复制
-c 打包
-x 解包 
-t 查看内容 
-r 向压缩归档文件末尾追加文件 
-u 更新原压缩包中的文件
以上五个是独立的命令参数,可以和别的命令连用但只能用其中一个

下面的参数是根据需要在压缩或解压时按需搭配
-z 调用 gzip 
-j 调用 bzip2 
-Z 调用 compress 
-v 显示过程 
-O 将文件解压到标准输出 

-f 为必要参数,所有命令都必须标明
-f 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名

zip 和 rar

.zip.rarWindow 下的常见压缩文件,Linux也有相应的方法来解压它们:

zip

Linux 下提供了 zipunzip 程序,zip 是压缩命令程序,unzip 是解压命令程序。它们的参数选项很多,这里只做简单介绍:

压缩
代码语言:javascript
复制
# 将所有 .jpg 文件压缩成一个 zip 包
zip all.zip *.jpg
解压
代码语言:javascript
复制
# 将 all.zip 中的所有文件解压出来
unzip all.zip

rar

要在 Linux 下处理 .rar 文件,需要安装 RAR for Linux,可以从网上下载

下载地址:http://www.rarsoft.com/download.htm

安装后就有了 rarunrar 这两个命令程序,rar 压缩,unrar 解压。依旧只做简单介绍:

压缩
代码语言:javascript
复制
# 将所有 .jpg 文件压缩成 all.rar,该程序会将 .rar 扩展名将自动附加到包名后
rar a all *.jpg
解压
代码语言:javascript
复制
# 将 all.rar 中的所有文件解压出来
unrar e all.rar

总结

到此为至,已经介绍了 Linux 下的 tar gzip gunzip bzip2 bunzip2 compress uncompress zip unzip rar unrar 等命令工具,使用它们可以对 .tar 、.gz、.tar.gz、.tgz、.bz2、.tar.bz2、. Z、.tar.Z、.zip、.rar 这 10种 压缩文件进行解压。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-07-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • tar
    • 基本用法:
      • 打包 -c
      • 添加 -r
      • 更新 -u
      • 列出 -t
      • 解包 -x
    • tar 与其他压缩程序
      • tar 与 gzip
      • tar 与 bzip2
      • tar 与 compress
    • 总结 tar 知识
    • zip 和 rar
      • zip
        • 压缩
        • 解压
      • rar
        • 压缩
        • 解压
    • 总结
    相关产品与服务
    文件存储
    文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档