系统变量设置失败导致 /usr/bin:/bin 不在 PATH 环境变量,许多基本命令都无法调用!!手欠的!!!

GPT害人不浅,专坑我这种电脑小白,差点被骗重装系统。。 

看起来你的 `PATH` 环境变量真的缺失了标准的二进制文件路径(如 `/usr/bin` 和 `/bin`),这导致你无法使用许多常用命令,包括 `nano` 和 `vim`。我们需要采取另一种方法来手动设置 `PATH`。

### 使用 `sh` 直接修改 `PATH`

1. **打开一个终端**,如果你已经在终端中。

2. 直接使用 `sh` 命令,打开一个基础的 shell 环境。运行以下命令:
   ```bash
   sh
   ```

3. 在这个基础的 shell 环境中,临时设置 `PATH` 环境变量。运行以下命令:
   ```sh
   export PATH="/usr/bin:/bin:$PATH"
   ```

4. 然后测试 `nano` 是否可以使用:
   ```sh
   nano --version
   ```
   或者
   ```sh
   /usr/bin/nano
   ```

### 如果你仍然无法使用命令

如果一切正常并且你现在可以使用 `nano` 或其他命令,但一旦退出 `sh` 环境,这些更改将不再存在,因此你需要编辑环境变量在另一个位置。

#### 使用直接命令创建或编辑 `.bashrc`

1. 使用 `echo` 命令来创建或修改 `~/.bashrc`,将 PATH 环境变量写入到该文件中(使用 `printf`,因为我们无法用编辑器):
   ```sh
   echo 'export PATH="/usr/bin:/bin:$PATH"' >> ~/.bashrc
   ```

2. 退出 `sh` 环境:
   ```sh
   exit
   ```

3. 运行以使更改生效(若有必要的话):
   ```bash
   source ~/.bashrc
   ```

4. **验证**:
   回到原来的终端会话中,检查 `PATH` 是否已经更新:
   ```bash
   echo $PATH
   ```

5. 然后再次尝试使用 `nano` 或其他命令。

### 如果上述方法仍然无效

如果你依然遇到问题,你可以考虑直接以 `root` 用户身份登录(如果你有权限的话),然后修改 `PATH` 环境变量,或通过其他方式修复系统配置。这可能涉及到系统恢复或使用安装介质进行修复。

由于你的 `PATH` 环境变量缺少 `/usr/bin` 和 `/bin`,你无法使用大多数基本命令,包括 `sh`。要解决这个问题,可以尝试以下几个步骤:

### 方法 1:通过完全路径运行程序

如果你看到错误消息说明没有找到命令,尝试直接通过完整路径执行命令:

1. 直接尝试运行以下命令查看 `bash` 或其他 shell 是否可用:
   ```bash
   /bin/bash
   ```

2. 在新的 shell 环境中,手动设置 `PATH`:
   ```bash
   export PATH="/usr/bin:/bin:$PATH"
   ```

3. 检查 `PATH` 是否更新:
   ```bash
   echo $PATH
   ```

4. 尝试运行 `nano`:
   ```bash
   /usr/bin/nano
   ```

### 方法 2:使用其他命令行工具

如果你不能使用任何 shell,可以尝试以下方法:

1. **进入恢复模式**(Recovery Mode):
   - 重启系统。
   - 在启动时按住 `Shift` 键以进入 Grub 菜单。
   - 选择带有 `(recovery mode)` 标签的项。
   - 选择 "Drop to root shell prompt" 进入 root shell。

2. 如果直接进入 shell,你可以通过编辑 `.bashrc` 文件或者临时设置 `PATH`:
   ```bash
   export PATH="/usr/bin:/bin"
   ```

3. 进行必要的更改后,重启系统。

### 方法 3:使用 Live USB

如果以上方法都无法解决问题,你可能需要使用 Linux 的 Live USB:

1. **创建一个启动 USB**:从另一台计算机下载 Linux 的 ISO 镜像并制作 USB 启动盘。

2. **启动到 Live 环境**:将 USB 插入你的计算机并从它启动。

3. **挂载你的根文件系统**:在 Live 环境中打开终端,并运行以下命令以挂载你的磁盘:
   ```bash
   sudo fdisk -l          # 识别你的根分区,例如 /dev/sda1
   sudo mount /dev/sda1 /mnt
   ```

