vlambda博客
学习文章列表

Linux压缩文件的方法都有哪些?

zzz凡猫软件测试



04

2021-01


旷日持久不容易,一切物事的美好在于没时间变坏。

Linux压缩文件的方法都有哪些?



通常来说,我们查看归档或压缩文件的内容,需要先进行解压缩,然后再查看,比较麻烦。 今天给大家介绍不同方法,能够让你轻松地在未解压缩的情况下查看归档或压缩文件的内容。
从技术上讲,查看归档或压缩文件不提前进行解压是不可能的。 本文介绍的方法中会将这些压缩文件在后台一个临时目录 /tmp 中进行解压缩。 重启系统后,/tmp 目录的内容将被清空。
在进一步讨论之前,这里先解释一下归档和压缩文件。

归档 是将多个文件或文件夹组合成一个文件的过程。在这种情况下,生成的文件没有被压缩。

压缩 是一种将多个文件或文件夹组合成一个文件并进行压缩得到的结果文件。
归档文件不是压缩文件,但压缩文件可以是归档文件。 明白了这两个概念之后,我们正式介绍如何在不解压的情况下查看压缩文件内容。

在 Linux 上有不少用于压缩文件的命令。最新最有效的一个方法是 xz,但是所有的方法都有节省磁盘空间和维护备份文件供以后使用的优点。


在这篇文章中,我们将比较这些压缩命令并指出显著的不同。


Vim编辑器


Vim 不仅仅是编辑器,它还包含其他许多强大的功能。下面的命令将直接显示压缩归档文件的内容:

$ vim test.tar.gz" tar.vim version v29" Browsing tarfile /home/alvin/test.tar.gz" Select a file with cursor and press ENTER
test/imag.jpgtest/file.pdftest/song.mp3test/

不仅如此,使用 Vim 你甚至可以直接浏览归档文件,若其中有文本文件,你还可以直接 打开它,非常方便。


如果需要打开文本文件,只需使用箭头键将光标移到文件前面,然后按 ENTER 键即可打开。

tar

tar 命令不仅仅可以用于压缩/解压文件,还可以在不提取 tar 文件的情况下使用 tar -tf 命令查看压缩包内容。


$ tar -tf test.tartest/test/image.jpgtest/file.pdftest/song.mp3


或者,使用 -v 选项查看归档文件的详细属性,例如权限、文件所有者、组、创建日期等。


$ tar -tvf test.tardrwxr-xr-x alvin/users 0 2019-07-02 19:30 test/-rw-r--r-- alvin/users 53632 2019-06-29 15:57 test/image.jpg-rw-r--r-- alvin/users 156831 2019-06-04 12:37 test/file.pdf-rw-r--r-- alvin/users 9702219 2019-04-25 20:35 test/song.mp3


rar命令


同样地,在不提取 rar 文件的情况下可以使用 rar v 命令查看压缩包内容。


$ rar v test.rarRAR 5.60 Copyright (c) 1993-2019 Alexander Roshal 24 Jun 2019Trial version Type 'rar -?' for help
Archive: test.rarDetails: RAR 5
Attributes Size Packed Ratio Date Time Checksum Name----------- --------- -------- ----- ---------- ----- -------- -----rw-r--r-- 53632 52166 97% 2019-06-29 15:57 70260AC4 test/image.jpg-rw-r--r-- 156831 139094 88% 2019-06-04 12:37 C66C545E test/file.pdf-rw-r--r-- 9702219 9658527 99% 2019-04-25 20:35 DD875AC4 test/song.mp3----------- --------- -------- ----- ---------- ----- -------- ----9912682 9849787 99% 3


zip


在不提取zip文件的情况下可以使用zip-sf命令查看其内容。


$ zip -sf test.zipArchive contains:Life advices.jpgTotal 1 entries (597219 bytes)



gzip


gzip 命令非常容易使用。你只需要键入 gzip,紧随其后的是你想要压缩的文件名称。不像上述描述的命令,gzip 将“就地”加密文件。换句话说,原始文件将被加密文件替换。


