解决 commnd not find

本文详细介绍了如何解决Linux环境下命令fdisk不在命令搜索路径中的问题,包括通过添加到当前命令搜索路径和使用su命令两种方法进行解决,并提供了执行fdisk命令的示例。

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

原因:命令fdisk 不在你的命令搜索路径中

第一种解决办法,将fdisk添加到你的命令搜索路径中

方法如下:

先查看你当前的命令搜索路径:

[root@localhost sbin]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/vincent/bin
再查一下fdisk命令在哪个路径下

[root@localhost home]# whereis fdisk
fdisk: /sbin/fdisk /usr/share/man/man8/fdisk.8.gz

我们可看到fdisk 命令不再当前命令搜索路径里

那么我们将fdisk添加到当前命令搜索路径中即可

ln -s /sbin/fdisk /usr/kerberos/bin

好现在已经将fdisk 添加到当前命令搜索目录中去,我们可以去看一下

[root@localhost home]# cd /usr/kerberos/bin
[root@localhost bin]# ls
fdisk gss-client kinit kpasswd     krlogin ksu   rcp     rsh         telnet    v4rcp
ftp    kdestroy    klist krb524init krsh     kvno rlogin sim_client uuclient
[root@localhost bin]# cd /usr/kerberos/bin
[root@localhost bin]# ll
total 836
lrwxrwxrwx 1 root root     11 Aug 21 23:46 fdisk -> /sbin/fdisk
-rwxr-xr-x 1 root root 101596 Nov 25 2008 ftp
-rwxr-xr-x 1 root root 16212 Nov 25 2008 gss-client
-rwxr-xr-x 1 root root   6864 Nov 25 2008 kdestroy
-rwxr-xr-x 1 root root 22536 Nov 25 2008 kinit
-rwxr-xr-x 1 root root 18364 Nov 25 2008 klist
-rwxr-xr-x 1 root root   6880 Nov 25 2008 kpasswd
-rwxr-xr-x 1 root root   6520 Nov 25 2008 krb524init
-rwxr-xr-x 1 root root     43 Nov 25 2008 krlogin
-rwxr-xr-x 1 root root     40 Nov 25 2008 krsh
-rwsr-xr-x 1 root root 147663 Nov 25 2008 ksu
-rwxr-xr-x 1 root root 10072 Nov 25 2008 kvno
-rwxr-xr-x 1 root root 43396 Nov 25 2008 rcp
-rwxr-xr-x 1 root root 39696 Nov 25 2008 rlogin
-rwxr-xr-x 1 root root 29792 Nov 25 2008 rsh
-rwxr-xr-x 1 root root   9172 Nov 25 2008 sim_client
-rwxr-xr-x 1 root root 215752 Nov 25 2008 telnet
-rwxr-xr-x 1 root root   8684 Nov 25 2008 uuclient
-rwxr-xr-x 1 root root 42607 Nov 25 2008 v4rcp

好现在运行一下fdisk 看看

[root@localhost ~]# fdisk -l

Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id System
/dev/sda1   *           1           6       48163+ 83 Linux
/dev/sda2               7         515     4088542+ 83 Linux
/dev/sda3             516         949     3486105   83 Linux
/dev/sda4             950        1044      763087+   5 Extended
/dev/sda5             950        1044      763056   82 Linux swap / Solaris

成功,因为用的是虚拟机,所以看不到其他盘。

第二种方法:

超级简单,使用 $ su -

命令即可。

[vincent@localhost grub]$ su -
Password:
[root@localhost ~]# fdisk -l

Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id System
/dev/sda1   *           1           6       48163+ 83 Linux
/dev/sda2               7         515     4088542+ 83 Linux
/dev/sda3             516         949     3486105   83 Linux
/dev/sda4             950        1044      763087+   5 Extended
/dev/sda5             950        1044      763056   82 Linux swap / Solaris


### 解决方案 在 Windows 系统下的 Git Bash 中遇到 `deepspeed: command not found` 的问题,主要是由于 Conda 环境未被正确激活所致。以下是详细的解决方案: #### 1. 初始化 Conda 环境 Git Bash 默认不会加载 Conda 的初始化脚本,因此需要手动设置 Conda 路径以便激活环境。可以通过以下方式解决此问题: ```bash source /path/to/anaconda3/etc/profile.d/conda.sh ``` 上述命令的作用是引入 Conda 的初始化脚本[^1]。 #### 2. 激活目标 Conda 环境 一旦成功加载了 Conda 初始化脚本,就可以通过以下命令激活包含 DeepSpeed 的 Conda 环境: ```bash conda activate your_env_name ``` 其中 `your_env_name` 是指安装有 PyTorch 和 DeepSpeed 的具体 Conda 环境名称。 #### 3. 验证 DeepSpeed 安装 为了确认 DeepSpeed 是否已正确安装,在激活环境中可以运行以下命令来验证其可用性: ```bash deepspeed --help ``` 如果显示帮助信息,则说明 DeepSpeed 已经正常工作;否则可能需要重新检查 DeepSpeed 的安装过程。 #### 4. 如果仍然无法识别 DeepSpeed 命令 假如按照以上步骤操作后仍存在 `command not found` 错误,可能是路径变量未更新或者 DeepSpeed 并未完全安装到当前环境下。此时可考虑重新安装 DeepSpeed 或者调整 PATH 变量以确保能够定位到 DeepSpeed 执行文件的位置。通常情况下,DeepSpeed 的二进制文件会被放置于 `$CONDA_PREFIX/bin` 下面,所以应该保证这个目录存在于系统的 PATH 当中。 另外需要注意的是,某些特殊 Python 库(比如 PyDap)可能会因包管理器渠道受限而导致安装失败的情况发生,这与本文讨论的主题有所不同,但如果涉及类似的依赖项缺失问题也可以参照相关方法处理[^2]。 最后附上一段简单的测试代码用于检验整个流程是否顺畅无阻: ```python import torch from transformers import AutoModelForCausalLM, AutoTokenizer model = AutoModelForCausalLM.from_pretrained("gpt2", revision="main") tokenizer = AutoTokenizer.from_pretrained("gpt2") def generate_text(prompt): inputs = tokenizer.encode_plus(prompt, return_tensors='pt') outputs = model.generate(inputs['input_ids'], max_length=50) result = tokenizer.decode(outputs[0], skip_special_tokens=True) print(result) if __name__ == "__main__": prompt = "Once upon a time" generate_text(prompt) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值