Linux下查看压缩文件内容的 10 种方法

11,696 阅读3分钟

通常来说,我们查看归档或压缩文件的内容,需要先进行解压缩,然后再查看,比较麻烦。今天给大家介绍 10 不同方法,能够让你轻松地在未解压缩的情况下查看归档或压缩文件的内容。

从技术上讲,查看归档或压缩文件不提前进行解压是不可能的。本文介绍的方法中会将这些压缩文件在后台一个临时目录 /tmp 中进行解压缩。重启系统后,/tmp 目录的内容将被清空。

在进一步讨论之前,这里先解释一下归档和压缩文件。

  • 归档 是将多个文件或文件夹组合成一个文件的过程。在这种情况下,生成的文件没有被压缩。
  • 压缩 是一种将多个文件或文件夹组合成一个文件并进行压缩得到的结果文件。

归档文件不是压缩文件,但压缩文件可以是归档文件。明白了这两个概念之后,我们正式介绍如何在不解压的情况下查看压缩文件内容。

1.使用 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.jpg
test/file.pdf
test/song.mp3
test/

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

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

2.使用 tar 命令

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

$ tar -tf test.tar
test/
test/image.jpg
test/file.pdf
test/song.mp3

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

$ tar -tvf test.tar
drwxr-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

3.使用 rar 命令

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

$ rar v test.rar
RAR 5.60 Copyright (c) 1993-2019 Alexander Roshal 24 Jun 2019
Trial version Type 'rar -?' for help

Archive: test.rar
Details: 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

4.使用 unrar 命令

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

$ unrar l test.rar
UNRAR 5.60 freeware Copyright (c) 1993-2019 Alexander Roshal

Archive: test.rar
Details: 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 3

5.使用 zip 命令

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

$ zip -sf test.zip
Archive contains:
Life advices.jpg
Total 1 entries (597219 bytes)

6.使用 unzip 命令

与 unrar 差不多,使用 -l 参数的 unzip 命令来查看 zip 文件的内容。

$ unzip -l test.zip
Archive: test.zip
Length Date Time Name
--------- ---------- ----- ----
597219 2019-04-09 12:48 Life advices.jpg
--------- -------
597219 1 file

7.使用 zipinfo 命令

查看 zip 文件内容,你还可以使用 zipinfo 命令。

$ zipinfo test.zip 
Archive: test.zip
Zip file size: 584859 bytes, number of entries: 1
-rw-r--r-- 6.3 unx 597219 bx defN 18-Apr-09 12:48 Life advices.jpg
1 file, 597219 bytes uncompressed, 584693 bytes compressed: 2.1%

8.使用 zcat 命令

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

$ zcat test.tar.gz

zcatgunzip -c 命令功能相同。因此,你还可以用下面的命令:

$ gunzip -c test.tar.gz

9.使用 zless 命令

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

$ zless test.tar.gz

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

10.使用 less 命令

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

$ less test.tar.gz

小结

上面简单介绍了 10 个不同的命令,可以使让你能够在不提取文件的前提下查看归档/压缩文件的内容,若你对其中某些命令感兴趣,可以自己慢慢钻研。-----------------

我是良许,世界500强外企 Linux 开发工程师,专业生产 Linux 干货。欢迎关注我的公众号「良许Linux」,里面分享了 Linux入门、基础、进阶 等系列教程,同时也有 Git、Vim、开源项目 等技术干货。公众号后台回复「1024」获取最新最全的技术资料,回复「入群」进入高手如云技术交流群。