Linux教程
Linux系统启动过程
1、内核引导
2、运行init
3、系统初始化
4、运行终端
5、用户登录系统
内核引导
当打开计算机电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动。操作系统接管硬件以后,首先读入 /boot 目录下的内核文件。
运行init
init 进程是系统所有进程的起点,你可以把它比拟成系统所有进程的老祖宗,没有这个进程,系统中任何进程都不会启动。init 程序首先是需要读取配置文件 /etc/inittab(不同版本配置文件可能会有所不同)
运行级别
许多程序需要开机启动。在Windows中叫做"服务"(service),在Linux叫做"守护进程"(daemon)。init进程的一大任务,就是去运行这些开机启动的程序。
系统初始化
在init的配置文件中有这么一行: si::sysinit:/etc/rc.d/rc.sysinit 它调用执行了/etc/rc.d/rc.sysinit,而rc.sysinit是一个bash shell的脚本,它主要是完成一些系统初始化的工作,rc.sysinit是每一个运行级别都要首先运行的重要脚本。它主要完成的工作有:激活交换分区,检查磁盘,加载硬件模块以及其它一些需要优先执行任务。
建立终端
rc执行完毕后,返回init。这时基本系统环境已经设置好了,各种守护进程也已经启动了。init接下来会打开6个终端,以便用户登录系统。
用户登录系统
一般来说,用户的登录方式有三种:
1、命令行登录
2、ssh登录
3、图形登录
Linux关机
shutdown –h now 立马关机
shutdown –h 20:25 系统会在今天20:25关机
shutdown –h +10 十分钟后关机
shutdown –r now 系统立马重启
shutdown –r +10 系统十分钟后重启
reboot 就是重启,等同于 shutdown –r now、init 6
halt 关闭系统,等同于shutdown –h now 和 poweroff、init 0
Linux系统目录结构
/bin
存放着经常使用的命令。
/usr
存放用户的很多应用程序和文件,类似于windows下的program files目录。
常见子目录:
/usr/src 内核源代码默认的放置目录。
/sbin
s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
/etc
存放所有的系统管理所需要的配置文件和子目录。
常见子目录:
/etc/passwd 用户数据库,其中的域给出了用户名、真实姓名、家目录、加密的口令和用户的其他信息。
/etc/login.defs 所有用户登录时缺省值设置。
/etc/inittab init 的配置文件。
/tmp
存放一些临时文件的。
/lib
存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
/var
这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。
常见子目录:
/var/log 这个是登录文件放置日志的的目录。里面比较重要的文件/var/log/messages,/var/log/harry(记录登陆者信息)等。
/var/lib 程序本身执行的过程中,需要使用到的数据文件放置的目录。在此目录下各自的软件应该要有各自的目录。 举例来说,MySQL的数据库放置到/var/lib/mysql/而rpm的数据库则放到/var/lib/rpm去。
/home
用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/boot
这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
/dev
dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
/media
linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
/mnt
临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。