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

     本章案例为通过js,动态操作table,实现在单页面进行增删改查的操作. 简要案例如下: <%@ page language="java" contentType=&quo ...

  2. SQL SERVER 2012链接到SQL SERVER 2000的问题解决案例

    前几天在在桦仔的SQLSERVER走起微信公众帐号看到一篇文章MS SQL Server2014链接MS SQL Server 2000,当时手机上囫囵吞枣看了个大概,知道是由于SQL SERVER ...

  3. C#winfrom播放器动态加载歌词

    上周我们进行了结业项目答辩,是播放器项目.有一个关于播放器变唱歌边加载歌词的方法特别有意思,像酷狗那样子歌词和歌曲同步滚播的样子. 这里的工具是Visual Studio 2013,使用语言是C#和. ...

  4. SQL Server 聚合函数算法优化技巧

    Sql server聚合函数在实际工作中应对各种需求使用的还是很广泛的,对于聚合函数的优化自然也就成为了一个重点,一个程序优化的好不好直接决定了这个程序的声明周期.Sql server聚合函数对一组值 ...

  5. 使用 python 收集获取 Linux 系统主机信息

    使用 python 代码收集主机的系统信息,主要:主机名称.IP.系统版本.服务器厂商.型号.序列号.CPU信息.内存等系统信息. #!/usr/bin/env python #encoding: u ...

  6. linux命令详解:md5sum命令

    前言 在网络传输.设备之间转存.复制大文件等时,可能会出现传输前后数据不一致的情况.这种情况在网络这种相对更不稳定的环境中,容易出现.那么校验文件的完整性,也是势在必行的. 使用说明 md5sum命令 ...

  7. MySQL Database on Azure新功能

    本月中国版的MySQL Database on Azure发布了两项新功能: 1.主从复制——只读实例 在这之前Azure上的MySQL数据库也是支持主从复制的,但是只能作为on-premises部署 ...

  8. JPA中entityManager的CRUD

    private EntityManagerFactory entityManagerFactory; private EntityManager entityManager; private Enti ...

  9. Linux环境导入*.sql文件出现数据库为空

    登录mysql命令: 导入.sql文件: 或者: mysql -h127.0.0.1 -uroot -p userDb < /home/user.sql  按回车键后输数据库的密码 导入成功后, ...

  10. Spring多种注入方式及注解实现DI

    一.Bean作用域 spring容器创建的时候,会将所有配置的bean对象创建出来,默认bean都是单例的.代码通过getBean()方法从容器获取指定的bean实例,容器首先会调用Bean类的无参构 ...