换了新公司,公司的领导很不错。自己感受比较多的地方是,自己的工作效率明显比以前高了。以前会对频繁变动的需求十分不耐烦,现在接到需求后会仔细的思考,进行整体构建。即使以后需求有变动,也能够比较轻易的在原有的基础上改动。以前总是跟着别人说频繁变动需求的项目经理都是傻逼,其实我们都掉进了一个认为自己是一个程序员的局里。自认为自己是一名程序员,只关心自己编辑器里那点一亩三分代码的人,是永远也成长不了项目经理乃至于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. 你买了多少ERP?

    企业使用ERP(或是其他管理系统),有三种模式:自开发.采购.租赁(SAAS).不知道企业的各级管理者们,是否想过这个问题——我们到底买(做.租)了多少“量”的ERP呢? 这个问题也许不是那么好回答. ...

  2. flume:spooldir采集日志,kafka输出的配置问题

    flume配置: #DBFile DBFile.sources = sources1 DBFile.sinks = sinks1 DBFile.channels = channels1 # DBFil ...

  3. 最新版powerdesign16.5连接数据库错误解决

    由于工作需要,需要将数据库中的表结构逆向生成到powerdesign中,但是连接数据库一直连接不上,Connection test failed报如下错误: 解决方案: 下载ojdbc14.jar,拷 ...

  4. 【静默安装】configToolAllCommands响应文件问题

    [静默安装]configToolAllCommands响应文件问题 客户在静默安装RAC 12.1.0.2的时候有如下的输出: Successfully Setup Software. As inst ...

  5. SQL Server自动化运维系列——批量执行SQL脚本(Power Shell)

    需求描述 一般在生产环境中,在投产的情况下,需要批量的来执行SQL脚本文件,来完成整个投产,如果投产文件比较多的情况下,无疑这是一个比较痛苦的过程,所以本篇通过PowerShell脚本来批量完成. 监 ...

  6. 交互式makefile

    之前一直不知道在shell中调用read赋值后,怎么传给makefile中的变量,后来才恍然大悟. myname := $(shell read -p "Enter your name:&q ...

  7. DIV+CSS规范命名大全

    网页制作中规范使用DIV+CSS命名规则,可以改善优化功效特别是团队合作时候可以提供合作制作效率,具体DIV CSS命名规则CSS命名大全内容篇. 常用DIV+CSS命名大全集合,即CSS命名规则 D ...

  8. 原生js与jquery操作iframe

    1  原生js获取iframe的window对象 //方法1 document.getElementById('iframeId').contentWindow; //方法2 window.frame ...

  9. 每建一个Activity都要注册权限Manifest.xml

    每建一个Activity都要注册权限Manifest.xml 但是有时候自动注册好了,注意!不然的话是不能调用的!!!!!<activity android:name=".MainVi ...

  10. mongoDB的安装(一)

    0.安装环境说明: linux系统:centos6.5 mongoDB版本:mongodb-linux-x86_64-rhel62-3.2.7.tgz 1.下载 mongoDB的下载:https:// ...