4. **修改文件**:进入到挂载目录并编辑你的 `.bashrc` 文件:
   ```bash
   sudo nano /mnt/home/tom/.bashrc
   ```
   在文件中添加以下内容:
   ```bash
   export PATH="/usr/bin:/bin:$PATH"
   ```

5. **卸载和重启**:
   ```bash
   sudo umount /mnt
   reboot
   ```

在重新启动后,希望 `PATH` 能够正确配置,允许你访问基本命令。希望这些方法能够帮助到你!如果有任何问题,请随时告诉我。
 

最终解决方法是:

设置临时变量回复下列命令: export PATH=”$PATH:/bin:/usr/bin

 linux下ls命令不见了 • Worktile社区icon-default.png?t=N7T8https://worktile.com/kb/ask/462317.html#:~:text=PATH%20%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E9%97%AE%E9%A2%98%EF%BC%9Als%20%E5%91%BD%E4%BB%A4%E5%9C%A8%20%2Fbin%20%E6%88%96%20%2Fusr%2Fbin%20%E7%9B%AE%E5%BD%95%E4%B8%8B%EF%BC%8C%E5%A6%82%E6%9E%9C%E8%BF%99%E4%BA%9B%E7%9B%AE%E5%BD%95%E6%B2%A1%E6%9C%89%E5%9C%A8%20PATH,%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95%E6%98%AF%E5%9C%A8%E5%91%BD%E4%BB%A4%E8%A1%8C%E8%BE%93%E5%85%A5%20export%20PATH%3D%E2%80%9D%24PATH%3A%2Fbin%3A%2Fusr%2Fbin%E2%80%9D%20%EF%BC%8C%E5%B0%86%E7%BC%BA%E5%B0%91%E7%9A%84%E7%9B%AE%E5%BD%95%E6%B7%BB%E5%8A%A0%E5%88%B0%20PATH%20%E5%8F%98%E9%87%8F%E4%B8%AD%EF%BC%8C%E5%B9%B6%E4%BD%BF%E5%85%B6%E6%B0%B8%E4%B9%85%E7%94%9F%E6%95%88%E5%8F%AF%E4%BB%A5%E5%9C%A8%20~%2F.bashrc%20%E6%96%87%E4%BB%B6%E4%B8%AD%E6%B7%BB%E5%8A%A0%E8%AF%A5%E8%A1%8C%E3%80%82

要将 `python3` 命令修改为 `python` 命令,你可以使用以下步骤来创建一个别名或使用符号链接。以下是两种常见的方法:

### 方法 1:使用 bash 别名

1. 打开你的终端。
2. 编辑 `.bashrc` 文件(如果你使用的是 bash shell)或 `.bash_profile` 文件(如果你使用的是 zsh 或其他 shell)。你可以使用 `nano`、`vim` 或其他编辑器:
   ```bash
   nano ~/.bashrc
   ```

3. 在文件的末尾添加以下行:
   ```bash
   alias python=python3
   ```

4. 保存并退出编辑器(在 `nano` 中,按 `CTRL + X`,然后按 `Y` 保存)。
5. 运行以下命令以使更改生效:
   ```bash
   source ~/.bashrc
   ```

### 方法 2:创建符号链接

如果你希望 `python` 命令直接指向 `python3`,你可以创建一个符号链接:

1. 打开终端。
2. 运行以下命令:
   ```bash
   sudo ln -s /usr/bin/python3 /usr/bin/python
   ```

   这个命令将创建一个名为 `python` 的符号链接,指向 `python3`。请确保 `/usr/bin/python3` 是正确的路径,可以使用 `which python3` 查找。

3. 输入密码(因为这是一个需要特权的命令)。

### 确认更改

无论你选择了哪种方法,可以通过运行以下命令来确认更改是否有效:
```bash
python --version
```

如果设置正确,输出应显示 Python 3 的版本信息。

### 注意事项

- 确保你的系统中安装了 `python3`。
- 如果你使用了其他 shell(如 zsh),你需要在相应的配置文件(如 `~/.zshrc`)中做出更改。
- 修改全局 `/usr/bin` 目录下的内容需要小心,因为这可能影响系统中其他程序的行为。

`alias python=python3` 是一个命令,用于在 Unix/Linux 系统的命令行中创建一个别名(alias)。具体来说,它的意思是:

- **alias**:这是一个命令,用于创建一个新的命令的别名。

- **python**:这是你希望创建别名的命令名。在这个例子中,你希望输入 `python` 来执行某个命令。

