WEB开发网
开发学院操作系统Linux/Unix Linux启动脚本 阅读

Linux启动脚本

 2012-09-12 16:37:00 来源:WEB开发网   
核心提示: 一、开机启动时自动运行程序1, init是所有进程的顶层,init读取/etc/inittab配置2, init调用执行/etc/inittab配置的/etc/rc.d/rc.sysinit脚本 3, rc.sysinit根据inittab执行/etc/rc?.d/目录下的各个脚本4,Linux启动脚本,大多数启动脚

 一、开机启动时自动运行程序

1, init是所有进程的顶层,init读取/etc/inittab配置
2, init调用执行/etc/inittab配置的/etc/rc.d/rc.sysinit脚本
3, rc.sysinit根据inittab执行/etc/rc?.d/目录下的各个脚本
4,大多数启动脚本放置在 /etc/rc.d/init.d下(/etc/init.d是到/etc/rc.d/init.d/的符号链接)

rc?.d中放置的是init.d中脚本的符号链接,命名格式是:
S{number}{name}
K{number}{name}

S开始的文件向脚本传递start参数
K开始的文件向脚本传递stop参数
number决定执行的顺序

其中有文件:S99local 为 ../rc.local(即/etc/rc.d/rc.local的符号连接)

二、Shell自动运行的脚本

Linux在登录和注销过程中,会按以下顺序先后自动执行几个重要的脚本文件:/etc/profile => [/etc/environment] => (~/.bash_profile | ~/.bash_login | ~/.profile) => ~/.bashrc => (/etc/bash.bashrc | /etc/bashrc) => ~/.bash_logout。
以下简要介绍这些脚本文件的运行时机和作用。
/etc/rc.local
Linux启动时执行的脚本。注意,这里指内核启动,发生在登录之前。
/etc/profile
当用户第一次登录时,该文件被执行。在该脚本中,又会调用执行/etc/profile.d目录下的所有脚本。
/etc/environment
建议用于设置全局环境变量,仅debain系列发行版(如Ubuntu)才有。
/etc/bash.bashrc | /etc/bashrc
当bash shell被打开时,该文件被执行。Redhat系列发行版是bashrc,Debian系列发行版是bash.bashrc。
~/.bash_profile | ~/.bash_login | ~/.profile
用于设置专属于某用户的Shell信息,当用户第一次登录时,该文件被执行一次。默认情况下,他设置一些环境变量,然后调用执行用户的~/.bashrc文件。注意,bash启动时按以上列出的顺序查找这三个文件,但只执行最先找到的脚本文件。
~/.bashrc
用于设置专属于某用户的Shell信息,当登录时以及每次打开新的shell时,该文件被执行。 ~/.bash_profile 是交互式、login 方式进入 bash 运行的,~/.bashrc 是交互式 non-login 方式(终端窗口)进入 bash 运行的。
~/.bash_logout
当注销或退出系统时,执行该文件。

Tags:Linux 启动 脚本

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接