linux shell

关注公众号 jb51net

关闭
首页 > 脚本专栏 > linux shell > Linux查看tar.gz文件明细

Linux系统中查看tar.gz中的文件明细的常用命令

作者:会飞的土拨鼠呀

在日常运维中你可能会有几十G或者上百G的文件压缩包,要查看里面的每个文件的大小的话,解压出来可能需要很长时间,而且要占用大量磁盘空间和系统CPU资源,因此,不解压查看文件大小很有必要,所以本文给大家分享了Linux查看tar.gz中的文件明细的常用命令

核心命令

最常用、最核心的命令是:

tar -tzf archive.tar.gz

让我们分解一下这个命令:

常用命令示例

这里是一些不同场景下的常用命令:

1. 基本列表(最常用)

简单地列出归档文件中的所有文件和目录。

tar -tzf archive.tar.gz

2. 详细列表

使用 -v 选项,显示类似 ls -l 的详细信息,包括权限、所有者、大小和修改时间。

tar -tzvf archive.tar.gz

输出示例:

drwxr-xr-x root/root         0 2023-10-05 14:30 myproject/
-rw-r--r-- root/root      1234 2023-10-05 14:30 myproject/file1.txt
-rw-r--r-- root/root      5678 2023-10-05 14:31 myproject/script.sh

3. 结合分页工具

如果归档文件非常大,列表很长,可以将其通过管道 (|) 传递给 lessmore 命令进行分页查看。

tar -tzvf large_archive.tar.gz | less

4. 结合 grep 过滤

如果你只想查找归档文件中是否包含某个特定文件或某一类文件,可以结合 grep 使用。

# 查找归档中所有的 .jpg 文件
tar -tzf archive.tar.gz | grep '.jpg$'

# 查找名为 "config" 的文件或目录
tar -tzf archive.tar.gz | grep '/config$'

5. 仅查看顶层目录结构

有时你只关心根目录下有什么,而不想看到所有深层的文件明细。

tar -tzf archive.tar.gz | grep -o '^[^/]*' | sort | uniq

或者一个更简单但可能不太精确的方法是:

tar -tzf archive.tar.gz | head -20

注意事项和技巧

顺序很重要:选项 -f 必须后面紧跟文件名。习惯上,我们通常把 -f 放在所有选项的最后。

处理 .tar.gz.tgz.tar.gz.tgz 是相同格式的两种不同扩展名。上述所有命令对两者都适用。

tar -tzvf archive.tgz

查看其他压缩格式的 tar 包

tar -tjvf archive.tar.bz2
tar -tJvf archive.tar.xz
tar -tvf archive.tar

只是查看,不会解压:请放心,tar -t 命令仅仅是读取和列出文件列表,不会将归档中的文件实际解压到你的磁盘上。

总结

需求命令
快速查看里面有什么文件tar -tzf file.tar.gz
查看详细信息(权限、大小等)tar -tzvf file.tar.gz
列表太长,想一页一页看tar -tzvf file.tar.gz | less
查找特定文件tar -tzf file.tar.gz | grep "filename"
查看 .tar.bz2 文件tar -tjvf file.tar.bz2

到此这篇关于Linux系统中查看tar.gz中的文件明细的常用命令的文章就介绍到这了,更多相关Linux查看tar.gz文件明细内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文