8种机械键盘轴体对比
本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?
操作系统一般都是支持多用户多任务,在操作系统中可以为不同的用户设置不同的环境变量(用户环境变量),也可以为所有用户设置统一的环境变量(系统环境变量)。Linux和windows系统均是如此。
1.Linux下的环境变量
Linux的环境变量存在于多个文件中,主要有以下几个文件:系统环境变量文件/etc/profile和/etc/environment。
用户环境变量文件~/.bash_profile、~/.bash_login和~/.profile。bash的login shell设定只会读取上面三个文件的其中一个, 而读取得顺序则是依照上面的顺序。
1.1 /etc/profile(login shell时读取)
用户登录时才会读取的文件,是操作系统获取环境变量时第一个读取的文件。
这个文件会主动引用其他的文件/etc/profile.d 、/etc/profile.d/*.sh和/etc/bash.bashrc。因此虽然login时读取文件/etc/profile,实际上获取到的环境变量不止在/etc/profile中。
1.2 /etc/environment
用户在登录操作系统之后,操作系统配置环境时所使用的第二个文件。
顾名思义,该文件中保存了一系列环境变量,这些变量将对所有的用户和终端起效。
到这一级为止,文件定义的都是系统环境变量,之后的文件都是在定义用户变量。
1.3 ~/.bash_profile (login shell 才会读)
~/.bash_profile、~/.bash_login和~/.profile。bash的login shell设定只会读取上面三个文件的其中一个, 而读取得顺序则是依照上面的顺序。
在我使用的Ubuntu操作系统中,实际存在的是~/.profile。我们看一下文件的内容:
if…then中又判断了第二个文件~/.bashrc是否存在,如果存在就会引用。
最后一行,以累加的方式对/etc/profile中设置过的path增加了~/bin等目录作为额外的执行文件存放目录。用户可以将自己建立的执行文件放到这个目录下(不需要再使用绝对路径或者相对路径执行了)。
1.4 ~/.bashrc
该文件包含了专用于一个用户的bash的环境信息,每次登录或者新开shell的时候(包括在图形界面下打开新的终端),该文件被读取。
该文件只会在新开的终端中起效。原有终端不会受到影响。
1.5 ~/.bash_logout
每次退出bash的时候会执行。
1.6 小结
login shell的读取顺序:
实线是主流程,虚线是被动应用的配置文件。
2.环境变量的查看方法及相关命令env查看当前用户的环境变量与常用变量
set查看shell所有变量(环境变量和用户自定义变量)
export若不带参数则显示用户变量的shell变量,若带参数,则将该shell参数添加至用户变量。如果在命令行直接使用这个参数设置变量(如export HELLO=”hello”),则变量只对当前shell(BASH)有效(临时的),重新登录后会失效。
source读入环境配置文件的指令。因为/etc/profile和~/.bash_profile在login是才会被读取,因此如果用户修改了这两个文件中的变量后,只能在重新登录后才会生效。此时可以使用source或者小数点加空格将新设置的环境变量读取到shell中。
echo $变量名,查看具体的变量设置。
3.常见的环境变量PATH:决定了shell将在哪些目录中寻找命令和程序
HOME:当前用户的主目录
MAIL:当前用户的邮件存放目录
SHELL:当前用户用的是那种Shell
HISTSIZE:保存历史命令记录的条数
LOGNAME:当前用户的登录名
HOSTNAME:主机的名称。
LANG/LANGUGE:和语言相关的环境变量,使用多种语言的用户可以修改此环境变量
PS1:基本提示符,对于root是#,对于普通用户为$,在我手中的ubuntu10.10中则是一个字符串,显示了用户名、系统名和当前目录名在内的信息。
PS2:是附属提示符,默认是”>”。可以修改此环境变量来修改当前的命令符。