博主之前有过这种情况,就是在普通用户下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. VS Code 快捷键使用小技巧

    相关文档 官方文档(英文版):Documentation for Visual Studio Code 中文文档(未完成):GitHub - jeasonstudio/CN-VScode-Docs: ...

  2. Redis的配置和使用

    下载Redis:  https://github.com/dmajkic/redis/downloads 学习地址:http://bbs.paris8.org/viewthread.php?tid=6 ...

  3. 【转】避免全表扫描的sql优化

    对查询进行优化,应尽量避免全表扫描,首先应考虑在where 及order by 涉及的列上建立索引: .尝试下面的技巧以避免优化器错选了表扫描:· 使用ANALYZE TABLE tbl_name为扫 ...

  4. kafka TimeoutException 超时问题解决

    1.报错:: java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.NotLeaderForPartition ...

  5. Arduino 433 + 串口

    http://www.freebuf.com/articles/wireless/105398.html /*本作品使用的例程中包含RCSwitch库文件用于信号的解码和编码发送*/ #include ...

  6. go标准库的学习-net/url

    参考:https://studygolang.com/pkgdoc 导入方式: import "net/url" url包解析URL并实现了查询的逸码,参见RFC 3986. fu ...

  7. 如何在自己设计的页面中调用metamask-1

    启发: https://github.com/MetaMask/metamask-extension/issues/714 https://github.com/MetaMask/metamask-e ...

  8. oracle 查询 磁盘使用率

    SELECT d.tablespace_name "Name",        TO_CHAR(NVL(a.bytes / 1024 / 1024 / 1024, 0), '99, ...

  9. Entangle 2.0 “Sodium”正式发布

    导读 Entangle是一款自由而开源的软件,可让您从Linux控制DSLR相机. 使用各种尼康和佳能数码单反相机,可以查看实时预览,自动下载图像,并通过USB连接将照片拍摄到相机. 自上次听到Ent ...

  10. TravelPort官方API解读

    TravelPort Ping通使用教程 Unit1 Lesson 1: 标签(空格分隔): 完成第1单元的三个课程后,您可以使用Travelport Universal API来提出服务请求并了解响 ...