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

总结

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

相关文章

  • ubuntu系统中/etc/rc.local和/etc/init.d/rc.local的区别详解

    ubuntu系统中/etc/rc.local和/etc/init.d/rc.local的区别详解

    这篇文章主要给大家介绍了关于在ubuntu系统下/etc/rc.local和/etc/init.d/rc.local区别的相关资料,文中通过示例代码介绍的非常详细,对需要的朋友们具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-08-08
  • linux下用tar命令将当前目录下文件按子目录压缩归档的实现

    linux下用tar命令将当前目录下文件按子目录压缩归档的实现

    下面小编就为大家带来一篇linux下用tar命令将当前目录下文件按子目录压缩归档的实现。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • Linux文件目录结构(小白版)

    Linux文件目录结构(小白版)

    这篇文章主要介绍了Linux文件目录结构(小白版),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • linux尝试登录失败后锁定用户账户的两种方法

    linux尝试登录失败后锁定用户账户的两种方法

    这篇文章主要给大家分享了linux尝试登录失败后锁定用户账户的两种方法,分别是利用pam_tally2模块和pam_faillock 模块实现,文中通过详细的示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-06-06
  • Linux下core文件的使用方法详解

    Linux下core文件的使用方法详解

    大家都知道,在程序异常推出时,内核会生成一个core文件(是内存映像以及调试信息),下面这篇文章主要给大家介绍了关于Linux下core文件的使用方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2018-03-03
  • apache伪静态与iis伪静态规则与配置区别介绍

    apache伪静态与iis伪静态规则与配置区别介绍

    本文章来总结一下关于apache伪静态与iis伪静态区别介绍,主要讲到了一些规则的问题与配置区别,以后大家就可以直接在iis伪静态转换apache,反之也很简单哦,需要了解的碰可以参考下
    2012-12-12
  • linux中安装deb软件包实现方式

    linux中安装deb软件包实现方式

    这篇文章主要介绍了linux中安装deb软件包实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • 腾讯云(ubuntu)下安装 nodejs + 实现 Nginx 反向代理服务器

    腾讯云(ubuntu)下安装 nodejs + 实现 Nginx 反向代理服务器

    本文将介绍如何给腾讯云上的 Ubuntu Server 12.04 LTS 64位主机安装 node 及 nginx,并简单配置反向代理。
    2016-11-11
  • 深入浅析Linux轻量级自动运维工具-Ansible

    深入浅析Linux轻量级自动运维工具-Ansible

    这篇文章主要介绍了Linux轻量级自动运维工具-Ansible的相关知识,需要的朋友可以参考下
    2017-09-09
  • 函数sync、fsync与fdatasync的总结整理(必看篇)

    函数sync、fsync与fdatasync的总结整理(必看篇)

    下面小编就为大家带来一篇函数sync、fsync与fdatasync的总结整理(必看篇)。小编觉得挺不错的。现在就分享给大家。也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12

最新评论