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

通常来说,我们查看归档或压缩文件的内容,需要先进行解压缩,然后再查看,比较麻烦。今天给大家介绍 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%

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

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

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

$ gunzip -c test.tar.gz

9.使用 zless 命令

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

$ zless test.tar.gz

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

10.使用 less 命令

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

$ less test.tar.gz

Linux下查看压缩文件内容的 10 种方法的更多相关文章

  1. 详解linux下批量替换文件内容的三种方法(perl,sed,shell)

    在建设本网站的时候,发现新建了很多的网页,突然发现,每个文件都需要进行修改一样的内容,一个一个打开很是麻烦,所以,总结了一下如何快速修改一个目录下多个文件进行内容替换.第三种方法用的不多 方法一 使用 ...

  2. linux中快速清空文件内容的几种方法

    这篇文章主要介绍了linux中快速清空文件内容的几种方法,需要的朋友可以参考下 $ : > filename $ > filename $ echo "" > f ...

  3. linux清空文件内容的三种方法

    linux系统中清空文件内容的三种方法 1.使用vi/vim命令打开文件后,输入"%d"清空,后保存即可.但当文件内容较大时,处理较慢,命令如下:vim file_name:%d: ...

  4. Linux下的压缩文件剖析 (tar/gzip的区别)

    Linux下的压缩文件剖析 对于刚刚接触Linux的人来说,一定会给Linux下一大堆各式各样的文件名给搞晕.别个不说,单单就压缩文件为例,我们知道在Windows下最常见的压缩文件就只有两种,一是, ...

  5. [转帖]Linux下批量替换文件内容方法

    Linux下批量替换文件内容方法 https://www.cnblogs.com/fjping0606/p/4428850.html 刚才用到的命令 原作者写的挺好的记录一下 以后 用. 1:查找fi ...

  6. linux下查看某个文件位置的方法

    linux下查看某个文件位置的方法: 例如,不知道apache的配置文件httpd.conf的位置,可以有两种方法来查看: 1.find / -name httpd.conf2.locate http ...

  7. 【转】Linux 中清空或删除大文件内容的五种方法(truncate 命令清空文件)

    原文: http://www.jb51.net/article/100462.htm truncate -s 0 access.log -------------------------------- ...

  8. Linux清除文件内容的几种方法

    # 清空或删除大文件内容的五种方法: # 法一:通过重定向到 Null 来清空文件内容 $ >test.sh # 法二:使用 ‘true' 命令重定向来清空文件 $ true > test ...

  9. php中读取文件内容的几种方法。(file_get_contents:将文件内容读入一个字符串)

    php中读取文件内容的几种方法.(file_get_contents:将文件内容读入一个字符串) 一.总结 php中读取文件内容的几种方法(file_get_contents:将文件内容读入一个字符串 ...

随机推荐

  1. select和C标签

    <select name="cpcyModel.rwzj" id="cpcyModel_rwzj"> <option value=" ...

  2. 如何在Fluent使用非牛顿流体【转载】

    转载自:http://blog.sciencenet.cn/blog-267817-747504.html 1.非牛顿流体:剪应力与剪切应变率之间满足线性关系的流体称为牛顿流体,而把不满足线性关系的流 ...

  3. 关于Delphi中二维数组的声明和大小调整

    这是一个实例: procedure TMainForm.Button1Click(Sender: TObject);var  arr:array of array of string;begin  s ...

  4. linux下查看指定进程的所有连接信息(转)

    定位某个进程的网络故障时经常需要用到的一个功能就是查找所有连接的信息.通常查找某个端口的连接信息使用 ss 或者 netstat 可以轻松拿到,如果是主动与别的机器建立的连接信息则可以通过 lsof ...

  5. OptaPlanner kie-server Forbidden

    kie-server Forbidden - 国内版 Binghttps://cn.bing.com/search?q=kie-server+Forbidden&qs=n&form=Q ...

  6. rm: cannot remove `xxx': Read-only file system

    linux 中出现 Read-only file system - Aidon博客 - CSDN博客 https://blog.csdn.net/u010839779/article/details/ ...

  7. git如何查找某个包含指定字符串的commit hash值?

    答: git shortlog --format='%H|%cn|%s' | grep '需要查找的字符串内容'

  8. 【笔试题】某公司中有N名员工。给定所有员工工资的清单

    排列员工工资顺序(C++map解法) 题目描述:某公司中有N名员工.给定所有员工工资的清单,财务人员要按照特定的顺序排列员工的工资.他按照工资的频次降序排列.即给定清单中所有频次较高的工资将在频次较低 ...

  9. APP:目录

    ylbtech-APP:目录 1.返回顶部   2.返回顶部   3.返回顶部   4.返回顶部   5.返回顶部     6.返回顶部     7.返回顶部   8.返回顶部   9.返回顶部   ...

  10. Flutter Navigator&Router(导航与路由)

    参考地址:https://www.jianshu.com/p/b9d6ec92926f 在我们Flutter中,页面之间的跳转与数据传递使用的是Navigator.push和Navigator.pop ...