不解压tar.gz文件查看其中的文件大小

本文介绍如何不解压查看tar.gz文件内的每个文件大小,包括使用tar命令结合awk进行输出格式调整,以及如何在后台运行这些命令并将结果保存到文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果你有一个上百G的tar.gz文件,要查看里面的每个文件的大小的话,解压出来可能太费时间,而且要占用大量磁盘空间。因此,不解压查看文件大小很有必要。
不解压一个tar.gz文件,查看里面的文件明细的命令为:
tar tvf my_file.tar.gz
输出形如:
-rwxr-xr-x root/root        2348366 2010-10-26 11:09:46 File_1.txt
-rwxr-xr-x root/root     2383552 2010-10-26 12:52:45 File_2.txt
-rw-r–r– root/root        89106866 2010-12-20 14:30:01 File_3.txt
从左起第三列数据就是文件大小(单位:字节),第6列就是文件名。如果要看得更清楚一点,用awk来过滤一下输出的结果:
tar tvf my_file.tar.gz | awk '{print $3, $6}'
这样就只输出第3和第6列,输出形如:
2348366    File_1.txt
2383552    File_2.txt
89106866    File_3.txt

如果要以KB/MB/GB来显示文件大小,可以用第3列除N个1024,例如,如果要显示为GB,则:
tar tvf my_file.tar.gz | awk '{print $3/1024/1024/1024, $6}'
字节数连除3个1024,就是GB了,输出形如:
0.00218708        File_1.txt
0.00221985        File_2.txt
0.0829872        File_3.txt
如果对一个超大的文件(例如,上百G),并且压缩包里包含很多文件的话,这个过程将很漫长,让shell命令在后台执行,并将结果输出到一个文件中是一个比较合理的做法,如下:
nohup tar tvf my_file.tar.gz | awk '{print $3/1024/1024/1024, $6}' > /root/result.txt &
说明:
1)nohup 是保证shell命令无中断。当网络状况不佳时,SecureCRT等客户端软件有可能中断与服务器的连接,从而命令还没执行完就被中断了。
2)重定向符就不用说了,最后结果保存到了/root/目录下的result.txt文件中。

本文出自 “Focus on Oracle” 博客,请务必保留此出处http://alexy.blog.51cto.com/6115453/1050384

<think>我们正在回答用户关于如何在Linux系统中解tar.gz文件的问题。用户已经提供了几个引用,其中包含了相关的命令示例。我们将结合这些引用,给出清晰、准确的解步骤。 关键点: - 使用`tar`命令解.tar.gz文件 - 基本命令格式:`tar -xzvf filename.tar.gz` - 可选:指定解目录(使用`-C`选项) 步骤: 1. 打开终端 2. 使用`cd`命令切换到包含tar.gz文件的目录(如果不切换,需要指定完整路径) 3. 执行解命令 详细说明: - `-x` 表示解 - `-z` 表示处理gzip缩(针对.gz) - `-v` 表示显示解过程(可选,如果想看详细输出则加上) - `-f` 后面指定文件名 另外,用户引用[5]提到可以使用`-C`选项指定解目录。 示例: 1.到当前目录: ```bash tar -xzvf filename.tar.gz ``` 2.到指定目录: ```bash tar -xzvf filename.tar.gz -C /path/to/directory ``` 注意:如果文件是使用其他方式缩的(如tar.xz),则命令略有不同(如使用`-J`选项),但用户明确询问的是tar.gz。 根据引用[2]和引用[5]的内容,我们可以确认这些命令的正确性。 最后,生成相关问题。 回答结构: 1. 简要说明tar.gz文件和解工具 2. 给出基本解命令 3. 给出指定解目录的命令 4. 示例说明 5. 生成相关问题</think>### 如何在 Linux 系统中解 tar.gz 文件 在 Linux 系统中,`tar` 命令是处理 `.tar.gz` 文件的专用工具。以下是详细的解步骤和方法: #### 基本解命令 ```bash tar -xzvf 文件.tar.gz ``` - **参数说明**: - `-x`:解操作 (extract) - `-z`:处理 gzip 缩格式 - `-v`:显示解过程 (verbose,可选) - `-f`:指定文件名 (必须放在最后)[^2][^5] #### 解到指定目录 ```bash tar -xzvf 文件.tar.gz -C /目标/路径/ ``` - **关键参数**: - `-C`:指定解目录 (Change directory)[^5] - **示例**: ```bash tar -xzvf data.tar.gz -C /home/user/documents/ ``` #### 静默解(不显示过程) ```bash tar -xzf 文件.tar.gz ``` - 移除 `-v` 参数可避免终端输出解细节[^4] #### 解其他常见格式 | 文件格式 | 解命令 | 说明 | |----------------|------------------------------|------| | `.tar` | `tar -xvf 文件.tar` | 普通tar包 | | `.tar.bz2` | `tar -xjvf 文件.tar.bz2` | bzip2缩[^3] | | `.zip` | `unzip 文件.zip` | ZIP格式 | | `.rar` | `unrar e 文件.rar` | RAR格式[^3] | ### 操作示例 假设文件 `project.tar.gz` 在 `/downloads` 目录: ```bash # 进入文件所在目录 cd /downloads # 解到当前目录 tar -xzvf project.tar.gz # 解到指定目录 tar -xzvf project.tar.gz -C /opt/projects/ ``` ### 关键注意事项 1. **权限问题**: - 若遇到权限错误,使用 `sudo`: ```bash sudo tar -xzvf 文件.tar.gz ``` 2. **文件完整性**: - 解前可验证文件完整性: ```bash gzip -t 文件.tar.gz # 测试gzip缩完整性 ``` 3. **路径安全**: - 避免解恶意缩包中的绝对路径文件(如 `/etc/passwd`) > 💡 **技巧**:使用 `ls` 命令验证解结果: > ```bash > ls -lh 解目录/ # 查看文件大小和属性 > ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值