Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Bash: Command Not Found命令未找到

Bash: Command Not Found命令未找到

作者头像
入门笔记
发布于 2022-06-02 10:58:44
发布于 2022-06-02 10:58:44
6.2K00
代码可运行
举报
文章被收录于专栏:入门小站入门小站
运行总次数:0
代码可运行

当你不熟悉Linux时,很多事情可能会让人不知所措。但是当你了解问题的根本原因时,它会逐渐提高你的知识。command not found命令未找到的错误通常没有直接的解决方案。这里给你一些提示和指示,这应该可以帮助你排除故障。

在本教程中我们将探讨bash: command not found命令未找到的原因以及解决方法。我们将以ipconfig命令为例说明错误的原因。并提出三种解决方法,包括:确定是否存在拼写错误,确保该命令已安装在你的系统上,使用apt,yum,dnf命令安装你需要的命令,检查可执行脚本路径是否正确,检查命令是否在PATH环境变量的路径中。

解决bash: command not found

在Linux中使用命令时,你希望看到输出。但有时,你会遇到终端打印command not found未找到命令的错误。例如当你使用ipconfig命令时,终端的输出如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ipconfig
-bash: command not found: ipconfig

此错误没有简单的单一解决方案。你必须自己尝试解决这些错误。根据错误的提示分析原因。有时候错误提示也直接说明它原因。比如这个bash: command not found命令未找到,错误已经给出了提示。你的shell找不到你输入的命令。

发生bash: command not found命令未找到的错误,这有可能你的命令名称拼写错误,或者你没有安装,命令已经安装但不在你PATH环境变量的路径中。

确定是否存在拼写错误

人会犯错,特别是在打字时。你输入的命令可能有拼写错误。你应该首先确认自己是否拼写错误,接下来确定命令及其选项之间的空格,大写和小写字符的使用。这是一种最简单的方式。

确保该命令已安装在你的系统上

这是bash: command not found命令未找到错误,另一个常见原因。如果尚未安装,则无法运行命令。

虽然你的Linux发行版默认安装了大量命令,但不可能在系统中预安装所有命令行工具。如果你尝试运行的命令不是流行的常用命令,则必须使用发行版的包管理器来安装它apt命令,dnf命令或者yum命令。

在某些情况下,流行的命令可能会停止使用,你甚至可能不能再安装它。你必须找到一个可替代的命令。

以ifconfig命令为例。这个不推荐使用的命令用于获取IP地址和其他网络接口信息。网络上较旧的教程仍然提到使用此命令,但你不能再在较新的Linux版本中使用它。它已被ip命令取代。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ipconfig
-bash: command not found: ipconfig

有时,你的系统甚至找不到极其常见的命令。当你在Docker容器中运行Linux发行版时,通常会出现这种情况。为了减少操作系统镜像的大小,容器通常甚至不包含最常见的Linux命令。这就是Docker用户偶然发现bash: command not found: ping命令未找到错误的原因。

因此,解决方案是要么安装缺少的命令,要么找到一个可替代的工具,该工具可以获得你所需要的结果即可。

检查可执行脚本路径是否正确

这是Linux新手在运行shell脚本时常犯的错误。即使你在同一目录中并尝试仅按其名称运行可执行脚本,它也会显示错误。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
root@debian-test:~/scripts# sample
-bash: sample: command not found

你需要明确指定shell解释器或其绝对路径。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
root@debian-test:~/scripts# ./sample
hello world

如果你在其他目录中并尝试执行shell脚本而不提供文件的正确路径,shell会提示command not found命令未找到。

检查命令是否在PATH环境变量的路径中

在某些情况下,你下载的软件是一个tar文件,将其解压缩并找到一个可执行文件以及运行程序所需的文件。你可以使用相对路径来启动这个程序。但当你使用cd命令切换其它目录时,需要执行此命令,你必须指定该程序的可执行文件整个路径。

在这里,你可以使用PATH环境变量。这个变量有一个目录集合,这些目录有各种Linux命令的二进制(可执行)文件。当你运行命令时,你的Linux系统的shell会检查PATH环境变量以查找该命令的可执行文件。

你可以使用以下which命令检查命令二进制文件的位置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
which zsh
##output
/usr/bin/zsh

which ping
##output
/usr/bin/ping

