换了新公司,公司的领导很不错。自己感受比较多的地方是,自己的工作效率明显比以前高了。以前会对频繁变动的需求十分不耐烦,现在接到需求后会仔细的思考,进行整体构建。即使以后需求有变动,也能够比较轻易的在原有的基础上改动。以前总是跟着别人说频繁变动需求的项目经理都是傻逼,其实我们都掉进了一个认为自己是一个程序员的局里。自认为自己是一名程序员,只关心自己编辑器里那点一亩三分代码的人,是永远也成长不了项目经理乃至于CTO的。至于有人说我就喜欢写代码,那么我只想说不想当将军的士兵不是好士兵。代码只是实现需求的做成产品的一个步骤而已,所以不要把自己太当回事,好好的和其他的同事合作,有矛盾正是锻炼自己沟通能力的机会,大家的共同目的是为了作出安全、简单、可依赖的产品,大家以前都是陌路人,为了一个目标才聚在一起的,不要中途被其他的目标干扰了方向,忘记了初衷。

这个解析linux命令的系列最后一篇是2015年9月。之后听了一位linux老师的话,就没有继续在linux上钻研下去了,转战了更加实用的的js和mysql。而后两者在工作中和求职中充当了重要角色,如果不是及时转战,我也许现在还是一名水平很菜的初级程序员呢。可是linux是成长道路上的一道门槛,和英语一样都会成为以后发展道路上的拦路石。于是在这个公司试用期内,主要的规划就是将linux系统的学习一个遍。学习的书籍还是《鸟哥的linux私房菜》。

之前听园子的一些“老同志”说不要经常发一些入门级的文章进去,但是我还是会坚持的发下去。


今天老大给了我一个测试服务账号,接下来我被登录服务器的login信息逗笑了。

那么这个效果是如何实现的呢?为何登录后就会出现呢?那么我们要首先了解bashd的登录与欢迎信息:

1、bash 的登录信息与欢迎信息

在/etc/下有三个文件可以在登录的时候打印登录信息。

/etc/issue   直接在换行后输入自己的想要添加的欢迎信息即可。

/etc/issue.net 当使用telnet 连接到主机时,主机的登录界面会显示这个文件里的欢迎信息。

/etc/motd    上图的内容就是修改这个文件,然后产生的效果。motd 是Message Of The Day  日常消息的意思。当我想通知这个服务器所有的登录者,今天要停机维护的时候,这是个比较好的方式。

2、bash的环境配置

当我们登录到linux的时候就已经获取了linux的环境变量。这一点和其他的语言一样,都有自己内置的变量。比如客户端的JavaScript 也有内置对象、浏览器的对象、以及用户设置的对象等,前两种内置对象可以统称为原始对象,这一点和linux是一样一样的。举这个例子是给不了解服务端程序的同学普及一下。

当我们从一个bash 进入到另一个bash(子进程)中的时候为什么在父进程中设置的变量在子进程中获取不到呢。这个要牵扯到变量作用域的问题。有关变量作用域的讲解,请查看

1、常见linux命令释义(第五天)——shell变量学习

2、 常见linux命令释义(第六天)——shell环境变量

那么变量作用域的功能是如何实现的呢?这个就要提到bash的环境配置文件:login 与 non-longin shell

当我们登录的时候会首先去加载这个login shell.

login shell 会去/etc/profile加载整个系统的环境配置。所以我们不要去动里面文件。

/etc/profile     login shell 才能读

/etc/inputrc     定义了键盘的快捷键

