**************************************************************************************************************************************************************************************
1,开始
2,post加电,系统自检。自检速度主要取决于内存大小。一般是检测物理设备,cpu、内存、设备。
3,加载内核程序(kernel)
4,执行/subin/init程序,创建getty进程,调用login进程,加载用户空间。init作为linux所有进程的鼻祖,
5,执行/etc/inttab,该文件记录着系统默认启动级别,且该文件是所有用户共有的。
0:关机
1:单用户模式
2:多用户无网卡模式
3:多用户命令行模式
4:暂没使用
5:多用户图形界面
6:重启
若要永久修改启动级别,可以在这个文件上进行更改。暂时性更改启动级别:init number
runlevle可查看当前和上一次启动级别。
6:执行/etc/rc.d/rc.sysinit文件,该文件主要是加载字符、块设备驱动。该文件所有用户共有
7:执行rcN.d
-------------------------------------------------------------------------------------------shell启动过程
1,执行并创建了init
2,init创建getty,创建连接终端号
3,getty后创建login,用户可以输入用户账号密码,登陆shell
4,启用bash程序
5,执行/etc/profile(给shell设置环境变量,所有用户通用)
6,在用户目录下查找并执行.bash.profile,设置用户给shell配置的私有环境变量
如果没有找到这个文件,则依次查找.bash_login和.profile
(注:上述三个文件开头有个‘.’号,在该目录下ls是无法显示出的,只有ls -A才可以)
7,执行用户所属的.bashrc,如果要修改用户私有的shell环境变量,则应该在这个文件下修改。
本文出自 “上将军” 博客,请务必保留此出处http://7788cc.blog.51cto.com/7122229/1688195
原文地址:http://7788cc.blog.51cto.com/7122229/1688195