2Linux系统的启动过程
系统启动过程的5个阶段:
1、内核引导阶段;当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动。
2、运行init阶段;init进程是系统所有进程的起点,没有这个进程,系统中任何进程都不会启动。
-
init程序首先需要读取配置文件/etc/inittab。
-
init运行后,接着动运行开机启动的程序,分配不同的开机启动程序,Linux启动有7个运行级别(
-
运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
-
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
-
运行级别2:多用户状态(没有NFS)
-
运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
-
运行级别4:系统未使用,保留
-
运行级别5:X11控制台,登陆后进入图形GUI模式
-
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
-
3、系统初始化阶段;调用/etc/rc.d目录中的rc完成一些系统初始化的工作,主要是激活交换分区,检查磁盘,加载硬件模块以及其它一些需要优先执行任务。
4、建立终端阶段。rc 执行完毕后,返回 init。这时基本系统环境已经设置好了,各种守护进程也已经启动了。init 接下来会打开6个终端,以便用户登录系统。
5、用户登录系统。分为命令行登录、图形界面登录和SSH登录(远程登录)
命令行登录、图形界面登录是本地登录,由于本地登录只能登录其中一种模式,具体是哪种登录模式,主要看/etc/inittab文件配置文件中默认的运行级别。
/etc/inittab文件在Linux7及以上版本与低版本有区别,网上较多低版本的资料,直接修改文件。Linux7版本通过systemctl工具集命令形式修改运行级别,修改的文件全部改到/etc/systemd/system目录中。
查看当前运行级别:systemctl get-default
修改运行级别为命令行:systemctl set-default multi-user.target
修改运行级别为图形界面:systemctl set-default graphical.target
[root@localhost ~]# systemctl set-default multi-user.target --永久修改动行级别为命令行模式。 Removed symlink /etc/systemd/system/default.target. Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.
[root@localhost ~]# systemctl set-default graphical.target --默认启动图形模式
[root@localhost ~]# cat /etc/systemd/system/default.target
[Unit]
Description=Graphical Interface(Multi-User System)
Documentation=man:systemd.special(7)
Requires=multi-user.target(Basic.target)
Wants=display-manager.service
Conflicts=rescue.service rescue.target
After=multi-user.target rescue.service rescue.target display-manager.service
AllowIsolate=yes
[root@localhost ~]#systemctl set-default multi-user.target --默认启动命令行模式
[root@localhost ~]# cat /etc/systemd/system/default.target
[Unit]
Description=Multi-User System
Documentation=man:systemd.special(7)
Requires=basic.target
Conflicts=rescue.service rescue.target
After=basic.target rescue.service rescue.target
AllowIsolate=yes
如果是临时切换命令行模式或图形模式,可以通过init命令。
[root@localhost ~]#init 3 --从图形模式切换到命令行模式 [root@localhost ~]#init 5 --从命令行模式切换到图形模式
6.Linux的关机和退出
(1)关机和退出
关机流程为:sync > shutdown > halt
关机命令有:shutdown -h now、halt、poweroff、init 0
[root@localhost ~]#init 0 --运行级别为0,即关机
[root@localhost ~]#shutdown -c
(2)重启
重启流程为:sync > reboot > halt
重启命令有:shutdown -r now、reboot、init 6
[root@localhost ~]#reboot [root@localhost ~]#shutdow -r now 或 shutdow -r 0 [root@localhost ~]#init 6
(3)命令提示行解析
[root@localhost ~]#
root:是当前登录账号名
@:是“在”的意思
localhost:是指当前系统名称
~:是表示家目录为当前工作目录,即当前账号默认使用的工作目录
#:表示root账号是超级账号,如果是$表示是普通账号(由超级账号创建的账号)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!