博主之前有过这种情况,就是在普通用户下su ls等命令还有效,可登陆进root用户之后这些常用的命令竟然失效了。



像这样

这问题其实很简单,但是对于不清楚环境变量的配置的同学来说也的确棘手,我之前就是因为环境变量还不熟悉才不小心误删了root根目录下配置文件内的PATH变量,或者在某个配置文件中将PATH初始化错误才造成的这些命令失效的问题。

环境变量通常设置在以下几个目录:~/.bashrc;~/ .bash_profile,;~/.profile; /etc/profile;etc/bash.bashrc。

而这几个文件的读取顺序也不一样,首先我们正常登录时读取的顺序是1./etc/profile2.~/.bash_profile ~/.bash_login ~/.profile(一般是哪个存在读取哪个)

而至于~/.bashrc文件,则是在non login shell 启动时执行,是指每次在GUI打开终端都会读取该文件。(博主就是在这个文件中设置了PATH变量,并且设置错了,才造成上面的情况)

解决该问题也很容易,因为vi,vim等命令的失效,所以我们只能使用export (export不是文件export是 bash的一个内部命令, 由 /bin/bash 来解释执行)

export PATH=/bin:/usr/bin:$PATH

这段命令会可以使ls su等常用命令暂时生效,那么要永久解决该问题,就需要到上述的几个文件中去一一排查时候错误设置了PATH变量,或者根本就没有初始化PATH变量。

该问题就可以解决。

永久修改

那么如果要新添加环境变量的话就可以直接在PATH变量后面添加你需要添加的路径即可。(不同的用户,需要到用户家目录下面去修改隐藏文件bash_profile)

具体命令如下:

cd 用户家目录
vim .bash_profile

然后修改PATH变量即可,这里修改文件属于永久修改,因为该配置文件是在系统启动时才会读取并且export在全局生效,所以需要,重启文件即可生效。

临时修改

//:路径之间是以冒号分割的
export PATH=XXXXXXXX:需要添加的路径

就可生效。

添加sublime到环境变量

假如:当前登录用户为root,sublime安装在/opt目录下

方法一:
//进入根目录
cd ~
vim .bash_profile //进入vim编辑文件,修改PATH
PATH=/bin:/usr/bin:/opt/sublime_text:$PATH
//进入底行模式,输入wq回车保存修改
//重启系统

这里要注意,添加目录环境变量的话,需要在命令行输入完整文件名才可以快速启动sublime。

方法二:

添加一个软连接到已属于环境变量的目录。如/usr/bin目录

ln -s /opt/sublime_text/sublime_text /usr/bin/subl

通过创建软链接的方法还可以自定义命令的名称,以上两种方法都可以配置快速启动sublime

配置完成就可以在终端使用命令通过sublime启动文件来编程了~





这样对于不习惯使用神奇vim的同学来说,会方便不少。

