楼主: wangchuan282
56 0

[作业] Linux下tar bz gz等压缩包的压缩和解压 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

学前班

40%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
20 点
帖子
1
精华
0
在线时间
0 小时
注册时间
2018-7-6
最后登录
2018-7-6

楼主
wangchuan282 发表于 2025-11-20 07:08:31 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

在Linux操作系统中,用户通常需要定期备份系统数据以确保信息的安全。为了减少存储占用,备份文件往往会被压缩。以下是关于如何在Linux下使用压缩与解压命令的简要指南。

.tar.gz

解压: tar zxvf FileName.tar.gz
压缩: tar zcvf FileName.tar.gz dirName

需要注意的是,在Solaris系统中解压*.tar.gz文件时可能会有所不同,建议分两步操作:
1. gzip -d *.tar.gz (将*.tar.gz文件转换为*.tar格式)
2. tar xvf *.tar (解压*.tar格式的文件)

[此处为图片1]

.tar

解包: tar xvf FileName.tar
解包至指定文件夹: tar xvf FileName.tar -C DirName
打包: tar cvf FileName.tar DirName

.gz

解压方法一: gunzip FileName.gz
解压方法二: gzip -d FileName.gz
压缩: gzip FileName

.tar.gz 和 .tgz

解压: tar zxvf FileName.tar.gz
压缩: tar zcvf FileName.tar.gz FileName

.bz2

解压方法一: bzip2 -d FileName.bz2
解压方法二: bunzip2 FileName.bz2
压缩: bzip2 -z FileName

.tar.bz2

解压: tar jxvf FileName.tar.bz2
压缩: tar jcvf FileName.tar.bz2 FileName

.bz

解压方法一: bzip2 -d FileName.bz
解压方法二: bunzip2 FileName.bz
压缩: 具体方法未知

.tar.bz

解压: tar jxvf FileName.tar.bz
压缩: tar jcvf FileName.tar.bz FileName

.z

解压: uncompress FileName.Z
压缩: compress FileName

.tar.z

解压: tar zxvf FileName.tar.z
压缩: tar zcvf FileName.tar.z DirName

.zip

解压: unzip FileName.zip
压缩: zip FileName.zip DirName

.rar

解压: rar x FileName.rar
压缩: rar a FileName.rar DirName
若需使用rar命令,请访问官方网站下载:
解压后,将rar_static复制到/usr/bin或环境变量$PATH指定的其他目录中,例如:
[root@www2 tmp]# cp rar_static /usr/bin/rar

.lha

解压: lha -e FileName.lha
压缩: lha -a FileName.lha FileName
如需使用lha命令,可以从该网站下载。
解压后,将lha复制到/usr/bin或环境变量$PATH指定的其他目录中,例如:
[root@www2 tmp]# cp lha /usr/bin/

.rpm

解包: rpm2cpio FileName.rpm | cpio -div

.deb

解包: ar p FileName.deb data.Tar.gz | Tar zxf -

以上列举了常见的压缩文件格式及其对应的Linux命令行操作方法,包括.tar、.tgz、.tar.gz、.tar.Z、.tar.bz、.tar.bz2、.zip、.cpio、.rpm等。

支持以下压缩文件格式:.deb、.slp、.arj、.rar、.ace、.lha、.lzh、.lzx、.lzs、.arc、.sda、.sfx、.lnx、.zoo、.cab、.kar、.cpt、.pit、.sit、.sea。

解压命令示例:sEx x FileName.*

压缩命令示例:sEx a FileName.* FileName

请注意,sEx仅用于调用相关的压缩或解压程序,自身并不具备压缩和解压的功能。

sEx可从以下地址下载:http://sourceforge.net/projects/sex

下载后,请将sEx复制到/usr/bin目录(或其他由$PATH环境变量指定的目录):

[root@www2 tmp]# cp sEx /usr/bin/

关于更多Linux文件压缩工具的信息,建议查阅相关指南。通常,查看命令的帮助文档是了解其使用方法的最佳途径,例如使用“--help”参数或man命令(如:man tar)。

tar命令介绍

tar命令用于创建文件和目录的归档。它可以创建、修改、添加新文件到归档中,最初设计用于磁带归档,但现在也可用于任何存储设备,如软盘。通过tar命令,可以将多个文件和目录打包成单个文件,非常适用于备份或网络传输。

基本语法:tar [主选项+辅选项] 文件或目录

使用时,主选项是必需的,它定义了tar命令的具体操作;辅选项则是可选的,用于细化操作。

主选项

  • c - 创建新的归档文件。
  • r - 将文件追加到现有归档文件的末尾。
  • t - 查看归档文件的内容列表。
  • u - 更新归档中的文件,若归档中不存在则追加。
  • x - 从归档文件中提取文件。

