在ubuntu系统中,遇到 “由于/bin 不在PATH 环境变量中,故无法找到该命令”问题

本文介绍了一种解决因路径配置错误导致无法找到某些命令的问题的方法。具体步骤包括使用完整路径手动执行命令来临时解决问题,并通过修改环境变量PATH来永久解决此问题。

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

好多命令的位置在/usr/bin。恢复办法如下:
1. /usr/bin/sudo vi /etc/profile (由于你找不到sudo,所以必须写全路径,其他命令如果提示找不到,也需要写全路径)
2.末尾添加以下内容后保存
export PATH=$PATH:/sbin:/usr/bin:/usr/sbin
3.重新启动系统或执行以下命令生效
source /etc/profile
<think>我们遇到了由于PATH环境变量中缺少/usr/bin和/bin导致命令无法执行的问题。用户已经安装了TensorRT,但可能因为修改了.bashrc文件导致PATH环境变量被覆盖,从而无法使用系统命令(如ls, vim等)以及TensorRT相关命令。 根据引用[1][2][3]提供的解决方案,我们可以通过以下步骤恢复PATH环境变量: 1. 临时添加路径到PATH,以便能够使用基本命令。 2. 编辑配置文件(~/.bashrc或/etc/profile)修复错误的PATH设置。 3. 重新加载配置文件。 具体步骤: 步骤1:临时恢复PATH 由于当前PATH不完整,我们可以通过以下命令临时添加系统路径: ``` export PATH=/usr/bin:/bin:/usr/local/bin:$PATH ``` 这样,我们就可以使用位于/usr/bin、/bin和/usr/local/bin下的命令(如ls, vim, gedit等)了。 步骤2:编辑配置文件 我们需要检查并修改导致PATH问题的配置文件(通常是~/.bashrc)。使用文本编辑器(如gedit或vim)打开: ``` gedit ~/.bashrc # 或者使用vim ``` 或者使用绝对路径调用编辑器(如果临时PATH设置后仍然不能直接使用命令,则用绝对路径): ``` /usr/bin/gedit ~/.bashrc ``` 步骤3:修复PATH设置 在.bashrc文件中,找到修改PATH的地方(可能是最近添加的export PATH=...行),将其删除或修改为正确的设置。 正确的PATH应该包含系统基本路径,通常至少包括:/usr/local/sbin、/usr/local/bin、/usr/sbin、/usr/bin、/sbin、/bin。 建议在.bashrc中设置PATH时,保留原有PATH,然后添加自己的路径,例如: ``` export PATH=$PATH:/your/custom/path ``` 而不是直接覆盖整个PATH。 如果找不到具体错误行,或者不确定,可以尝试将PATH重置为默认值。在.bashrc文件中添加: ``` export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" ``` 然后再加上自己需要的路径(比如CUDA、TensorRT等)。 步骤4:保存并重新加载 保存文件后,重新加载.bashrc: ``` source ~/.bashrc ``` 或者重新打开终端。 步骤5:验证PATH 使用以下命令检查PATH: ``` echo $PATH ``` 应该看到包含/usr/bin等路径。 步骤6:检查TensorRT命令 现在应该可以正常使用TensorRT相关命令,例如: ``` trtexec --version ``` 如果问题仍然存在,检查其他配置文件(如/etc/profile、~/.profile、~/.bash_profile)是否有覆盖PATH的设置。 另外,如果用户在安装TensorRT后修改了PATH,可能需要添加TensorRT的库路径到LD_LIBRARY_PATH,例如: ``` export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu ``` 注意:在修改配置文件时,务必小心,避免再次破坏PATH。 最后,为了避免未来出现类似问题,建议在修改环境变量文件时: - 使用追加方式(PATH=$PATH:new_path)而不是覆盖。 - 修改前备份原文件。 相关问题: 1. 如何永久设置Linux环境变量? 2. 如何查看TensorRT是否安装成功? 3. TensorRT的trtexec工具如何使用?</think>### 解决 TensorRT 安装后 `/usr/bin` 不在 PATH 环境变量问题 以下是针对您问题的完整解决方案,包含修复步骤和预防措施: --- #### **问题原因分析** 当在 `.bashrc` 中错误设置 `PATH` 环境变量时,会导致系统无法找到 `/usr/bin` 和 `/bin` 中的基础命令(如 `ls`, `vim` 等),进而影响 TensorRT 命令的执行。 --- #### **紧急修复步骤** 1. **临时恢复 PATH**(使用绝对路径执行命令): ```bash # 临时添加系统路径到 PATH export PATH="$PATH:/usr/bin:/bin" # 验证路径是否恢复 /usr/bin/echo $PATH ``` 2. **编辑配置文件修复问题**: ```bash # 使用绝对路径打开配置文件 /usr/bin/vim ~/.bashrc # 或 /usr/bin/gedit ~/.bashrc ``` 3. **在 `.bashrc` 中修正 PATH 设置**: ```diff - export PATH="/new/path:$PATH" # 错误示例(覆盖原有PATH) + export PATH="$PATH:/new/path" # 正确写法(追加新路径) ``` 或恢复默认设置: ```bash export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" ``` 4. **重新加载配置**: ```bash source ~/.bashrc ``` 5. **验证 TensorRT 命令**: ```bash # 检查TensorRT安装 dpkg -l | grep tensorrt # 测试TensorRT工具 trtexec --version ``` --- #### **永久解决方案** 1. **系统PATH 设置**(推荐): ```bash sudo vim /etc/environment ``` 添加默认路径: ```ini PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" ``` 2. **TensorRT 专用路径配置**: ```bash echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu' | sudo tee -a /etc/profile.d/tensorrt.sh ``` 3. **安全修改原则**: - 始终使用 `$PATH:新路径` 格式追加路径 - 修改前备份文件:`cp ~/.bashrc ~/.bashrc.bak` - 使用 `echo $PATH` 验证修改 --- #### **PATH 环境变量规范** | 路径 | 包含内容 | 重要性 | |------|----------|--------| | `/usr/bin` | 系统基础命令 (ls, cp, mv) | ★★★★★ | | `/bin` | 核心系统命令 (sh, mount) | ★★★★★ | | `/usr/local/bin` | 用户安装程序 | ★★★★☆ | | `/usr/lib` | TensorRT 库文件 | ★★★☆☆ | --- #### **验证 TensorRT 工作** ```bash # 检查PATH配置 echo $PATH # 测试TensorRT Python绑定 python3 -c "import tensorrt as trt; print(trt.__version__)" # 运行示例程序 /usr/src/tensorrt/bin/trtexec --onnx=model.onnx ``` > **注意**:如果遇到 `libnvinfer.so.8` 缺失错误,执行: > `sudo ldconfig /usr/lib/x86_64-linux-gnu`[^1] --- #### **相关问题** 1. 如何永久添加 CUDA 路径到系统环境变量? 2. TensorRT 安装后如何验证 GPU 加速是否生效? 3. 当多个 CUDA 版本共存时如何管理环境变量? [^1]: [Linux 环境变量管理指南](https://help.ubuntu.com/community/EnvironmentVariables) [^2]: [TensorRT 官方故障排查文档](https://docs.nvidia.com/deeplearning/tensorrt/troubleshooting/index.html) [^3]: [Linux 文件系统层次标准](https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值