原文:http://blog.csdn.net/justdb/article/details/9621271 版权声明:本文为博主原创文章。

Linux系统的启动时通过读取不同的配置文件,执行相应的Shell脚本完成的。当然本文只是简单的从文件的角度分析,更深层次的本文没涉及。

主要读取了以下文件:

 /boot/grub/grub.conf
/etc/inittab
/etc/rc5.d(rc.d) - Seq
/etc/passwd (Login,input username and password)
/etc/shadow
/etc/profile:init the env var of user
/etc/profile.d/*.sh
~/.bash_profile
~/.bash_history
~/.bashrc
/etc/bashrc

我们首先来看grub.conf文件

 [root@larrywen grub]# ll menu.lst
lrwxrwxrwx. root root 7o?=o?= : menu.lst -> ./grub.conf
[root@larrywen grub]# pwd
/boot/grub
grub.conf文件内容:
default=
timeout=
splashimage=(hd0,)/boot/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux (2.6.-.el6.i686)
root (hd0,)
kernel /boot/vmlinuz-2.6.-.el6.i686 ro
root=UUID=ed98469d-857b-4ae5-91e4-118e0167ead7 rd_NO_LUKS rd_NO_LVM
LANG=en_US.UTF- rd_NO_MD quiet SYSFONT=lat arcyrheb-sun16 rhgb
crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM
initrd /boot/initramfs-2.6.-.el6.i686.img

执行runlevel命令可以看到启动级别是5

 [root@larrywen grub]# runlevel
N

我们进入etc目录,可以看到很多rcX.d目录

 [root@larrywen grub]# cd /etc/init.d  

 [root@larrywen init.d]# cd /etc
[root@larrywen etc]# cd rc
rc rc0.d/ rc1.d/ rc2.d/ rc3.d/ rc4.d/ rc5.d/
rc6.d/ rc.d/ rc.local rc.sysinit

我们进入/etc/profile.d目录,可以看到很多可执行脚本

 [root@localhost test]# ll /etc/profile.d/*.sh
-rw-r--r--. 1 root root 1143 Apr 28 2010 /etc/profile.d/colorls.sh
-rw-r--r--. 1 root root 78 Apr 21 2010 /etc/profile.d/cvs.sh
-rw-r--r--. 1 root root 192 Dec 12 2005 /etc/profile.d/glib2.sh
-rw-r--r--. 1 root root 70 Aug 12 2010 /etc/profile.d/gnome-ssh-askpass.sh
-rwxr-xr-x. 1 root root 288 Sep 24 2009 /etc/profile.d/kde.sh
-rw-r--r--. 1 root root 2706 Sep 2 2010 /etc/profile.d/lang.sh
-rw-r--r--. 1 root root 108 Feb 7 2007 /etc/profile.d/less.sh
-rw-r--r--. 1 root root 933 Jun 30 2010 /etc/profile.d/qt.sh
-rw-r--r--. 1 root root 2142 Sep 8 2010 /etc/profile.d/udisks-bash-completion.sh
-rw-r--r--. 1 root root 269 May 19 2010 /etc/profile.d/vim.sh
-rw-r--r--. 1 root root 169 May 20 2009 /etc/profile.d/which2.sh

因为启动级别是5,所以我们进入rc5.d,可以看到很多文件,S表示当系统启动时执行,K表示当系统关闭时执行。

[root@localhost grub]# ll /etc/rc5.d/
K01certmonger K50netconsole K75ntpdate K89rdisc S11auditd S24avahi-daemon S26pcscd S82abrtd
K01smartd K50snmpd K76ipsec K95cgconfig S11portreserve S24nfslock S26udev-post S85qpidd
K02oddjobd K50snmptrapd K80kdump K95firstboot S12rsyslog S24openct S28autofs S90crond
K10psacct K50vsftpd K80sblim-sfcb S00microcode_ctl S13cpuspeed S24rpcgssd S30vboxadd S95atd
K10saslauthd K60nfs K80sssd S01sysstat S13irqbalance S24rpcidmapd S30vboxadd-x11 S97rhnsd
K15httpd K69rpcsvcgssd K84wpa_supplicant S02lvm2-monitor S13rpcbind S25cups S35vboxadd-service S98tog-pegasus
K20tomcat6 K73ypbind K86cgred S08ip6tables S15mdmonitor S25netfs S50bluetooth S99local
K36mysqld K74nscd K87restorecond S08iptables S22messagebus S26acpid S55sshd
K50dnsmasq K74ntpd K88nslcd S10network S23NetworkManager S26haldaemon S80postfix

我们再来看看用户主目录下的.bashrc文件内容

 [root@localhost grub]# cat ~/.bashrc
# .bashrc # User specific aliases and functions alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i' # Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

我们再来看看用户主目录下的.bash_profile文件内容

 [root@localhost grub]# cat ~/.bash_profile
# .bash_profile # Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH

完整的流程图如下图:

[转] 浅谈Linux系统的启动流程的更多相关文章

  1. 浅谈Linux系统的启动流程

    Linux系统的启动时通过读取不同的配置文件,执行相应的Shell脚本完成的.当然本文只是简单的从文件的角度分析,更深层次的本文没涉及. 主要读取了以下文件:  /boot/grub/grub.con ...

  2. Linux系统的启动流程

    Linux系统的启动流程: 1.通电(通常按下电源键,开始通电) 2.加载BIOS (通常看到显示器提示按F2进入主板) 3.读取MBR (MBR硬盘的入口地址,用来装载引导) 4.进入引导 (通常有 ...

  3. linux系统的启动流程梳理

    1. 不同版本的linux系统的启动流程 1.1 centos6.x系统的启动流程 其详细启动步骤如下: 1)开机,BIOS自检,检查各个硬件是否正常 2)读取硬盘MBR信息,引导系统启动 3)加载g ...

  4. 2021年3月-第01阶段-Linux基础-Linux系统的启动流程

    Linux系统的启动流程 理解Linux操作系统启动流程,能有助于后期在企业中更好的维护Linux服务器,能快速定位系统问题,进而解决问题. 上图为Linux操作系统启动流程 1.加载BIOS 计算机 ...

  5. Linux系统的启动流程以及做个小小的Linux

    内核的作用     进程管理:进程间切换     内存管理:内存空间分割为内核空间和用户空间     IO管理:对底层硬件的使用必须由内来实现,不能由用户空间进程来实现     文件系统管理     ...

  6. Linux系统开机启动流程

    (来源学习Linux时,自己做的笔记) Linux系统有7个运行级别(runlevel)运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动运行级别1:单用户工作状态,root权限, ...

  7. 老司机浅谈linux系统学习技巧

    Linux起源于20世纪70年代,是一种优秀的操作系统系统.初次接触到linux这个系统是在大学期间,这样才发现除了windows外的另外一个有趣系统.开始抱着好奇的心态去了解,随着深入学习,笔者被它 ...

  8. 浅谈Linux系统中如何查看进程

    进程是一个其中运行着一个或多个线程的地址空间和这些线程所需要的系统资源.一般来说,Linux系统会在进程之间共享程序代码和系统函数库,所以在任何时刻内存中都只有代码的一份拷贝. 1,ps命令 作用:p ...

  9. 浅谈Linux系统中如何查看进程 ——ps,pstree,top,w,全解

    进程是一个其中运行着一个或多个线程的地址空间和这些线程所需要的系统资源.一般来说,Linux系统会在进程之间共享程序代码和系统函数库,所以在任何时刻内存中都只有代码的一份拷贝. 1,ps命令 作用:p ...

随机推荐

  1. redis与memcache的区别2

    总结一: memcache官方定义 Free & open source, high-performance, distributed memory object caching system ...

  2. 面向系统管理员的10款Linux GUI工具 (转自51cto)

    如果你是名系统管理员,现已到了Linux非知道不可的地步.如果你在更庞大的环境下工作,更是如此.许多企业组织已迁离了一切都借助点击式GUI来管理的Windows.幸好,Linux也有许多GUI工具可以 ...

  3. 新广告法,极限词剔除,替换掉的mysql语句

    国家级,世界级,最高级, 最佳,最大,第一, 唯一,首个,首选, 最好,最大,精确, 顶级,最高,最低, 最,最具,最便宜, 最新,最先进,最大程度, 最新技术,最先进科学,国家级产品, 填补国内空白 ...

  4. 10.5.2 Boot Block 启动块 - 操作系统教程

    简单一篇文章明白地讲解了计算机操作系统的启动过程 OPERATING SYSTEM CONCEPTS ABRAHAM SILBERSCHATZ PETER BAER GALVIN GREG GAGNE ...

  5. 20145218&20145240 《信息安全系统设计基础》实验一 开发环境的熟悉

    20145218&20145240 <信息安全系统设计基础>实验一 开发环境的熟悉 课程:信息安全系统设计基础 班级:1452 姓名:(按贡献大小排名)刘士嘉 张晓涵 学号:(按贡 ...

  6. Ogre代码学习之1——Ogre中地形lod的基础:deltaHeight的计算

    Ogre的地形系统中的重要概念:高度差,英文HeightDeltas,表示某个完整细节中的顶点,在某个它被隐去的lod中被插值之后的高度和原始高度(即高度图中的高度)之差. DeltaHeight = ...

  7. C# DataGrid合并单元格

    1.栏位枚举 private enum DataGridColumn { ROWNUM = , EMPID, EMPNAME, SEX, SALARY, ADRRESS, PHONE, TEL, PO ...

  8. 临时存存储页面上的数据---js中的cookie

    实现的效果: 当点击某个按钮的时候,实现点击A的同时,弹出B的注册div,使填写在B信息数据保存下来,点击B的确定按钮,B消失,A的图标往后移动一格,原来的位置为图标C,点击C可以弹出来一个链接的页面 ...

  9. Redis的Python客户端redis-py

    1. 安装 1. redis-py a. 使用easy_install 1 sudo easy_install redis  b. 源码安装 1 2 3 git clone https://githu ...

  10. sshpass 用法举例

    关于sshpass 背景 在Linux后台中,经常会用到ssh.scp等命令.需要进行认证,手动输入密码,是交互式的过程. 当将ssh.scp等命令做成自动化脚本时,可能需要非交互式的登录过程,此时可 ...