如果要从系统上的任何位置运行可执行文件或脚本,则需要将文件的位置添加到 PATH环境变量中。然后需要将PATH变量添加到shell的.bashrc或者.zshrc文件中。这样对PATH环境变量所做的更改是永久性的,即使重启后也不需要重新加入到PATH环境变量中。

也许你已经知道Linux如何找到你要运行的命令。当Linux系统shell执行你指定的命令时。你要么在运行时提供相对路径或者绝对路径,要么命令所在目录的位置添加到PATH环境变量中。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-02-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 入门小站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
Linux/UNIX 下 “command not found” 原因分析及解决
在使用 Linux/UNIX 时,会经常遇到 “command not found” 的错误,就如提示的信息,Linux /UNIX 没有找到该命令。原因无外乎你命令拼写错误或 Linux/UNIX 系统就没有安装该命令。
叨叨软件测试
2020/04/14
8.2K0
which命令
which命令用于标识在终端提示符下键入可执行文件名称或命令时执行的给定可执行文件的位置,该命令在PATH环境变量中列出的目录中搜索作为参数指定的可执行文件。
WindRunnerMax
2020/09/16
9350
Linux 命令行下的好东西
现在做网站做移动应用最讲究的就是推广了,推广做的好那就成功了一大半,相对的没曝光产品再好也很难做下去。就这个角度而言绝大多数 Linux 命令行的推广简直是烂透了。繁多 Linux 有用极了的命令行工具就静静的躺在你发行版默认安装的包裹里,很多时候只有当你碰到什么问题的时候网上搜一圈才能知道。更蛋疼的是这里面很多东西你一旦知道了就会想我靠原来没这个到底是怎么过的下去。所以这里我会列出一些我用过的一些,大部分发行版默认就有,或者能用包裹管理工具轻松获取的东西。
用户6543014
2019/10/25
1.4K0
linux 学习笔记七
来自实验楼的学习笔记,文字基本复制,粘贴。 下载了一个录制gif图的软件,还不错 参考与:在Linux(Ubuntu)下超好用的录屏gif软件!!安装教程 一些有用的命令 which命令 w
热心的社会主义接班人
2018/04/27
9090
linux 学习笔记七
which(1) command
which 可指定一个或多个参数。对于它的每个参数,它将可执行文件的完整路径打印到 stdout。它通过使用与 bash(1) 相同的算法在环境变量 PATH 中列出的目录中搜索可执行文件或脚本来实现这一点。
恋喵大鲤鱼
2023/10/12
1840
Linux学习命令汇总一——Linux程序管理,终端类型及命令获取帮助方式
冯诺依曼理论,五大部件:CPU —— 运算器、控制器, 存储器,输入设备,输出设备。
兔云小新LM
2019/07/22
1.3K0
Linux下环境变量配置方法梳理(.bash_profile和.bashrc的区别)
在linux系统下,如果下载并安装了应用程序,在启动时很有可能在键入它的名称时出现"command not found"的提示内容。如果每次都到安装目标文件夹内,找到可执行文件 来进行操作就太繁琐了,这种情况下就涉及到环境变量PATH的设置问题,而PATH的设置也是在linux下定制环境变量的一个组成部分。 环境变量配置的两个方法: 1)修改/etc/profile文件 推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,缺点是可能会给系统带来安全性问题。 这里是针对所有的用户的,所有的she
洗尽了浮华
2018/01/23
2.2K0
Linux入门学习笔记
1. 指令、选项或参数之间不论空几个格, shell 都视为一个空格。 2. 指令太长时,可以使用“ \ ”(反斜杠)符号使指令连续到下一行。 3. Linux 环境下,字母区分大小写。 4. shell 就是用户接口, Linux 下默认的用户接口就是 bash shell 。 5. 如果想让当前程序终止,可以键入ctrl+c,这就是中断当前程序的按键。( q :有很多程序在运行时,如果想跳出来,按下 q 即可!) 6. 如: drwxr--r-- 3 root root 4096 Jun 25 08:3
牛客网
2018/04/28
1.3K0
Linux入门学习笔记
跟萌老师学Linux的第5天
Linux系统环境 • 查看CPU信息:lscpu • 查看内存信息:free -h • 查看硬盘信息:df -h • 查看文件大小:du -h -d 1 • 查看文件大小:du -sh ~ • 查看系统进程与任务: • top • htop(top的升级版,但是需要安装,系统不自带) • ps -ef • jobs (只在命令运行的当前窗口起效) 文件系统结构 / 虚拟目录的根目录。通常不会在这里存储文件 /bin 二进制目录,存放许多用户级的GNU工具 /boot 启动目录,存放启动文件 /dev 设备
贝诺酯
2023/03/28
5370
(22)Bash环境变量
用户自定义变量只在当前的Shell中生效,而环境变量会在当前Shell和这个Shell的所有子Shell当中生效。如果把环境变量写入相应的配置文件,那么这个环境变量就会在所有的Shell中生效。
生信real
2020/08/26
7560
环境变量与命令行参数详解
​ 我们将其运行编译并生成为可执行文件 myproc ,当我们要运行它的时候,都得在这个可执行文件前面加一个 ./ 这是为什么?
利刃大大
2023/04/12
1.5K0
环境变量与命令行参数详解
Linux 命令行下的好东西
这篇文章仅讨论 Linux 环境下的东西,很显然对 MacOS 也适用。其实很多东西虽然有 Windows 也可以找的到但配置比较麻烦,这里不再仔细讲。很多东西像 Linux 老鸟看起来会觉得实在是太基础。但是像 cd, ls, mkdir 这些太基础的写在这里又显得太业余,所以很多十分常用的命令这边我也跳过了。像 git 这种重量级的工具,和 sed, awk 这些能单独出书的东西我觉得我也讲不清楚,所以这边都是功能简单的小东西。不过这些小问题就算了吧...
Bug开发工程师
2020/03/12
1.4K0
Linux 操作系统下的环境变量设置
Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变量的定义。用户可以对自己的运行环境进行定制,其方法就是修改相应的环境变量。
授客
2019/09/12
3.7K0
Linux 操作系统下的环境变量设置
了解和学习基本Shell脚本和Linux文件系统疑难解答 - 第10部分
当我们首次启动一个shell时,它提供一个命令提示符(也称为命令行),告诉我们shell已经准备好开始接受来自其标准输入设备的命令,这通常是键盘。
用户2323866
2021/06/18
7800
Linux系统之which命令的基本使用
文章名《Redis高可用(cluster集群):从单点故障到集群弹性扩展》 作者:Lion Long
江湖有缘
2024/11/21
1050
Linux系统之which命令的基本使用
详解sh ndk-build.cmd command not found
在Android NDK开发中,有时候会遇到一个常见的错误:sh ndk-build.cmd command not found。这个错误通常出现在使用Windows操作系统进行NDK编译时。
大盘鸡拌面
2024/01/19
5010
Debian12 -bash: sudo: command not found 解决方法
今天把一台VPS重装为Debian12系统,在安装某程序的时候发现,居然找不到sudo命令
陌涛
2024/07/11
4.5K0
Bash Shell
shell为用户与Kernel之间的一个接口:shell主要是一个命令解释器,它接受并解释用户输入的命令,然后将这些命令传给内核,最后由内核来执行这些命令。Bourn shell是现在所有shell的始祖,C shell增加了若干Bourn shell没有的特性,如命令行历史、别名和作业控制等。Korn shell增加了若干Bourn shell的超集,它具有类似C shell的加强功能。bash与Bourn shell兼容同时加入了csh、ksh和tcsh的一些有用的功能、GNU项目开发、也是实际上的标准Linux shell。系统中所有shell都存放在/etc/shells文件中。
狼啸风云
2019/01/18
1.6K0
-bash: ip: command not found
1、CentOS 7: [root@Centos /]# ip add -bash: ip: command not found [root@Centos /]# yum -y install initscripts 2、Linux可执行文件添加到PATH环境变量: [root@Centos /]# vim /etc/profile export PATH=路径:$PATH [root@Centos /]# source /etc/profile [root@Centos /]# echo $PATH
Linux
2019/04/07
3.4K0
Linux:进程概念(四.main函数的参数、环境变量及其相关操作)
main() 函数是 C 和 C++ 程序中的入口函数,通常用于表示程序的起始点。在 C 和 C++ 中,main() 函数可以有两种不同的形式:
是Nero哦
2024/05/25
2720
Linux:进程概念(四.main函数的参数、环境变量及其相关操作)
相关推荐
Linux/UNIX 下 “command not found” 原因分析及解决
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验