博主之前有过这种情况,就是在普通用户下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. UOJ #390. 【UNR #3】百鸽笼

    UOJ #390. [UNR #3]百鸽笼 题目链接 看这道题之前先看一道相似的题目 [PKUWC2018]猎人杀. 考虑类似的容斥: 我们不妨设处理\(1\)的概率. 我们令集合\(T\)中的所有鸽 ...

  2. Django REST framework 之分页,视图,路由,渲染器

    1.分页 2.视图 3.路由 4.渲染器 1.分页 方法一: from django.shortcuts import render from rest_framework.versioning im ...

  3. 捕获海康威视IPCamera图像,转成OpenCV能够处理的图像(二)

    海康威视IPCamera图像捕获 捕获海康威视IPCamera图像.转成OpenCV能够处理的IplImage图像(一) 捕获海康威视IPCamera图像.转成OpenCV能够处理的IplImage图 ...

  4. [NOI2005]瑰丽华尔兹

    嘟嘟嘟 这题大家应该都做过,就是暴力dp+单调队列优化. dp方程其实很好想,最初是这样的:dp[t][i][j]表示时刻\(t\)后,走到\((i, j)\)格子的最远路程,于是就有: \[dp[t ...

  5. mafintosh/end-of-stream

    https://github.com/mafintosh/end-of-stream Call a callback when a readable/writable/duplex stream ha ...

  6. Mysql几种索引方式的区别及适用情况 (转)

    文章摘自http://blog.sina.com.cn/s/blog_4aca42510102v5l2.html Mysql目前主要有以下几种索引方式:FULLTEXT,HASH,BTREE,RTRE ...

  7. mybatis的批量更新实例

    近来批量添加,删除,更新用的比较多,单一的删除和更新,操作无法满足企业某些业务的需求,故通过以下示例分享知识: 今天通过更新的例子来说明 演示环境为jdk8,maven环境,ssm框架 请准备好环境, ...

  8. LINUX 手动建立SWAP文件及删除

    原文:http://blog.itpub.net/7728585/viewspace-670175/ 1. 确定swap文件的大小,单位为M.将该值乘以1024得到块大小.例如,64MB的swap文件 ...

  9. js删除数组元素、清空数组的简单方法

    一.清空数组 ? 1 2 3 var ary = [1,2,3,4]; ary.splice(0,ary.length);//清空数组 console.log(ary); // 输出 [],空数组,即 ...

  10. 错误:“Manifest merger failed with multiple errors, see logs”

    今天用Android Studio打开以前写个的项目后,出现如下错误:Manifest merger failed with multiple errors, see logs 现象是:  遇到这个问 ...