6.1.3 关于可执行文件路径的变量:$PATH

news2025/1/12 15:44:04

查阅文件属性的指令ls完整文件名为:/bin/ls(绝对路径)。

当我们在执行一个指令的时候,系统会依照PATH的设置去每个PATH定义的目录下搜寻文件名为ls的可可执行文件,如果在PATH定义的目录中含有多个文件名为ls的可可执行文件,那么先搜寻到的同名指令先被执行。

PATH(一定是大写)这个变量的内容是由一堆目录所组成的,每个目录中间用冒号(:)来隔开, 每个目录是有“顺序”之分的。仔细看一下上面的输出,你可以发现到无论是root还是dmtsai都有 /bin 或 /usr/bin 这个目录在PATH变量内,所以当然就能够在任何地方执行ls来找到/bin/ls可执行文件。/bin 在 CentOS 7 当中,就是链接到 /usr/bin 去的,以这两个目录内容会一模一样。

例题:假设你是root,如果你将ls由/bin/ls移动成为/root/ls(可用“mv /bin/ls /root”指令达成),然后你自己本身也在/root目录下, 请问(1)你能不能直接输入ls来执行?(2)若不能,你该如何执行ls这个指令?(3)若要直接输入ls即可执行,又该如何进行?答:由于这个例题的重点是将某个可执行文件移动到非正规目录去,所以我们先要进行下面的动作才行:(务必先使用 su - 切换成为root的身份)

(1)接下来不论你在那个目录下面输入任何与ls相关的指令,都没有办法顺利的执行ls了!也就是说,你不能直接输入ls来执行,因为/root这个目录并不在PATH指定的目录中, 所以,即使你在/root目录下,也不能够搜寻到ls这个指令。

(2)因为这个ls确实存在于/root下面,并不是被删除了!所以我们可以通过使用绝对路径或者是相对路径直接指定这个可执行文件文件名, 下面的两个方法都能够执行ls这个指令:

(3)如果想要让root在任何目录均可执行/root下面的ls,那么就将/root加入PATH当中即可。加入的方法很简单,就像下面这样:

上面这个作法就能够将/root加入到可执行文件搜寻路径PATH中了!不相信的话自行使用“echo $PATH”去查看吧! 另外,除了 $PATH 之外,如果想要更明确的定义出变量的名称,可以使用大括号 ${PATH} 来处理变量的调用。最后没有问题,将ls撤回到/bin下面,不然系统会挂点。

某些情况下,即使你已经将 ls 搬回 /bin 了,不过系统还是会告知你无法处理 /root/ls 。很可能是因为指令参数被高速缓存的关系。 不要紧张,只要登出 (exit) 再登陆 (su -) 就可以继续使用 ls。

例题:如果我有两个ls指令在不同的目录中,例如/usr/local/bin/ls与/bin/ls那么当我下达 ls 的时候,哪个ls会被执行?答:那还用说,就找出 ${PATH} 里面哪个目录先被查询,则那个目录下的指令就会被先执行了!所以用 dmtsai 帐号为例,他最先搜寻的是 /usr/local/bin, 所以/usr/local/bin/ls 会先被执行。

例题:为什么 ${PATH} 搜寻的目录不加入本目录(.)?加入本目录的搜寻不是也不错?答:如果在PATH中加入本目录(.)后,确实我们就能够在指令所在目录进行指令的执行了。 但是由于你的工作目录并非固定(常常会使用cd来切换到不同的目录), 因此能够执行的指令会有变动(因为每个目录下面的可可执行文件都不相同嘛!),这对使用者来说并非好事。

为了安全起见,不建议将“.”加入PATH的搜寻目录中。

不同身份使用者默认的PATH不同,默认能够随意执行的指令也不同(如root与dmtsai);

PATH是可以修改的;

使用绝对路径或相对路径直接指定某个指令的文件名来执行,会比搜寻PATH来的正确;

指令应该要放置到正确的目录下,执行才会比较方便;

本目录(.)最好不要放到PATH当中。

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

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

相关文章

Node框架 【Egg-企业级框架】

文章目录 🌟前言🌟Egg.js 是什么?🌟Egg.js 的特性:🌟Egg.js 的历史?🌟Egg 继承于 Koa🌟使用脚手架搭建项目环境🌟环境准备🌟搭建项目环境方式🌟无需安装egg脚手架初始化…

大型医院安全(不良)事件报告系统源码(支持二次开发)

医院安全(不良)事件管理系统通过规范事件上报、流转审批、数据统计、原因分析、措施制定、效果追踪的业务流程,全面覆盖医院所有科室,利用统计工具对本院不良事件数据进行深度分析,查找医疗安全管理的薄弱环节&#xf…

微信小程序的跨页面传参以及data-方法的相关细节

🙂博主:爱学习的Akali King 🙂文章核心:微信小程序的跨页面传参以及data-方法的相关细节 目录 前言wx.navigateTo()方法微信小程序传参的几种方式通过data-属性传参关于data-方法配合点击事件传参的细节 前言 其实在学习新东西的…

phpmyadmin弱口令至getshell 漏洞复现

为方便您的阅读,可点击下方蓝色字体,进行跳转↓↓↓ 01 环境部署02 漏洞配置03 利用方式04 修复方案 01 环境部署 (1)phpStudy phpStudy 是一款用于进行 PHP 环境调试的程序集成软件包。在软件安装后便 启动了 MySQL 服务、Apache…

【容灾系统搭建】网络杂谈(1)之容灾系统如何搭建?

