linux path环境变量起什么作用,shell基础(5)PATH环境变量的作用和使用方法

释放双眼,带上耳机,听听看~!

关于PATH的作用

PATH说简单点就是一个字符串变量,当输入命令的时候LINUX会去查找PATH里面记录的路径。比如在根目录/下可以输入命令ls,在/usr目录下也可以输入ls,但其实ls这个命令根本不在这个两个目录下,事实上当你输入命令的时候LINUX会去/bin,/usr/bin,/sbin等目录下面去找你此时输入的命令,而PATH的值恰恰就是/bin:/sbin:/usr/bin:……。其中的冒号使目录与目录之间隔开。

PATH%E5%8F%98%E9%87%8F1.png

关于新增系统命令

例:我们有一个脚本test2.sh,执行后是打印出“Hallo xiaofan”,如果我们需要将这个脚本加入到系统命令中,像ls一样,打出来即可执行,这时候,我们可以将脚本复制到PATH变量包含的路径中,就可以直接打出test2.sh,来执行脚本了。【注:若是添加到其他目录,有些目录是只能root用户才可以读取的,比如/root/bin】

PATH%E5%8F%98%E9%87%8F2.png

PATH%E5%8F%98%E9%87%8F3.png

关于新增自定义路径

现在假设你新安装了一个命令在/root/test/bin下面,而你又想像ls一样在任何地方都使用这个命令,你就需要修改环境变量PATH了,准确的说就是给PATH增加一个值/root/test/bin。你只需要一行bash命令export PATH=$PATH:/root/test/bin。这条命令的意思太清楚不过了,使PATH自增:/root/test/bin

通常的做法是把这行bash命令写到/root/.bashrc的末尾,然后当你重新登陆LINUX的时候(应该是linux启动时就会执行这个文件),新的默认路径就添加进去了。当然这里你直接用source /root/.bashrc执行这个文件重新登陆了。你可以用echo $PATH命令查看PATH的值。

PATH%E5%8F%98%E9%87%8F4.png

PATH%E5%8F%98%E9%87%8F5.png

关于删除自定义路径:

当某天你发现你新增的路径/root/test/bin已经没用了的话,你可以修改/root/.bashrc文件里面你新增的路径。或者你可以修改/etc/profile文件删除你不需要的路径.

临时环境变量(重启后消失)

直接用export命令:

PATH%E5%8F%98%E9%87%8F6.png

不加export也可以

PATH%E5%8F%98%E9%87%8F7.png

【以上修改会在系统重启后失效】

永久环境变量

修改profile文件:

所有用户(不安全)

修 改/etc/profile(对所有用户都是有效的)

vi /etc/profile

在里面加入:export PATH=$PATH:/root/test/bin

修改.bashrc文件:

# vi /~/.bashrc

(单独用户)

修改~/.bashrc文件(每个用户家目录下都有,ls -all)

cd ~

vi .bashrc

在里面加入:export PATH=$PATH:/root/test/bin

这两种方法一般需要重新注销系统才能生效,最后可以通过echo命令测试一下:

# echo $PATH

看看输出里面是不是已经有了/root/test/bin这个路径了。

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

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

相关文章

python3 自动打包部署war包

2019独角兽企业重金招聘Python工程师标准>>> 1 调用maven 命令打包 mvn -B -f D:/workspace/ksdcourse clean package 2 调用tomcat 部署war包 ; 需要添加 CATALINA_HOME的环境变量 代码如下: #!/usr/bin/python3# -*- coding: utf-8 -*-impo…

day1作业二:多级菜单操作

作业二:多级菜单 (1)三级菜单 (2)可以次选择进入各子菜单 (3)所需新知识点:列表、字典 要求:输入back返回上一层,输入quit退出整个程序 思路: &am…

JDK源码分析(5)之 HashMap 相关

HashMap作为我们最常用的数据类型,当然有必要了解一下他内部是实现细节。相比于 JDK7 在JDK8 中引入了红黑树以及hash计算等方面的优化,使得 JDK8 中的HashMap效率要高于以往的所有版本,本文会详细介绍相关的优化,但是主要还是写 …

位运算-查找数组中唯一成对的数