辅选项

  • b - 设置磁带块大小,默认为20 (20*512 bytes)。
  • f - 指定归档文件名或设备名。
  • k - 保持已存在的文件不被覆盖。
  • m - 提取文件时设置所有文件的修改时间为当前时间。
  • M - 创建多卷归档,适合跨多个存储介质存储。
  • v - 显示tar处理的文件详情。
  • w - 每步操作前请求确认。
  • z - 使用gzip进行压缩或解压,归档文件需配合此选项使用。

使用示例

  • 将/home目录及其子目录备份为usr.tar文件:$ tar cvf usr.tar /home
  • 将/home目录及其子目录压缩备份为usr.tar.gz文件:$ tar czvf usr.tar.gz /home
  • 从usr.tar.gz文件中解压并恢复文件:$ tar xzvf usr.tar.gz
  • 查看usr.tar文件的内容并分屏显示:$ tar tvf usr.tar | more
  • 将/home目录的所有文件备份到软盘设备/dev/fd0:$ tar cf /dev/fd0 /home
  • 从软盘设备/dev/fd0恢复文件:$ tar xf /dev/fd0
  • 使用多卷模式将/home目录备份到软盘设备/dev/fd0:$ tar cMf /dev/fd0 /home
  • 从多卷软盘中恢复归档:$ tar xMf /dev/fd0

gzip命令简介

gzip命令在Linux系统中广泛用于文件的压缩和解压缩。它有助于减少存储空间需求,并加快网络传输速度。

基本语法:gzip [选项] 压缩(解压缩)的文件名

选项解释:

  • -c - 将压缩或解压缩的结果输出到标准输出,并保留原文件不变。

以下是关于gzipunzipzgrep命令的使用说明及示例,这些命令在Linux系统中用于文件的压缩、解压缩以及搜索压缩文件中的内容。

gzip 命令

gzip命令用于压缩或解压缩文件,支持多种操作选项:

  • -d: 解压缩文件。
  • -l: 显示压缩文件的相关信息,包括压缩前后的大小、压缩比和未压缩文件的名称。
  • -r: 递归处理,压缩或解压指定目录下的所有文件。
  • -t: 测试压缩文件的完整性。
  • -v: 显示每个被压缩或解压文件的详细信息,包括文件名和压缩比。
  • -num: 使用指定的数字num调整压缩速度,范围从-1(快速,低压缩比)到-9(慢速,高压缩比)。默认值为6

示例

假设/home目录下有文件123aaaabc

例1:/home目录下的每个文件压缩成.gz文件。

$ cd /home
$ gzip *
$ ls
123.gz  aaa.gz  abc.gz
    

例2:将例1中每个压缩的文件解压,并列出详细信息。

$ gzip -dv *
123.gz: -50.0% -- replaced with 123
aaa.gz: -50.0% -- replaced with aaa
abc.gz: -50.0% -- replaced with abc
$ ls
123  aaa  abc
    

例3:详细显示例1中每个压缩文件的信息,但不解压。

$ gzip -l *
compressed  uncompressed  ratio  uncompressed_name
28          4             -50.0% 123
28          4             -50.0% aaa
28          4             -50.0% abc
84          12            -416.7% (totals)
$ ls
123.gz  aaa.gz  abc.gz
    

例4:压缩一个tar备份文件,如usr.tar,此时压缩文件的扩展名为.tar.gz

$ gzip usr.tar
$ ls
usr.tar.gz
    

unzip 命令

unzip命令用于解压扩展名为.zip的文件,适用于在Linux系统中解压由Windows下的压缩软件(如WinZip)生成的文件。

  • -x 文件列表: 解压文件,但排除指定的文件。
  • -v: 查看压缩文件的目录,但不解压。
  • -t: 测试文件是否损坏,但不解压。
  • -d 目录: 将压缩文件解压到指定目录。
  • -z: 只显示压缩文件的注释。
  • -n: 不覆盖已存在的文件。
  • -o: 覆盖已存在的文件且不询问用户。
  • -j: 不恢复文件的目录结构,将所有文件解压到同一个目录下。

示例

例1:将压缩文件text.zip在当前目录下解压。

$ unzip text.zip
    

例2:将压缩文件text.zip在指定目录/tmp下解压,如果已有相同文件存在,则不覆盖。

$ unzip -n text.zip -d /tmp
    

例3:查看压缩文件的目录,但不解压。

$ unzip -v text.zip
    

zgrep 命令

zgrep命令用于在压缩文件中搜索匹配的正则表达式,其用法与grep命令相似,但专门针对压缩文件。

例如,如果你想查看某个压缩文件中是否包含特定的文本,可以使用zgrep命令来实现。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Linux TAR Lin 压缩包 filename

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
扫码
拉您进交流群
GMT+8, 2026-2-2 17:44