- **python3**:这是你希望 `python` 别名所指向的实际命令。在这里,`python3` 是系统中安装的 Python 3 的命令。

### 总结
通过执行 `alias python=python3`,你可以在终端中输入 `python`,而实际上它会执行 `python3` 命令。这对于希望在命令行中使用 `python` 来调用 Python 3 的用户特别有用,因为某些系统可能默认安装 `python` 命令指向 Python 2。

例如,在终端中输入:
```bash
python
```
将会启动 Python 3 解释器,而不需要手动输入 `python3`。这样可以提高使用的便利性,尤其是在父本代码或脚本中需要依赖 `python` 命令的情况下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/874602.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在 CentOS 7 上安装 Docker 并安装和部署 .NET Core 3.1

1. 安装 Docker 步骤 1.1:更新包索引并安装依赖包 先安装yum的扩展,yum-utils提供了一些额外的工具,这些工具可以执行比基本yum命令更复杂的任务 sudo yum install -y yum-utils sudo yum update -y #更新系统上已安装的所有软件包到最新…

使用 Socket和动态代理以及反射 实现一个简易的 RPC 调用

使用 Socket、动态代理、反射 实现一个简易的 RPC 调用 我们前面有一篇 socket 的文章,再之前,还有一篇 java动态代理的文章,本文用到了那两篇文章中的知识点,需要的话可以回顾一下。 下面正文开始: 我们的背景是一个…

【Linux网络】epoll模型构建Reactor_Tcp服务器{协议/客户端/bind/智能指针}

文章目录 1.std::enable_shared_from_this<TcpServer>2.std::bind3.std::make_shared4.std::shared_ptrstd::shared_ptr 和 std::weak_ptr配合使用 5.剖析代码6.整体代码Calculator.hppClientCal.ccCMakeLists.txtCommon.hppEpoller.hppLog.hppMain.ccnocopy.hppProtocol…

YOLOv8预测时报错ValueError

【问题描述】执行YOLOv8预测代码时&#xff1a; # 导入训练好的权重文件做预测 from ultralytics import YOLO# Load a pretrained YOLOv8n model model YOLO("/data/yolov8/runs/detect/train6/weights/best.pt")# Run inference on bus.jpg with arguments model…

四大引用——强软弱虚

目录 一、强引用 二、软引用 三、弱引用 四、虚引用 一、强引用 强引用是在程序代码之中普遍存在的&#xff0c;类似于“Object obj new Object()”&#xff0c;obj变量引用Object这个对象&#xff0c;就叫做强引用。当内存空间不足&#xff0c;Java虚拟机宁愿抛出OutOfMe…

使用 Redis 实现验证码、token 的存储,用自定义拦截器完成用户认证、并使用双重拦截器解决 token 刷新的问题

基于session实现登录流程 1.发送验证码 用户在提交手机号后&#xff0c;会校验手机号是否合法&#xff0c;如果不合法&#xff0c;则要求用户重新输入手机号 如果手机号合法&#xff0c;后台此时生成对应的验证码&#xff0c;同时将验证码进行保存&#xff0c;然后再通过短信…

安防视频监控EasyCVR视频汇聚平台修改配置后无法启动的原因排查与解决

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台基于云边端一体化架构&#xff0c;兼容性强、支持多协议接入&#xff0c;包括国标GB/T 28181协议、部标JT808、GA/T 1400协议、RTMP、RTSP/Onvif协议、海康Ehome、海康SDK、大华SDK、华为SDK、宇视SDK、乐橙SDK、萤石云SD…

Linux学习第55天:Linux 4G 通信实验(更快、更高、更强)

Linux版本号4.1.15 芯片I.MX6ULL 大叔学Linux 品人间百味 思文短情长 无论是有线网络还是WiFi都是摆脱不了布线的尴尬&#xff0c;而4G通信可以彻底拜托网线的束缚&#xff0c;实现无线网络通信。 而说到4G就不得不提到5G&#xff0c;中…

关于css中flex布局垂直居中失效问题的原因

项目中遇到用flex进行页面布局后&#xff0c;使用上下居中设置&#xff1a;align-item: center; 目标效果如下&#xff1a; 但是失效&#xff0c;不起作用&#xff0c;如下图所示&#xff1a; 各种排查过后发现设置了子模块 align-self 属性&#xff0c;这会覆盖容器上的 al…

Cesium 实战 - 自定义纹理材质系列之 - 半球雷达效果(预警)

