CentOS查看壓縮包文件列表實現(xiàn)方式
更新時間:2026年03月28日 08:59:47 作者:狂龍驕子
這篇文章主要介紹了CentOS查看壓縮包文件列表實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
把日常工作經常查看壓縮包文件列表的場景,整理為shell腳本,并列表不同的實現(xiàn)方法。
腳本支持多種常見壓縮格式(如.jar/.zip/.rar/.tar等),通過判斷文件后綴名調用對應的解壓工具命令查看內容列表。
運行環(huán)境:
- Windows-10-BusinessEditions-22h2-x64、CentOS-7.9.2009-x64
- CygWin
- WinRAR
- 7-Zip
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 "###################################################"
# 設置環(huán)境變量:解決中文亂碼
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
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

