1、Linux系统的启动过程并不是你们想像中的这么复杂,其过程可以分为5个阶段:
(1)内核的引导。
(2)运行init。
(3)系统初始化。
(4)构建终端。
(5)用户登入系统。
2、内核引导
当计算机打开电源后,首先是BIOS开机自检,根据BIOS中设置的启动设备(一般是硬碟)来启动。操作系统接管硬件之后,首先读入/boot目录下的内核文件。
3、运行init
(1)init进程是系统所有进程的起点,你可以把它比拟成系统所有进程的老祖宗,没有这个进程,系统中任何进程都不会启动。init程序首先是须要读取配置文件/etc/inittab。
(2)运行级别:许多程序须要开机启动。它们在Windows称作'服务'(service),在Linux就称作'守护进程'(daemon)。
init进程的一大任务,就是去运行那些开机启动的程序。而且,不同的场合须要启动不同的程序,例如用作服务器时,须要启动Apache,用作桌面就不须要。
Linux准许为不同的场合,分配不同的开机启动程序,这就称作'运行级别'(runlevel)。也就是说,启动时按照'运行级别',确定要运行什么程序。
(3)Linux系统有7个运行级别(runlevel):
4、系统初始化
在init的配置文件中有如此一行:si::sysinit:/etc/rc.d/rc.sysinit它调用执行了/etc/rc.d/rc.sysinit,而rc.sysinit是一个bashshell的脚本,它主要是完成一些系统初始化的工作linux视频教程,rc.sysinit是每一个运行级别都要首先运行的重要脚本。
它主要完成的工作有:激活交换分区,检测c盘,加载硬件模块以及其它一些须要优先执行任务。
5、建立终端:rc执行完毕后,返回init。这时基本系统环境已然设置好了,各类守护进程也早已启动了。init接出来会打开6个终端,便于用户登入系统。
6、用户登入系统:命令行登陆、ssh登陆、图形界面登陆3种
详情可看这篇博客:/blog/2013/08/linux_boot_process.html
二、Linux死机
1、正确的死机流程为:sync>shutdown>reboot>halt
2、关机指令为:shutdown,你可以manshutdown来看一下帮助文档。
3、实例:
sync#将数据由显存同步到硬碟中。shutdown–h10'Thisserverwillshutdownafter10mins’#这个命令告诉你们linux命令行和shell脚本编程宝典,计算机将在10分钟后死机,而且会显示在登录用户的当前屏幕中。shutdown–hnow#立刻死机shutdown–h20:25#系统会在明天20:25死机shutdown–h10#十分钟后死机shutdown–rnow#系统立刻重启shutdown–r10#系统十分钟后重启reboot#就是重启linux修改默认启动级别,等同于shutdown–rnowhalt#关掉系统,等同于shutdown–hnow和poweroff
4、不管是重启系统,还是关掉系统,首先要运行sync命令,把显存中的数据讲到c盘中。
死机的命令有shutdown–hnow、halt、poweroff和init0,重启系统的命令有shutdown–rnow、reboot、init6。
5、shutdown会给系统计划一个时间死机,它可以被用于停止、关机、重启机器。
shutdown -p now # 关闭机器shutdown -H now # 停止机器 shutdown -r 09:35 # 在 09:35am 重启机器
要取消将要进行的死机,只要输入下边的命令:
shutdown-c
6、halt命令通知硬件来停止所有的CPU功能,并且一直保持通电。你可以用它使系统处于低层维护状态。注意在有些情况会它会完全关掉系统。
# halt ### 停止机器# halt -p ### 关闭机器、关闭电源# halt --reboot ### 重启机器
poweroff会发送一个ACPI讯号来通知系统死机。
#poweroff###关掉机器、关闭电源#poweroff--halt###停止机器#poweroff--reboot###重启机器
reboot命令reboot通知系统重启。
# reboot ### 重启机器# reboot --halt ### 停止机器# reboot -p ### 关闭机器
三、Linux目录结构
1、树状目录结构:
2、一些常用目录的解释:
/bin:bin是Binaries(二补码文件)的简写,这个目录储存着最常常使用的命令。
/etc:etc是Etcetera(等等)的简写,这个目录用来储存所有的系统管理所须要的配置文件和子目录。
/home:用户的主目录,在Linux中,每位用户都有一个自己的目录,通常该目录名是以用户的帐号命名的,如上图中的alice、bob和eve。
/usr:usr是unixsharedresources(共享资源)的简写,这是一个十分重要的目录,用户的好多应用程序和文件都放到这个目录下,类似于windows下的programfiles目录。
/usr/bin:系统用户使用的应用程序。
/usr/sbin:超级用户使用的比较中级的管理程序和系统守护程序。
/var:var是variable(变量)的简写,这个目录中储存着在不断扩展着的东西,我们习惯将这些常常被更改的目录放到这个目录下。包括各类日志文件。
/run:是一个临时文件系统,储存系统启动以来的信息。当系统重启时linux修改默认启动级别,这个目录下的文件应当被删除或去除。假如你的系统上有/var/run目录,应当让它指向run。
3、在Linux系统中,有几个目录是比较重要的,平常须要注意不要误删掉或则随便修改内部文件。
/etc:上面也谈到了,这个是系统中的配置文件,假如你修改了该目录下的某个文件可能会造成系统不能启动。
/bin,/sbin,/usr/bin,/usr/sbin:这是系统预设的执行文件的放置目录,例如ls就是在/bin/ls目录下的。值得提出的是,/bin,/usr/bin是给系统用户使用的指令(除root外的通用户),而/sbin,/usr/sbin则是给root使用的指令。
/var:这是一个十分重要的目录,系统上跑了好多程序,这么每位程序还会有相应的日志形成,而这种日志就被记录到这个目录下,具体在/var/log目录下,另外mail的预设放置也是在这儿。
4、在Linux或Unix操作系统中,所有的文件和目录都被组织成以一个根节点开始的倒置的树形结构。
文件系统的最顶楼是由根目录开始的,系统使用/来表示根目录。在根目录之下的既可以是目录,也可以是文件,而每一个目录中又可以包含子目录文件。这么反复就可以构成一个庞大的文件系统。
在Linux文件系统中有两个特殊的目录,一个用户所在的工作目录,也叫当前目录,可以使用一个点.来表示;另一个是当前目录的上一级目录,也叫父目录,可以使用两个点..来表示。
假如一个目录或文件名以一个点.开始,表示这个目录或文件是一个隐藏目录或文件(如:.bashrc)。即以默认方法查找时,不显示该目录或文件。
5、目录分类介绍
系统启动必须:
指令集合:
外部文件管理:
临时文件:
帐户:
运行过程中要用:
扩充用的: