系统启动与登录shell

      系统启动时运行的第一个进程是init。每个进程都有一个称为PID的进程标识号。init是第一个进程,所以它的PID是1。init进程初始化系统,启动另一个进程来打开终端线路并设置标准输入(stdin),标准输出(stdout)和标准错误输出(stderr),三者都与终端关联。标准输入通常来自键盘,标准输出和标准错误输出则显示在屏幕上。完成这些设置后,终端上就会出现登录提示。

       系统会在用户键入用户名后提示输入口令。程序/bin/login通过检查passwd文件的首个字段来确认用户的身份。如果所键入的用户名存在,它会运行一个密码程序来对所键入的口令进行确认。口令验证通过后,login程序设置初始环境。初始环境是一组定义工作环境的变量,这组变量将传给shell。变量HOME、SHELL、USER和LOGNAME根据passwd文件中的信息进行赋值。HOME被设为用户的主目录,SHELL则被设为登录shell的名字,即passwd文件中的最后一列。USER和LOGNAME被赋值为登录名。还设置了变量search path,常用的工具程序可以在该变量指定的目录中找到。login程序结束时执行它在passwd文件最后一列中找到的程序。这个程序通常是一个shell。如果passwd文件最后一列是/bin/csh,执行的就是C shell。如果是/bin/sh或为空,则执行Bourne shell。如果是/bin/ksh或/bin/pdksh,则执行Korn shell。被执行的shell称为登录shell。

       shell启动后
       第一:查找由系统管理员设置的系统级的初始化文件
       在/etc目录中,包括:bashrc,profile以及/etc/profile目录中的脚本文件。简介如下:
       /etc/bashrc:设定别名和一些其它的功能,你可以使用文本编辑器来查看该文件,该文件设定了umask的数值该参数决定了新创建的文件的默认权限,另外还设定了命令行下的提示符。
      /etc/profile:用于设定系统环境,设定PATH、USER、LOGINNAME、MAIL、HOSTNAME、HISTSIZE以及INPUTRC变量。以及最后运行/etc/profile.d目录中的脚本文件。
      /etc/profile.d:一个包含若干用于bash shell脚本文件的目录,这些脚本文件由/etc/profile启动运行。
      第二:
      在用户的主目录中查找是否存在对应的shell初始化文件。如果存在,就会执行这些文件。包括:.bashrc , .profile。这些初始化文件用于进一步定制用户环境。在执行完这些初始化文件之后,就可以启动窗口界面的开发环境,如CDE、Open Windows或Gnome。接着,将显示一个虚拟桌面,该桌面的显示基于配置、控制台以及显示shell提示符的伪终端,此时shell正处于等待输入状态。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值