/etc/profile.d/*.sh   定义了一些脚本

/etc/sysconfig/i18n   定义了当前语言变量

login shell 只会读取以下三个文件中的一个,按照顺序读取,如果第一个存在就不继续读取第二个,以此类推。

~/.bash_profile    用户自己定义的变量

~/.bash_login

~/.profile    自定义变量

个人配置。login shell 和 non-login shell 都会读

~/.bashrc


夜深了,剩下的章节明天写吧。

常见linux命令释义(第八天)—— Bash Shell 的操作环境的更多相关文章

  1. 常见linux命令释义(第六天)——shell环境变量

    太懒了,这几天好像得了懒癌,一点都不想写博客.后来想想,知识嘛,还是分享出来的好.第一治自己的懒癌:第二顺便巩固下自己的知识. Linux的变量分为两种,一种是系统变量,是系统一经启动,就写进内存中的 ...

  2. 第十一章、认识与学习 BASH Bash Shell 的操作环境

    bash中的变量动不动就说环境变量,真是奇怪,bash只是一个c语言编写的程序而已,跟环境变量有什么关系?如果知道dos的历史的话就知道有个时代是只有命令行界面而没有图形用户界面,这只小小的程序就包揽 ...

  3. 常见linux命令释义(第四天)——bash部分

    学linux的时候,我跳过了一些很重要的东西.比如分区.还有vim的深入学习.分区没有学习是因为我装的是虚拟机,不知道是什么原因,格式化分区不能正常显示.至于vim,简单的增删改查我已经了解了.能够顺 ...

  4. Linux命令行–基本的bash shell命令

    启动shell: /etc/passwd:包含系统用户账户列表以及每个用户的基本配置信息 每个条目有七个字段,每个字段用冒号隔开 用户名 用户密码 用户的系统UID 用户的系统GID 用户的全名 用户 ...

  5. linux命令(26):Bash Shell 获取进程 PID

    转载地址:http://weyo.me/pages/techs/linux-get-pid/ 根据pid,kill该进程:http://www.cnblogs.com/lovychen/p/54113 ...

  6. 常见linux命令释义(第一天)

    快到中午吃饭了,然后忽然想起来samba里面没有添加用户.于是乎,就玩弄起了samba. Samba三下五除二就安装好了,想想window里面不断的点击下一步,还要小心提防各种隐藏再角落里的绑定软件. ...

  7. Linux入门培训教程 常见linux命令释义

    快到中午吃饭了,然后忽然想起来samba里面没有添加用户.于是乎,就玩弄起了samba. Samba三下五除二就安装好了,想想window里面不断的点击下一步,还要小心提防各种隐藏再角落里的绑定软件. ...

  8. linux杂记(十一)Bash Shell的使用环境

    Bash Shell使用环境 Bash Shell使用环境 1.登录讯息显示数据:/etc/issue,/etc/motd 我们在终端机接口(tty1~tty6)登入的时候,会有几行提示的字符串,那个 ...

  9. 常见linux命令释义(第九天)—— Bash Shell 的操作环境Shell 中的管道命令一些管道命令

    最近好懒好懒.连写文章都写不好了.于是只能写读一点书,记一点读书笔记了.太懒了,没办法.慢慢恢复自己的状态吧. 管道命令仅会处理strandard output 的内容,对于strandard err ...

随机推荐

  1. [Erlang 0104] 当Erlang遇到Solr

        Joe Armstrong的访谈中有一段关于"打开黑盒子"的阐述,给我留下很深的印象:Joe Armstrong在做XWindows开发时没有使用对应的类库,而是在了解XW ...

  2. iPhone被盗后怎么?这篇文章只办针对iOS7后的系统

    中午准备去吃饭的时候,今天看到Tungbaby的手机被盗后怎么做?http://www.jianshu.com/p/f13f49cd9b90 碰巧我的手机也被盗了.就来分享下我的经验吧.由于我当时是在 ...

  3. SQL Server 2012 实现分页新语法

    最近一直在看SQL Server的书,不过看的都是基础的查询流,查询在工作中用到的最多,所以能正确地查询出想要的数据也是很重要的嘛. 在书上看到在SQL Server 2012新增了一种实现分页的查询 ...

  4. ORACLE临时表总结

    临时表概念 临时表就是用来暂时保存临时数据(亦或叫中间数据)的一个数据库对象,它和普通表有些类似,然而又有很大区别.它只能存储在临时表空间,而非用户的表空间.ORACLE临时表是会话或事务级别的,只对 ...

  5. jQuery操作select控件取值和设值

    1.级联select的操作,后一个select的值随着前一个select选中值变化 $(".select_A").change(function(){ $(".selec ...

  6. 【转】去除eclipse的JS验证

    第一步:去除eclipse的JS验证:将windows->preference->Java Script->Validator->Errors/Warnings->Ena ...

  7. 理解 Nova 架构 - 每天5分钟玩转 OpenStack(23)

    Compute Service Nova 是 OpenStack 最核心的服务,负责维护和管理云环境的计算资源. OpenStack 作为 IaaS 的云操作系统,虚拟机生命周期管理也就是通过 Nov ...

  8. C++STL - 函数模板

    模板主要是为了泛型编程,做到与类型无关 模板有函数模板和类模板,本文主要整理的是函数模板 1.函数模板定义 template<typename 类型形参1,typename 类型形参2,...& ...

  9. 理解 Node.js 里的 process.nextTick()

    有很多人对Node.js里process.nextTick()的用法感到不理解,下面我们就来看一下process.nextTick()到底是什么,该如何使用. Node.js是单线程的,除了系统IO之 ...

  10. java中设置代理的两种方式

    1 前言 有时候我们的程序中要提供可以使用代理访问网络,代理的方式包括http.https.ftp.socks代理.比如在IE浏览器设置代理. 那我们在我们的java程序中使用代理呢,有如下两种方式. ...