CentOS查看压缩包文件列表实现方式

 更新时间:2026年03月28日 08:59:47   作者:狂龙骄子  
这篇文章主要介绍了CentOS查看压缩包文件列表实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

把日常工作经常查看压缩包文件列表的场景,整理为shell脚本,并列表不同的实现方法。

脚本支持多种常见压缩格式(如.jar/.zip/.rar/.tar等),通过判断文件后缀名调用对应的解压工具命令查看内容列表。

运行环境:

1、查看压缩包文件列表演示

查看 .jar 压缩包文件列表

查看 .zip 压缩包文件列表

2、查看压缩包文件列表Shell脚本

#!/bin/bash
echo "###################################################"
echo "# Subject: 查看压缩包文件列表"
echo "#    Date: 2021.03.15"
echo "#  Author: 狂龙骄子"
echo "# BlogUrl: https://blog.csdn.net/Sn_Keys"
echo "#  Remark: 使用到的解压缩工具,必须提前安装。参考 http://tldp.org/HOWTO/Bzip2-5.html"
echo "#          调用方法:/opt/viewZipDetail.sh '/路径/文件名'"
echo "# History: "
echo "# 2021.03.15: New"
echo "###################################################"

# 设置环境变量:解决中文乱码
export LESSCHARSET=utf-8

# 获取传入的文件
FILE_NAME="$1"
# 判断是否为文件
if [ ! -f "${FILE_NAME}" ]; then
    echo "Error: File does not exist."
    exit 1
fi
# 判断文件后缀名并使用对应方式打开
case "${FILE_NAME}" in
    *.jar|*.war|*.ear)
        jar -tvf "${FILE_NAME}" ;;
    *.rar)
        #rar -v "${FILE_NAME}" ;;
        unrar -l "${FILE_NAME}" ;;
    *.tar)
        tar -tvf "${FILE_NAME}" ;;
    *.tgz)
        tar -tzvf "${FILE_NAME}" ;;
    *.tar.bz2)
        # This one work for the unmodified version of tar
        bzip2 -cd "${FILE_NAME}" | tar tvvf - ;;
    #*.tar.bz2)
    #    #This one works with the patched version of tar
    #    tyvvf "${FILE_NAME}" ;;
    #*.tar.bz2)
    #    tar -tjvf "${FILE_NAME}" ;;
    *.tar.gz)
        tar -tzvf "${FILE_NAME}" ;;
    *.tar.Z|*.tar.z)
        tar tzvvf "${FILE_NAME}" ;;
    *.bz2)
        bzip2 -cd "${FILE_NAME}" ;;
    *.Z|*.z)
        gzip -dc "${FILE_NAME}" ;;
    *.gz)
        gzip -dc "${FILE_NAME}" ;;
    *.zip)
        #zip -sf "${FILE_NAME}" ;;
        unzip -l "${FILE_NAME}" ;;
    *.1|*.2|*.3|*.4|*.5|*.6|*.7|*.8|*.9|*.n|*.man)
        FILE=`file -L $1`
        FILE=`echo $FILE | cut -d ' ' -f 2`
        if [ "$FILE" == "troff" ]; then
            groff -s -p -t -e -Tascii -mandoc "${FILE_NAME}"
        fi ;;
    *)
        cat "${FILE_NAME}" ;;
esac

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Linux中解除端口占用的方法

    Linux中解除端口占用的方法

    这篇文章主要介绍了Linux中解除端口占用的方法,本例以8080端口被占用为例,通过实例代码给大家介绍,需要的朋友可以参考下
    2019-08-08
  • Linux查看程序被Killed的原因及分析

    Linux查看程序被Killed的原因及分析

    文章总结:本文介绍了如何查看系统中被Killed的进程信息,并提供了设定kill优先度的方法,优先度通过oom_adj值来调整,范围为-16到+15,值越高优先级越高,文章还提到如何处理被拒绝访问的命令,并鼓励大家提供支持
    2024-11-11
  • CentOS 7安装TigerVNC Server的流程

    CentOS 7安装TigerVNC Server的流程

    本文指导在CentOS7上安装TigerVNCServer,包括使用非root用户、配置systemd服务、设置分辨率、开放防火墙端口及创建密码,以实现远程访问并支持多用户配置
    2025-10-10
  • Linux开机自启动服务两种方式介绍

    Linux开机自启动服务两种方式介绍

    大家好,本篇文章主要讲的是Linux开机自启动服务两种方式介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • Linux命令行参数和环境变量使用详解

    Linux命令行参数和环境变量使用详解

    文章首先讲解了命令行参数的基本概念,包括`main`函数的参数及其作用,接着介绍了Linux下统的执行流程,重点解释了`argv`和`argc`的作用,然后介绍了环境变量的概念、作用和使用方法,解释了如何临时和永久设置环境变量
    2026-04-04
  • 初窥Linux 之我最常用的20条命令总结

    初窥Linux 之我最常用的20条命令总结

    Linux中的命令的确是非常多,我们只需要了解常用的命令就可以了,本篇文章介绍了Linux 之我最常用的20条命令总结,有兴趣的可以了解一下。
    2016-12-12
  • linux系统下用户管理相关介绍

    linux系统下用户管理相关介绍

    大家好,本篇文章主要讲的是linux系统下用户管理相关介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下哦,方便下次浏览
    2021-12-12
  • Linux进程使用文件进行通信的常用方法

    Linux进程使用文件进行通信的常用方法

    在Linux系统中,进程间通信(IPC)是构建复杂应用的关键技术,使用文件进行通信是一种简单而有效的方法,特别适合需要持久化数据或跨系统边界的场景,本文将介绍几种主要的文件通信技术及其应用场景,需要的朋友可以参考下
    2025-11-11
  • Linux获取10个你最常用的终端命令列表

    Linux获取10个你最常用的终端命令列表

    今天小编就为大家分享一篇关于Linux获取10个你最常用的终端命令列表,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-09-09
  • 如何配置Apache服务器中的虚拟机

    如何配置Apache服务器中的虚拟机

    Apache 的虚拟主机就是在一台服务器上运行多个网站,每个虚拟主机都可以绑定独立的域名,为这些域名可以指定单独的目录,访问这些域名的时候,Apache 会打开对应目录里面的东西。本文给大家介绍Apache服务器虚拟机的配置方法,感兴趣的朋友一起学习吧
    2016-04-04

最新评论