Linux压缩文件的方法都有哪些?


unrar


对于上面的 rar 文件,你也可以使用带有 l 参数的 unrar 命令查看 rar 文件的内容。


$ unrar l test.rarUNRAR 5.60 freeware Copyright (c) 1993-2019 Alexander Roshal
Archive: test.rarDetails: RAR 5
Attributes Size Date Time Name----------- --------- ---------- ----- -----rw-r--r-- 53632 2019-06-29 15:57 test/image.jpg-rw-r--r-- 156831 2019-06-04 12:37 test/file.pdf-rw-r--r-- 9702219 2019-04-25 20:35 test/song.mp3----------- --------- ---------- ----- ---9912682 




zless


使用 zless 命令查看归档/压缩文件。


$ zless test.tar.gz

zless 类似于 less ,它可以逐页显 示内容。

xz


xz 是压缩命令团队中的一个相对较新的成员,在压缩文件的能力方面,它是一个领跑者。像先前的两个命令一样,你只需要将文件名称提供给命令。再强调一次,原始文件被就地压缩。


Linux压缩文件的方法都有哪些?


对于大文件来说,你可能会注意到 xz 将比其它的压缩命令花费更多的运行时间,但是压缩的结果却是非常令人赞叹的。


less


less 命令大家都可能有所了解了,它能以交互的方式查看文件内容。不仅如此,它还可以用来查看归档/压缩文件的内容:


$ less test.tar.gz


对比


 大多数人都听说过“大小不是一切”。所以,让我们比较一下文件大小以及一些当你计划如何压缩文件时的问题。


下面显示的统计数据都与压缩单个文件相关,在上面显示的示例中使用 bigfile。这个文件是一个大的且相当随机的文本文件。压缩率在一定程度上取决于文件的内容。


(1) 大小减缩率


当比较时,上面显示的各种压缩会产生下面的结果。百分比表示压缩文件与原始文件的比较效果。


Linux压缩文件的方法都有哪些?


xz 命令获胜,最终只有压缩文件 13% 的大小,但是所有这些压缩命令都相当显著地减少原始文件的大小。


(2) 是否替换原始文件


bzip2、gzip 和 xz 命令都用压缩文件替换原始文件。tar 和 zip 命令不替换。


(3) 运行时间


xz 命令似乎比其它命令需要花费更多的时间来加密文件。对于 bigfile 来说,大概的时间是:


Linux压缩文件的方法都有哪些?


解压缩文件很可能比压缩时间要短得多。


(4) 文件权限


不管你对压缩文件设置什么权限,压缩文件的权限将基于你的 umask 设置,但 bzip2 除外,它保留了原始文件的权限。


(5) 与 Windows 的兼容性


zip 命令创建的文件可以在 Windows 系统以及 Linux 和其他 Unix 系统上使用(即解压),而无需安装其他工具,无论这些工具可能是可用还是不可用的。


解压缩文件


解压文件的命令与压缩文件的命令类似。在我们运行上述压缩命令后,这些命令用于解压缩 bigfile:


tar:tar xf bigfile.tgz

zip:unzip bigfile.zip

gzip:gunzip bigfile.gz

bzip2:bunzip2 bigfile.gz2

xz:xz -d bigfile.xz 或 unxz bigfile.xz


自己运行压缩对比


如果你想自己运行一些测试,抓取一个大的且可以替换的文件,并使用上面显示的每个命令来压缩它 —— 最好使用一个新的子目录。你可能需要先安装 xz,如果你想在测试中包含它的话。这个脚本可能更容易地进行压缩,但是可能需要花费几分钟完成。


Linux压缩文件的方法都有哪些?



以上

That‘s all
更多系列文章
敬请期待

凡猫软件测试
往期内容宠幸


1、

2、


3、


4、

Linux压缩文件的方法都有哪些?


Linux压缩文件的方法都有哪些?

扫描二维码