涉及知识点 什么是容灾,容灾系统的建设,容灾系统的结构模型,容灾平台。深入了解容灾技术。 原创于:CSDN博主-《拄杖盲学轻声码》,更多内容可去其主页关注下哈,不胜感激 文章目录 涉及知识点前言1.容灾系统…

Android Jetpack Compose - 探索 BottomSheet

Jetpack Compose 是一种现代化的、声明式的 UI 工具集,它使得 Android 的 UI 开发变得更加简单和直观。在这篇文章中,我们将要探索其中的一种常用 UI 元素 —— 底部抽屉(BottomSheet)。 一、什么是 BottomSheet? 在 …

速度与技能的较量!飞桨黑客松 OpenVINO™ 任务获奖者经验分享

点击蓝字 关注我们,让开发变得更有趣 作者 | Fisher 排版 | 李擎 速度与技能的较量! 飞桨黑客松 OpenVINO™ 任务获奖者经验分享 前言/ 获奖经验分享,比赛轻松拿捏, 千元奖金拿到手软! 黑客松活动介绍 飞桨黑客马拉松是一项兼具编…

Vuex —— 同步和异步请求

上一篇讲到 Vuex 状态管理的内容,先来简单的回顾一下 Vuex ,Vuex 中有五个核心属性:state 、getter、mutation、action、module 。state: 存放数据状态,不能被直接的修改;getter: 基于 state 的计算属性;mu…

kaggle注册时出现一排“Captcha must be filled out.”

kaggle网址:Kaggle: Your Home for Data Science 想去kaggle下载一份数据,但是出现了一排红色的英文:(真是学习之路哪哪都是阻碍哭唧唧) ​ 出现该问题的原因:必须填写(图片)验证码,可是它没出…

长期不关路由器网速会变慢?一文读懂

如果把现代人最烦的十件事列一个清单,那么网速慢肯定其中一项。看剧的时候画面在转圈,玩游戏的时候角色在卡顿,真是让人非常恼火。 最近我家的网速也比刚安上网时慢了很多,看网上的说法是路由器太久没关了,应该天天关闭…

RESTful API是什么?

82. RESTful API是什么? 当我们构建应用程序或者开发Web服务时,常常需要提供一组接口供客户端访问和使用。RESTful API是一种常见的设计风格,它通过使用HTTP协议和一组规范的设计原则,提供了一种统一、可扩展和可维护的方式来构建…

2023金九银十Java基础-中级-高级面试题汇总(涵盖所有Java核心面试知识点)

寒冬来临,虽受眼前挫折,但咱程序猿(媛)也不能放弃啊!也许这次秋招不是很理想,但是没得关系啊,再过几个月就开始备战2023年的金九银十了呀,现在着手准备,既是给自己的秋招…

机器学习评估与度量指标

这里的内容主要包括:性能度量、比较检验和偏差与方差。在上一篇文章中,我们解决了评估学习器泛化性能的方法,即用测试集的"测试误差"作为"泛化误差"的近似,当我们划分好训练/测试集后,那如何计算&…

《Opencv3编程入门》学习笔记—第十章

《Opencv3编程入门》学习笔记 记录一下在学习《Opencv3编程入门》这本书时遇到的问题或重要的知识点。 第十章 角点检测 一、Harris角点检测 (一)兴趣点与角点 1、图像特征类型: 边缘角点(感兴趣点)斑点&#xf…

在pycharm上导出Anaconda3的环境配置文件

目录 1.原理: ​2.亲身实践: 1.原理: 要在PyCharm中导出Anaconda3环境的配置文件,可以使用conda命令行工具来完成。请按照以下步骤进行操作: 打开PyCharm,并确保项目使用的是Anaconda3环境。 在PyCha…

【小程序】如何手动绘制分享用的图片

上一篇【小程序】如何实现滑动翻页中介绍了如何在小程序中实现上下滑动翻页的效果。 如果要给这个产品增加一个生成图片用于分享到朋友圈的功能,又该如何实现呢? 先来看一下最终的效果图: 首先,新建一个页面(page&am…

vue+elementui实现英雄联盟道具城

目录 一、效果图 1.首页 2.商品列表、分类 二、实现重点讲解 1.首页轮播图 1.1技术实现: 1.2.鼠标聚焦切换图片事件 2.首页tab切换 3.商品列表实现 三、项目结构说明 四、总结 一、效果图 1.首页 项目与官方效果没有太大差异: 游戏导航&#xff1…

windows上VMware虚拟机彻底卸载详细教程

VMware虚拟机彻底卸载 一、彻底卸载过程1.1 停止VMware服务1.2 结束vmware任务1.3 开始卸载VMware1.4 删除注册表信息1.5 删除安装目录 二、vmware 安装教程三、vmware 使用教程 回到目录   回到末尾 一、彻底卸载过程 卸载之前,需要先关闭VMware相关的后台服务…

高速公路智慧稽核常用技术及发展方向浅析

交通运输部数据显示,截至2021年末,全国收费公路里程达18.76万公里,其中高速公路16.12万公里,占比高达85.9%,高速公路费用收缴的重要性尤为凸显。 收费系统作为高速公路的三大机电系统之一,在高速费用的收取…

【Java面试题】框架篇——Spring

文章目录 什么是Spring框架?Spring框架有哪些主要模块?Spring有几种配置方式?Spring框架中的单例Beans是线程安全的么?Spring 框架中都用到了哪些设计模式?★★★Spring AOP在实际项目中的应用★★★阐述一下Bean的生命…