下面列举相关文件
/etc/sysconfig/i18n

  1. $ cat /etc/sysconfig/i18n
  2. LANG="en_US.UTF-8"
  3. SYSFONT="latarcyrheb-sun16"

复制代码

我的是英文环境,所以整体语系是en_US.UTF-8,可以在修改相关的环境变量进行设定。
有人会纳闷?为什么会是i18n呢?internationalization,不过这个单词太长啦。所以把中间18个单词用18来代替了。

/etc/profile
这个文件比较有统一性。几乎所有版本的*NIX都会有。同时对所有的用户都有效。里面设置了一些比较重要的环境变量。PATH,HOSTNAME,UID 之类的。PAT H定位包含可执行文件,库文件及一般文本文件的目录位置,便于用户快速访问。有了前面的十二篇的基础,相信/etc/profile里面的简单脚本难不倒你。同时/etc/profile.d目录和文件/etc/inputrc也是由/etc/profile规划出来的。

/etc/bashrc
这个文件里面有一个比较重要的就是PS1环境变量。决定命令提示符的显示方式。

/etc/profile.d/*.sh
这是一个目录。针对bash以及C-shell规范了一些数据。可以自行设计一些具有*.sh的文件名来书写系统的设置值。

环境变量的个人设置:
~/.bash_profile ~/.bash_login ~/.profile
这三个文件只需要一个即可。一般默认是~/.bahs_profile。之所有有那么多的文件,是因为其他shell用户转过来的习惯。
bash启动时(其他的shell不清楚),依次读取的顺序是~/.bash_profile,~/.bash_login,~/.profile

~/.bashrc
这个是最个性化的设置文件。shell登录时候,最后读取的。每次执行shell脚本的时候都会读取这个文件,所以是最全面,最新的。而刚刚那个文件~/.bash_profile只是在登录的时候才读取一次的。在我的文件中重新设置了一个更加好看的命令提示符。PS1

  1. export PS1='\[\e[01;32m\][\u@\[\e[01;33m\]\h \[\e[01;34m\]\W] `[[ -d .git ]] && echo -n -e "\[\e[01;33m\](branch:$(git branch | sed -e "/^ /d" -e "s/* \(.*\)/\1/"))\[\e[01;34m\]"`\$ \[\e[00m\]'

复制代码

~/.bash_history
每次登录bash后,bash会先读取这个文件,将所有的历史命令读入内存。和HISTSIZE环境变量的设置值有关系。

~/.bash_logout
注销bash后,系统会给你干的事情。

对于刚才的几个文件我们通常在改变之后用source命令或者.重新读取一遍。

再谈谈登录shell和非登录shell
登录shell指的是当用户登录linux系统时,所取得的那个shell,当登录以后,再去执行其他的shell,其他的shell就是非登录shell了。
最常见的一种情况就是在X Window下,启动终端,那些shell都是非登录shell
还有一种情况是以一个用户登录有,使用命令bash切换到一个新的环境,这个也是非登录shell了。
把握好登录这两个字就可以了。
还有它们读取文件的区别。
登录shell会读取~/.bash_profile和~/.bashrc两个文件
非登录shell仅仅是读取~/.bashrc文件

stty用法
s t t y用于设置终端特性。要查询现在的s t t y选项,使用stty -a。

  1. $ stty -a
  2. speed 38400 baud; rows 24; columns 80; line = 0;
  3. intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?; eol2 = M-^?;
  4. swtch = M-^?; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
  5. lnext = ^V; flush = ^O; min = 1; time = 0;
  6. -parenb -parodd cs8 hupcl -cstopb cread -clocal -crtscts
  7. -ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
  8. -iuclc ixany imaxbel iutf8
  9. opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
  10. isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
  11. echoctl echoke

复制代码

上面中^C表示Ctrl+C的意思。其他的依次类推。下面列举几个参数代表的含义。更多的请参考man stty
eof:End Of File 文件结束的意思
erase: 向后删除字符
kill: 删除在当前命令行上的所有文字
quit: 给当前正在执行的进程发送一个quit信号
stop: 停止当前屏幕的输出
这些设置值,和我们日常用的Ctrl+D,ctrl+U等操作相关。一般情况下没有必要改动。
假如想要用ctrl+H进行字符从删除,可以这么设置
# stty erase ^H

除了stty,bash还有自己的终端设置set,可以用来设置整个命令的输入输出的环境。

  1. # echo $-
  2. # 显示set的所有设置
  3. # set -x
  4. # echo $HOME
  5. # 要输出的命令都会屏幕上显示,前面会多出一个+符号来

复制代码

关于set的更多设置,更多地是写入了/etc/inputrc文件当中
最后不建议修改tty的环境设置,因为bash的环境已经设置很好了,不需要附加一些修改,否则产生不必要的麻烦。这里只是给大家展示以下终端是如何进行设置的。

linux环境变量的系统设置相关推荐

  1. linux环境变量配置的方法,Linux环境变量配置方法

    Linux上环境变量配置分为设置永久变量和临时变量两种.环境变量设置方法同时要考虑环境Shell类型,不同类型的SHELL设置临时变量方法和设置永久变量对应的配置文件不同.Linux环境变量本身配置过 ...

  2. [NOTE] Linux环境变量

    [NOTE] Linux环境变量 前言 学,以前一直没会 资料1 资料2 概述 Linux环境变量包括:系统级.用户级 系统级环境变量:每个登录到系统的用户都要读取的 用户级环境变量:用户使用系统时加 ...

  3. linux环境变量和linux命令export

    什么是环境变量,Linux环境变量及作用 变量是计算机系统用于保存可变值的数据类型,我们可以直接通过变量名称来提取到对应的变量值.在 Linux 系统中,环境变量是用来定义系统运行环境的一些参数,比如 ...

  4. Linux环境变量:不可或缺的系统组成部分

    目录标题 引言(Introduction) Linux环境变量的概念(Concept of Linux Environment Variables) 环境变量的作用与重要性(Roles and Imp ...

  5. Linux 环境变量

    目录 概述: Linux 环境变量 - 完整指南 什么是变量? Linux中的环境变量是什么? 环境变量的重要性 环境变量命令 Linux 环境变量列表 概述: 在Linux 环境变量中定义系统行为. ...

  6. Linux环境变量说明与配置

    相关的配置文件说明: /etc/profile 范围:对所有用户生效 作用: a.定义USER变量 b.定义LOGNAME变量 c.定义MAIL变量 d.定义PATH变量 e.定义HOSTNAME变量 ...

  7. linux mv 环境变量,linux环境变量,cp,mv命令,more,less,cat,tail,head,的使用...

    linux环境变量,cp,mv命令,more,less,cat,tail,head,的使用 [email protected] ~]# cp /usr/bin/ls   /tmp/ [[email p ...

  8. 超详干货!Linux 环境变量配置全攻略

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|机器学习实验室 Linux环境变量配置 在自定义安装软件 ...

  9. python脚本设置linux环境变量_Linux环境变量export方法与修改文件方法的区别

    玩蛇网推荐图文教程:python 列表 要想修改Linux环境变量有两种方法可以实现,但是关于Linux环境变量export方法与修改文件方法的区别你又了解多少呢?设置 Linux 环境变量可以通过 ...

最新文章

  1. 转载:CSS hack技巧大全
  2. hdu5014 构造b数列使得t最大(小想法)
  3. time、deltaTime、fixedTime、fixedDeltatime的区别
  4. thingsboard源码结构解析
  5. 小程序 textarea ios兼容解决
  6. 网站图片多服务器选多大,网站上的图片一般多大合适
  7. Git初学札记(二)————EGit导入远程Git仓库项目(Clone操作)
  8. LINUX如何让内存FREE变大,Linux性能优化(内存:free + top +vmstat )
  9. 传输层端口号的范围是多少?被分为哪两部分_第三章, 传输层
  10. 计算机应用技术和信息化,浅析企业计算机应用技术和信息化建设
  11. Cognos 8 错误及故障排除(转载)
  12. android 底部加载更多,android:ScrollView滑动到底部显示加载更多(示例代码)
  13. Android Studio使用编译framework.jar
  14. vs2010解决方案源文件夹和头文件夹消失
  15. 保姆级上云教程:购买百度云BCC服务器以及之后的一些注意事项
  16. FFMPEG源码编译(Windows篇)
  17. 1630 - FUNCTION XXXX.now does not exist. Check the 'Function Name Parsing and Resolution' section in
  18. 【转载】5年内从3500元到700万的过程,有爱情、有奋斗、有。。。泪水
  19. R语言绘图基础篇-柱状图
  20. ryu实例---基于跳数的最短路径转发

热门文章

  1. Android杂谈--ListView之BaseAdapter的使用一(转)
  2. DataList控件中使用Xml数据源
  3. Discuz论坛架设从零起步之三
  4. 再谈初学者关心的ssh应用方方面面
  5. 系统进程查看 --- 微软官方出品
  6. 冲动是魔鬼!国庆换机如何不花冤枉钱?
  7. 开源中国翻译频道链接收藏
  8. Management reporter 2012 与AX 2012
  9. Android开发学习之录音同步播放的实现
  10. DB2中sql语句占位符问题