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

    由于规范存储位置以及存储空间调整缘故需要移动表空间MRP_INDEX2的数据文件,如下所示,首先将表空间MRP_INDEX2脱机; 然后复制数据文件:接着重命名数据文件,最后将表空间MRP_INDEX ...

  2. IP数据报首部解析

    IP数据报首部的格式,普通20字节. 4位版本号:当前4--IPv4. 4首部长度:首部长度 8位服务类型TOS: 3bits(优先权)+ 4bits(类型--最小延迟+最大吞吐量+最高可靠性+最小费 ...

  3. p2p tcp nat 原理图+源码(原创)

    现今网上p2p的 udp nat穿透 文章 多如牛毛, p2p tcp nat的文章寥寥无几 ,up主研究了几天 终于有所收获,特来向大家分享,请大家多多支持! 1.首先你要有台外网服务器 或者 电信 ...

  4. x01.Weiqi.8: 一点改进

    原来的代码全部删除,进行了深层次重构,得其意而忘其言.得意之处有二: 1.关于显示 以 StoneSize 属性为依托,在 set 中加了一句:Width = Height = m_StoneSize ...

  5. Linux第一天 ssh登录和软件安装详解

    Linux学习第一天 操作环境: Ubuntu 16.04 Win10系统,使用putty_V0.63 本身学习Linux就是想在服务器上使用的.实际情况,可能我很难直接到坐在服务器前,使用界面操作系 ...

  6. linux中的输入从定向和输出重定向

    linux的标准的输入和输出为如下 我们在 linux中执行命令时,命令默认输出到console中,很多时候我们需要将命令输出到其他设备上如最常见的就文件中去,或者重文件中输入.那这时候就需要用到li ...

  7. ubuntu下apache重启报Could not reliably determine the server’s fully......

    在Ubuntu上安装Apache,每次重启,都会出现以下错误提示: Could not reliably determine the server’s fully qualified domain n ...

  8. 手动处理datanode磁盘间使用不均的问题

    http://wiki.apache.org/hadoop/FAQ#On_an_individual_data_node.2C_how_do_you_balance_the_blocks_on_the ...

  9. JavaScript 基础回顾——数组

    JavaScript是无类型语言,数组元素可以具有任意的数据类型,同一个数组的不同元素可以具有不同类型.数组的元素设置可以包含其他数组,便于模拟创建多维数组. 1.创建数组 在JavaScript中, ...

  10. 线程同步之 yield() wait()

    yield()没有参数. sleep 方法使当前运行中的线程睡眼一段时间,进入不可运行状态,这段时间的长短是由程序设定的,yield 方法使当前线程让出CPU占有权,但让出的时间是不可设定的.yiel ...