Linux添加目录到环境变量以及添加sublime到环境变量的更多相关文章

  1. Linux添加目录到环境变量以及添加Sublime Text到环境变量

    本文主要介绍了Linux添加目录到环境变量以及添加Sublime Text到环境变量,通过具体的解释说明,让我们从中学到Linux添加目录到环境变量以及添加Sublime Text到环境变量的精髓所在 ...

  2. Linux环境变量的添加设置

    以前一直都记着的,后来做的事情多了就什么都忘的差不多了. 在Linux中,环境变量一般添加有这么几个地方: 1./etc/profile 这个目录设置的变量为整个系统的全局变量,所有的用户通用,一般不 ...

  3. 右键计算机->属性->高级系统设置->高级->环境变量,添加环境变量(推荐)

    (1)右键计算机->属性->高级系统设置->高级->环境变量,添加环境变量(推荐) QTDIR:D:\Software\Qt\Qt5.2.0\5.2.0\msvc2010_op ...

  4. Unix/Linux环境C编程入门教程(32) 环境变量那些事儿

    1. getenv() putenv()setenv()函数介绍 getenv(取得环境变量内容) 相关函数 putenv,setenv,unsetenv 表头文件 #include<stdli ...

  5. Linux环境下安装JDK并配置环境变量

    首先查看是否已经安装了JDK并配置环境变量. [root@dhcc_plat opt]# java -version -bash: java: command not found [root@dhcc ...

  6. Linux中shell基础、重定向、管道符、环境变量

    1.什么是shell Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口(命令解释器).它接收用户输入的命令并把它送入内核去执行.起着协调用户与系统的一致性和在用户与系统之间进行交互的 ...

  7. 如何修改Linux系统下的PATH(如何添加自己的路径到PATH)

    修改Linux的PATH方法有三(添加用户的路径到PATH): 方法一: 直接在命令行中输入:#PATH=$PATH:/etc/apache/bin.这种方法只对当前会话有效,也就是说每当登出或注销系 ...

  8. linux route命令的使用详解 添加永久静态路由 tracert traceroute

    linux route命令的使用详解 添加永久静态路由  tracert  traceroute route -n    Linuxroute  print  Windows traceroute  ...

  9. LINUX中查看、添加、删除PATH以及永久添加PATH

    1.查看PATH变量 echo $PATH 会出现: 路径1:路径2:路径3 2.添加PATH变量 export PATH=$PATH:新添加的路径 用此方法添加的PATH,在关闭或者重启LINUX后 ...

随机推荐

  1. python第四十八课——类函数和对象函数

    5.类函数和对象函数 类函数:在定义函数的上面一行书写@classmethod,特点:没有self 有cls 对象函数:定义在class中的普通的def函数 演示类函数和对象函数的定义使用: 总结: ...

  2. js中return,return true,return false三者的用法及区别

    return其实就是return undefined; 1.语法及返回方式 ①返回控制与函数结果 语法为:return 表达式; 语句结果函数的执行,返回调用函数,而且把表达式的值作为函数结果返回出去 ...

  3. $Matrix-Tree$定理-题目

    $Matrix-Tree$ 其实矩阵树的题挺好玩的,一些是套班子求答案的,也有一些题目是靠观察基尔霍夫矩阵性质推式子的. 文艺计算姬:https://www.lydsy.com/JudgeOnline ...

  4. SD-WAN助力解决多云问题

    导读 SD-WAN供应商和云服务供应商之间的合作,有助于跨多个云供应商轻松管理云连接,并创建安全.低延迟的多云环境. 随着SD-WAN成为远程用户访问基于云的应用程序的主要途径,促使越来越多的部署多云 ...

  5. Web安全入门学习

    前言     最近在公司做Linux下的PHP开发,所以乘此机会学习了下Web安全,了解了常见的Web安全漏洞,以及对应的防御方法(使用DVWA进行学习). 暴力破解 场景     在类似用户登陆界面 ...

  6. MySQL 基础十 性能优化

    1.优化sql 2.建立索引 3.优化表结构,避免多个join查询

  7. docker命名空间、控制组及联合文件系统概念

    基本架构 命名空间 控制组 联合文件系统 docker底层依赖的核心技术主要包括操作系统的命名空间(Namespace).控制组(Control Groups).联合文件系统(Union File S ...

  8. 如何让.NET Core支持GB2312和GBK

    在.NET Core中,默认是不支持GB2312和GBK编码的. 例如我们如果新建一个.NET Core控制台项目,然后在其Main方法中使用如下代码: using System; using Sys ...

  9. Hive 数据的导入导出

    数据的导入: 通过文件导入,使用load命令 一.导入本地文件: load data local inpath '/home/hadoop/files/emp.txt' overwrite into ...

  10. 最近找工作,有招JAVA开发的可以联系我,如果不嫌弃我2年前用C,也可以联系我

    java涉及到的技术工具:HSF.Pandora.Notify.Metaq.Diamond.Tddl.ScheduleX.精卫.Switch.BCP.Tair.Hbase.Mysql.Ads.Tlog ...