这是我参与「第四届青训营 」笔记创作活动的第15天。
Linux系统启动过程
主要分为5个阶段:
-
内核的引导
- BIOS开机自检,一般是硬盘来启动,读入/boot目录下的内核文件
-
运行init
- 没有init进程,所有进程都不会启动
- 守护进程:开机的启动程序
- 运行级别:Linux有7个运行级别,级别不同,功能也就不同,当然启动的程序也不同,比如到Linux作为服务器或者作为桌面时的启动程序是不同的。
-
系统初始化
- 激活交换分区、检查磁盘、加载硬件模块以及其他的一些需要优先执行任务
- 当init改变运行级别时,所有相关的守护进程也都会重启。
- 守护进程可以设置
-
建立终端
- init完成后,会打开6个终端
-
用户登录系统
- 命令行登录、ssh登录、图形界面登录
-
Linux关机
sync 将数据由内存同步到硬盘中 shutdown 关机指令 shutdown -h 10/+10/now/20:25 10分钟后/立刻/20:25关机 shutdown -r now/+10 立刻/10分钟后重启 reboot 重启,等同于shutdown -r now halt 关闭系统,等同于shutdown -h now 和poweroff也可以使用halt和poweroff命令,但是halt这里只是停止了所有的CPU功能,但是仍然保持通电,系统仍然处于低层维护阶段。有些情况下会直接关机。
可以使用shutdown -c命令来取消关机
Shell
什么是Shell
Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。如下:
Shell命令
Shell命令分为内部命令和外部命令
内部命令是Shell本身包含的一些命令,这些内部命令的代码是整个shell代码的一个组成部分
外部命令的代码存放在一些二进制的可执行文件以及shell脚本中,处理时,shell脚本会先搜索文件,再调入内存中执行。
Shell的种类
一般为bash和bsh,bsh在bash的基础上增加了许多的特性。
chsh -l 展示/etc/shells的档案内容