Cesium 实战 - 自定义纹理材质系列之 - 半球雷达效果(预警) 核心代码完整代码在线示例Cesium 给实体对象(Entity)提供了很多实用的样式,基本满足普通项目需求; 但是作为 WebGL 引擎,肯定不够丰富,尤其是动态效果样式。 对于实体对象(Entity),可以通过自定义材质,…

微软蓝屏事件警示录:网络安全风险应对与行业协同策略探讨

“微软蓝屏”事件暴露了网络安全哪些问题&#xff1f; 近日&#xff0c;一次由微软视窗系统软件更新引发的全球性“微软蓝屏”事件&#xff0c;不仅成为科技领域的热点新闻&#xff0c;更是一次对全球IT基础设施韧性与安全性的深刻检验。这次事件&#xff0c;源于美国电脑安全…

mysql高阶语句:

mysql高阶语句&#xff1a; 高级语法的查询语句&#xff1a; select * from 表名 where limitsdistinct 去重查询like 模糊查询 排序语法&#xff1a;关键字排序 升序和降序 默认的排序方式就是升序 升序&#xff1a;ASC 配合order by语法 select * from 表名…

socket和websocket区别

Socket和‌WebSocket的主要区别在于它们的定义、功能和应用场景。 定义与功能&#xff1a; Socket 是一个系统调用接口&#xff0c;它允许应用程序通过TCP/IP协议进行网络通信。Socket本身不是协议&#xff0c;而是一组接口&#xff0c;用于使用TCP/UDP等传输层协议。‌12WebSo…

Memcached的冗余机制与节点失效应对策略

Memcached的冗余机制与节点失效应对策略 引言 Memcached是一种高性能的分布式内存对象缓存系统&#xff0c;用于加速动态Web应用程序&#xff0c;减轻数据库负载。然而&#xff0c;在分布式环境中&#xff0c;节点失效和数据丢失是常见的挑战。本文将通过具体代码示例&#x…

Python爬虫掌握-----4实战(爬取视频)

我们使用爬虫时难免会遇到爬取视频的情况&#xff0c;其实爬取图片视频&#xff0c;内容都是一样的。这里以b站视频为例。 一、开始 1.找到url&#xff0c;请求url 防盗链&#xff0c;需要写在UA伪装中 正常的三步&#xff1a; 1.url 2.requests请求 3.UA伪装 import req…

docker基于外部缓存加速构建方案

开启外部缓存 http://your_apt_cacher_ng_server:3142 是一个示例 URL&#xff0c;表示需要设置的 apt-cacher-ng 代理服务器的地址。apt-cacher-ng 是一个本地代理服务器&#xff0c;可以缓存从官方 APT 仓库下载的软件包&#xff0c;从而加速后续的下载过程&#xff0c;并减…

linux c 递归锁的介绍

递归锁的递归特性确实只是对于持有锁的线程。当一个线程获取了递归锁后&#xff0c;它可以多次重复获取该锁&#xff0c;而不会导致自身阻塞或死锁。这是递归锁的重要特点&#xff0c;它允许同一个线程在已经持有锁的情况下&#xff0c;再次获取相同的锁。 然而&#xff0c;对…

Zabbix基本介绍

文章目录 一、监控为什么需要监控需要监控什么Zabbix使用场景及系统概述zabbix介绍Zabbix功能Zabbix架构Zabbix术语 二、部署安装编译安装 一、监控 为什么需要监控 监控功能 在需要的时刻&#xff0c;提前预警即将出问题,避免故障发生。实时监控系统和业务,当出问题之后&am…

在本地远程访问云Linux服务器部署的tomcat管理控制台

样例: 我们将创建一个 SSH 隧道&#xff0c;将本地计算机的端口映射到远程服务器的端口,以达到在本地的windows系统中访问云Linux中tomcat的管理控制台的目的 1.打开终端,输入以下字段 ssh -L 8080:localhost:8080 userserver_ip 其中各项代表的值为: -L [local_port]:[remo…

Android11 framework 禁止三方应用通过广播开机自启动-独立方案

之前的文章Android11 framework 禁止三方应用开机自启动记录了我调试Android11应用自启动限制的全过程&#xff0c;但是之前的方案感觉还能再研究&#xff0c;所以有了这一篇文章。 这一篇文章主要探讨Android11上&#xff0c;以广播来进行自启动的应用的限制&#xff0c;极个别…