基础实例一:使用位运算判断数的奇偶性 实例代码: public class Test {public static void main(String[] args) {System.out.println(isOdd(49));System.out.println(isOdd(50));}// 与运算public static boolean isOdd(int i){return (i & 1) ! 0;…

react-native-Cocoapods-Swift-Project

https://reactnative.cn/docs/integration-with-existing-apps/ 1、创建一个xcode工程,single View就行,项目语言选择swift,oc的直接生成就行不用这么麻烦。 2、把跟目录上创建 node的package.json,执行命令 npm init npm install react-nati…

第二阶段站立会议08

站立会议内容: 大家准备继续将代码进行融合,进行测试对一些功能进行优化。 1、会议照片: 2、任务展板: 3、燃尽图: 转载于:https://www.cnblogs.com/smcoder/p/7002539.html

git——学习笔记(三)分支管理

一、创建、合并分支 每次提交,git都往后走一格,串成一跳时间线,head指向的是分支,分支指向提交。master是主分支,dev是另一条分支,分支就像指针一样,合并、删除分支时,修改的都是指针…

阿里巴巴是如何打通 CMDB,实现就近访问的?

CMDB在企业中,一般用于存放与机器设备、应用、服务等相关的元数据。当企业的机器及应用达到一定规模后就需要这样一个系统来存储和管理它们的元数据。有一些广泛使用的属性,例如机器的IP、主机名、机房、应用、region等,这些数据一般会在机器…

[原创]K8_C段旁注工具6.0 新增SMB漏洞扫描

工具: K8_C段旁注工具6.0_0510[K.8]编译: 自己查壳组织: K8搞基大队[K8team]作者: K8拉登哥哥博客: http://qqhack8.blog.163.com发布: 2017/5/24 13:25:54简介: 图片: 功能: 更新历史:6.0 20170510[] C段SMB漏洞扫描(探测系统版本)[] 批量操作-文本比较提取新增内容[] 旁注查…

【公告】社区周刊即日起停刊

各位订阅51CTO社区周刊的小伙伴们,大家好,我是51CTO社区的大管家蘑菇,今天来是想跟大家说,本期周刊将是我们最后一期邮件期刊,没错,是最后一期(请珍惜它~)。或许你会问,停…

springcloud-zuul路由网关

路由网关(zuul) 在微服务架构中,需要多个基础的服务治理组件,包括服务注册与发现、服务消费、负载均衡、断路器、智能 路由、配置管理等,由这个基础组件相互协作,共同组建了一个简单的微服务系统。一个简单的微服务系统如下 图 总…

python DB.fetchall()--获取数据库所有记录列表

查询到的数据格式为列表: 多个元素的列表: 单个元素的列表: 转载于:https://www.cnblogs.com/apple2016/p/5734161.html

Laravel Composer 命令大全

2019独角兽企业重金招聘Python工程师标准>>> ​​​​​​​1、安装 Laravel composer create-project --prefer-dist laravel/laravel 5.xx user-project 2、.env 文件操作 生成 APP_KEY:php artisan key:generate 缓存 .env 配置&#xff…

linux中initrd的含义,Linux2.6 内核的 Initrd 机制解析

1.什么是 Initrdinitrd 的英文含义是 boot loaderinitialized RAM disk,就是由 boot loader 初始化的内存盘。在 linux内核启动前, boot loader 会将存储介质中的 initrd 文件加载到内存,内核启动时会在访问真正的根文件系统前先访…

VBS基础篇 - 常量

VBS基础篇 - 常量 常量:指的是在程序运行过程中其值保持不变的量,它用来保存固定不变的数值,字符串等常数 。 常量的定义:在vbscript中使用使用 Const 指令可以创建名称具有一定含义的字符串型或数值型常量,并给它们赋…

利用深度学习来预测股票价格变动

https://www.toutiao.com/i6644852565341110791/ 利用深度学习来预测股票价格变动(长文,建议收藏) 原创 不靠谱的猫 2019-01-10 21:01:39完整架构概述 在这篇文章中,我将创建一个预测股票价格变动的完整过程。我们将使用生成对抗网…

shell 本地接口自动化

一.基于http/https的接口 一般情况下,当前大多公司在做接口自动化的时候都会使用一些工具;比如:postman/jmeter/python自研开发接口平台。。。 以上的情况,都是在源码与测试使用分离的情况下实践的。也就是说:目前国内…

第50次二级c语言真题,2006年4月全国计算机等级考试二级C语言笔试试卷含答案

一、选择题((1)一(10)每题2分,(11)一(50)每题1分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1)下列选项中不属于结构化程序设计方法的是…

python hashlib模块

摘要算法简介 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。 什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示&…

go tool trace goalng调优工具

为什么80%的码农都做不了架构师?>>> 你想知道你的Go程序在做什么吗? go tool trace 可以向你揭示:Go程序运行中的所有的运行时事件。 这种工具是Go生态系统中用于诊断性能问题时(如延迟,并行化和竞争异常…