Linux之搜索路径PATH


外部和内部命令

shell的命令分为两种:内部命令和外部命令

  • 内部命令:简称builtin,由shell自身解析并执行,在shell自己的进程内执行
  • 外部命令:shell会去搜索路径中检索相应的程序,然后新开一个进程去执行该命令。

如果要查看一个命令是外部还是内部命令,可以使用type,语法如下

type command

例如

type date time set

输出为:

date is /usr/bin/date
time is a shell keyword
set is a shell builtin

其中date是外部命令


搜索路径PATH

shell在执行外部命令时,回去指定的路径查找程序,这个路径存放在环境变量PATH中,称为搜索路径。可以使用echo命令查看内容

echo $PATH

修改PATH

对于Bash,可以使用如下命令来修改

export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"

其中每个路径间使用冒号:隔开

不过我们通常只需要新增路径,不会去修改里面的内容,所以通常我们会这么写

export PATH="$PATH:/xxx/bin"

这样就可以将/xxx/bin添加到搜索路径的末尾。shell是依次去查找搜索路径的,如果你的命令正好与已有的命令重名,也可以添加到开头。

为了方便,可以将当前工作目录也添加到搜索路径中,但是对于系统管理员用户最好不要这么做,容易出事。

export PATH="$PATH:."

tip:双引号为弱引用,会保留美元$、反斜杠\、反引号`的特殊含义

Linux之搜索路径PATH相关推荐

  1. linux anaconda搜索路径,Anaconda安装及虚拟环境搭建教程(linux)

    1.下载:Anaconda3 https://www.anaconda.com/download/#linux 2.安装命令: 切换至安装包所在目录,执行以下命令: bash Anaconda3-5. ...

  2. linux path环境变量检索目录,Linux下动态链接库加载路径及搜索路径问题

    引子 近日,服务器迁移后,偷懒未重新编译nginx的,直接./nginx启动,结果遇到如下问题: "error while loading shared libraries" 这是 ...

  3. 修改系统路径 linux,Linux修改sudo的PATH路径的解决方法

    众所周知,Linux系统sudo命令可以搜索PATH下的命令,但是有时候明明PATH下有某些命令,为什么sudo就是搜索不到.这可能是因为Linux自动对PATH进行重置,改变了sudo命令搜索的路径 ...

  4. Linux下gcc编译中关于头文件与库文件搜索路径相关问题

    如何指定GCC的默认头文件路径 网上偶搜得之,以之为宝:) 原地址:http://blog.chinaunix.net/u/28781/showart.php?id=401631 ========== ...

  5. [转]Linux C语言头文件搜索路径

    转自:http://hi.baidu.com/ilonng/blog/item/a0232435fbcfb90490ef390d.html/cmtid/68d4ab7bbb8026fb0ad187be ...

  6. linux e盘路径,Linux添加路径到PATH环境变量

    Linux添加路径到PATH环境变量 一.PATH环境变量 ​PATH变量是Linux系统存储可执行文件搜索路径的地方,等价于Windows系统的Path变量,由于其他操作系统我没用过,不清楚详细情况 ...

  7. Linux c编译库路径,【一点一点学Linux C】交叉编译时候如何配置连接库的搜索路径...

    交叉编译的时候不能使用本地(i686机器,即PC机器,研发机器)机器上的库,但是在做编译链接的时候默认的是使用本地库,即/usr/lib,/lib两个目录.因此,在交叉编译的时候,要采取一些方法使得在 ...

  8. 【Python】Python3.7.3 - sys.path 模块搜索路径详解

    文章目录 系统参考 sys.path - 模块搜索路径 用户站点目录(user site directory) 安装包到用户站点目录 第三方站点目录 site.py介绍 python启动选项 PYTH ...

  9. linux vim配置头文件搜索路径

    linux vim配置头文件搜索路径 根目录下 修改 etc/profile 文件结尾处加 set path=.,/usr/include,,/usr/include/c++/** //**搜索子目录 ...

最新文章

  1. 数据结构与算法——线性结构——线性表及其表示
  2. 用 Handler 轻松实现专属Android定时器
  3. Linux_Command
  4. 【机器学习基础】通俗易懂无监督学习K-Means聚类算法及代码实践
  5. Spring 社区的唯一一个国产开源项目 - Spring Cloud Alibaba 毕业了
  6. shell命令执行操作仍需点击y确认问题的处理
  7. 面向接口编程在Java web 三层架构的应用与使用工厂模式解决问题
  8. python etree创建xml_python-如何使用xml.etree.Element编写XML声明
  9. caffee 安装教程
  10. eclipse中文版官方下载
  11. android 判断手机计步_Android_基于G-Sensor的计步算法
  12. [转]Windows10 中文版 英文语言包安装失败解决
  13. Vue.filter过滤器存储单位换算按KB 、M、 G显示字节大小
  14. 阿里巴巴宣布5.4亿战略投资中国万网==互联网电子商务绑定互联网基础服务为手机电子商务开拓铺路
  15. ADSL拨号上网和宽带上网有什么区别?
  16. opencv4.5.2嵌入式移植
  17. Julia 数学运算和初等函数
  18. 微信开发者平台应用创建
  19. html文字段落缩进,CSS text-indent段落首行文字缩进分享
  20. 英语语法汇总(14.it的用法)

热门文章

  1. 程苓峰:百度转舵掉头学腾讯?
  2. 斗地主游戏Landlord
  3. 手把手带你玩转Spark机器学习-使用Spark进行数据处理和数据转换
  4. 干货分享:在Windows下使用Visual Studio搭建C语言开发环境
  5. 如何debug Vue源码
  6. oracle查看时间戳函数,oracle数据库实现获取时间戳的无参函数
  7. 快速获取颜色的RGB或十六进制码(取色技巧)
  8. 如何免费将OFD转成PDF
  9. 03.深入认识 HTTP 的特性
  10. matlab学习笔记之——符号函数应该怎么作图?