解压 *.tar.gz 文件

本文介绍了解压Linux中常见的tar.gz文件的两种方法。第一种使用gunzip结合tar命令,第二种仅使用tar命令并利用-z选项指定gzip处理。

linux下的很软件都是 tar.gz后缀的,解压久了不用就忙了,写备忘。现我知的直接解压方法有两种

1.gunzip与tar

gunzip < *.tar.gz | tar -xvf -

2.只用tar
tar -zxvf *.tar.gz

说明:
z表示:通过gzip指令处理备份文件
x表示:解压
v表示:输出解压过程信息
f表示:指定备份文件
你遇到的错误: ``` tar: Error opening archive: Failed to open 'requests-*.tar.gz' ``` 表示 `tar` 命令无法找到或打开名为 `requests-*.tar.gz` 的文件。我们来一步步分析原因并提供解决方案。 --- ## 🔍 错误原因分析 ### ❌ 问题 1:通配符 `*` 在 Windows 上可能未被 shell 正确展开 - 你在使用的是 **Windows 的命令行(CMD 或 Git Bash)**? - Windows 自带的 `tar`(如通过 Git for Windows 提供)虽然支持 tar,但 **通配符 `*` 不一定能正确匹配文件**,尤其是当当前目录中没有符合模式的文件时。 - 或者你的目录中根本没有 `requests-xxx.tar.gz` 文件! --- ### ✅ 解决方案一:先确认文件是否存在 运行以下命令查看当前目录下是否有 `.tar.gz` 文件: ```bash dir requests*.tar.gz ``` 或者如果你在 **Git Bash / MinGW / WSL 环境**中: ```bash ls -l requests*.tar.gz ``` 📌 如果没有任何输出 → 说明文件根本不存在! --- ### ✅ 解决方案二:检查确切的文件名 假设你下载了 `requests` 库的源码包,常见的完整文件名可能是: ``` requests-2.31.0.tar.gz ``` 而不是简单的 `requests.tar.gz`。 所以你应该使用正确的文件名。例如: ```bash tar -xzvf requests-2.31.0.tar.gz ``` > ⚠️ 把 `2.31.0` 替换为你实际下载的版本号。 --- ### ✅ 解决方案三:使用通配符前确保 shell 能展开它 #### 方法 A:用具体名称解压(推荐) ```bash tar -xzvf requests-2.31.0.tar.gz ``` #### 方法 B:如果确定只有一个 `.tar.gz` 文件,可以用自动补全: 在 CMD 或 Git Bash 中输入: ```bash tar -xzvf requests ``` 然后按两次 `Tab` 键,系统会自动补全文件名(Bash 支持)。 #### 方法 C:使用 PowerShell(更可靠) ```powershell # 列出所有 requests 开头的压缩包 Get-ChildItem requests*.tar.gz # 解压第一个找到的 $tarfile = (Get-ChildItem requests*.tar.gz)[0].Name Write-Host "Extracting $tarfile" tar -xzvf "$tarfile" ``` --- ### ✅ 解决方案四:从哪里获取正确的源码包? 你不能随便创建一个 `requests-*.tar.gz`,必须先下载。 #### 推荐方式:从 PyPI 下载 访问: 👉 https://pypi.org/project/requests/#files 下载最新的源码包,例如: ``` requests-2.31.0.tar.gz ``` 然后放到你的工作目录: ``` D:\UserData\Desktop\work\python-requests\ ``` 再执行解压命令。 --- ### ✅ 完整正确流程示例 ```bash # 1. 进入目标目录 cd /d D:\UserData\Desktop\work\python-requests # 2. 查看是否存在 tar.gz 文件(Git Bash 风格) ls -l requests*.tar.gz # 3. 解压(假设文件名为 requests-2.31.0.tar.gztar -xzvf requests-2.31.0.tar.gz ``` 成功后你会看到类似输出: ``` x requests-2.31.0/ x requests-2.31.0/setup.py x requests-2.31.0/PKG-INFO ... ``` --- ## 🛠️ 小贴士:如何避免这类问题? | 技巧 | 说明 | |------|------| | 使用 `ls` 或 `dir` 先查文件 | 避免“我以为有” | | 不要依赖通配符 | 特别是在 Windows 下 | | 启用 Tab 补全 | 在 Git Bash 中非常有用 | | 使用 PowerShell 替代 CMD | 更强大、更清晰 | --- ## ✅ Bonus:一键自动解压任意 requests 包 写个批处理脚本自动查找并解压: ```bat @echo off setlocal for %%f in (requests-*.tar.gz) do ( echo Found package: %%f echo Extracting... tar -xzvf "%%f" goto :done ) echo ERROR: No requests-*.tar.gz file found! exit /b 1 :done echo Extraction complete. ``` 保存为 `extract.bat` 并运行即可。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值