系统环境配置
Linux下环境变量设置的三种方法:
如想将一个路径加入到$PATH中,可以像下面这样做:
-
控制台中设置,不赞成这种方式,因为他只对当前的shell 起作用,换一个shell设置就无效了:
$PATH="$PATH":/NEW_PATH (关闭shell Path会还原为原来的path)
举例,用putty开启两个shell窗口,那么在第一个上面通过export 命令添加变量后, 在第二个shell窗口中export检查没有的
窗口1:
$ export PATH=$PATH:`pwd`/../../../tools/irstlm/bin
$ export
declare -x PATH="/usr/local/git/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/s bin:/sbin:/home/mengfanchang/bin:/home/mengfanchang/kaldi/egs/yesno/s5/../../../tools/i rstlm/bin:/home/mengfanchang/kaldi/egs/yesno/s5/../../../tools/irstlm/bin:/home/mengfan chang/kaldi/egs/yesno/s5/../../../tools/irstlm/bin:/home/mengfanchang/data"
declare -x PWD="/home/mengfanchang/data"
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
窗口2:
$ export
declare -x PATH="/usr/local/git/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/mengfanchang/bin"
declare -x PWD="/home/mengfanchang"
新开shell窗口3,等同窗口2
总结:
- 通过export查看当前的变量情况
- 设置完后,仅对该shell窗口的PATH起作用,不影响其它shell窗口;
- pwd`为当前的绝对路径 = /home/mengfanchang/kaldi/egs/yesno/s5/
- 多次重复添加,PATH变量中会都加进去
-
修改 /etc/profile 文件,如果你的计算机仅仅作为开发使用时推存使用这种方法,因为所有用户的shell都有权使用这个环境变量,可能会给系统带来安全性问题。这里是针对所有的用户的,所有的shell
在/etc/profile的最下面添加: export PATH="$PATH:/NEW_PATH"
-
修改bashrc文件,这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,这里是针对某一特定的用户,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的 .bashrc文件就可以了。
在下面添加:
Export PATH="$PATH:/NEW_PATH"
补充内容
-
linux会按一定规则读取启动几个配置文件:
/ect/profile 文件是系统默认的主启动文件,系统上每个用户登录时都会执行
/ect/profile #使得修改对所有的用户生效 $HOME/.bash_profile $HOME/.bashrc #当前用户生效 $HOME/.bash_login $HOME/.profile
-
source:读取环境配置文件的指令
由于 /etc/profile 与 ~/.bash_profile 都是在取得 login shell 的时候才会读取的配置文件,所以,如果将自己的偏好设定写入上述文件后,通常都是得注销在登入后,改设定才会生效。那么,能不能直接读取配置文件而不注销登入呢?可以的,那就是利用 source 这个指令。
-
zsh: 可以使代码具有不用的颜色
-
我想知道我机器安装了哪些shell
cat /etc/shells
当前正在使用的shell
echo $SHELL
把我的shell改成zsh
chsh -s /bin/zsh
-
bash为默认的命令行
-
查看环境变量: echo$PATH
-
linux关闭端口:
- 查看端口:sudo lsof -i :-p(端口号)
- ·查看进程:ps -efl grep 名称
- 关闭端口:sudo kill -9[pid]