当前位置: 首页 > news >正文

linux系统的内核,[科普] Linux 的内核与 Linux 系统之间的关系

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

在 FHS 协议里,有这样的规定:

/bin/ 需要在单用户模式可用的必要命令(可执行文件);面向所有用户,例如: cat、 ls、 cp。

/boot/ 引导程序文件,例如: kernel、initrd;时常是一个单独的分区。

我们讲这个问题只需要看这两个目录。

首先,使用命令行,绝不是使用内核,或者说,绝不是直接使用内核。

命令行叫什么?一般我们叫它 shell 。

内核,就叫 kernel 。

shell 的中文意思就是 壳,而 kernel 的意思是 核心。

kernel 是非常重要的核心,一旦它出错整个系统很有可能崩溃,就是 kernel panic。

http://coolshell.cn/articles/5107.html

这里有几张 kernel panic 的图片。

既然 Kernel 如此重要,那么我们就要尽量避免直接与内核交流,而要通过一些命令去与内核交流。这个命令也就被称为 shell 了,其含义与 kernel 对应。

所以,玩命令行的,千万不要说“linux玩的就是内核”这样的话喽!

那么,怎么才能直接使用 kernel 呢?有一个非常著名的例子:

linux 其实也会死机的,死机以后怎么从死机状态出来呢?方法有很多种,我这里只讲系统无论如何都不能自己退出死机状态的情况,因为这个时候,我们就要重启了——不是长按电源键两秒钟,而是向内核发送系统请求。

这个方法,叫做 reisub,这个方法可以在各种情况下安全地重启计算机。大家在键盘上找,可以找到一个叫做“Sys Rq”的键,在台机的键盘上通常与 Prt Sc 共键,在笔记本可能在其他位置,如 Delete。以台机为例,要使用这种方法需要按住 Alt-Print(Sys Rq),然后依次按下 reisub 这几个键,按完 b 系统就会重启。

注意,如果你的为截屏键设置了快捷键,这个重启方法可能无效,你可以切到tty1尝试。

如果还无效的话,是因为内核没有开启此功能,需要 echo 1 > /proc/sys/kernel/sysrq 来开启此功能,或者你可能要重新编译内核(大部分人不需要)。

如果你是天天这样发送系统请求来控制内核,而不用 shell 的,那你可以说,我玩linux玩的就是内核。

相关文章:

  • linux网卡能虚拟多少,Linux网卡虚拟化
  • linux+倒出数据库,linux系统mysql导出数据库
  • 红帽linux编译器安装教程,redhat6.5安装gcc编译器
  • linux 日志管理 pdf,Ubuntu 16.04上安装配置 Graylog 2 日志管理系统
  • Linux卸载langle命令,求助运行一款TAR.GZ软件的问题
  • linux中iptables乱码,Linux中iptables的用法
  • linux卸载cntk,10个深度学习软件的安装指南(附代码)
  • linux的profile文件被删除,Centos7 etc/profile和/bin被误删除的解决办法
  • 深度linux怎么显示图标,Linux(Ubuntu/Deepin) 添加启动图标
  • c语言写入csv 逗号字符串,[转]C语言处理CSV文件的方法,以及kdd cup的简单说明...
  • c语言阅读程序求结果题型,阅卷教师面对面 C语言程序设计五种题型别马虎
  • C语言wait参数status,C语言-系统-wait()和waitpid()函数
  • claim用法c语言中,通过一个例子学习Kubernetes里的PersistentVolumeClaim的用法
  • ipv6报文封装linux,IPv6报文的路由头封装方法及装置与流程
  • android 7下载地址,Android7.0下载地址 安卓7.0系统手机下载安装教程
  • [NodeJS] 关于Buffer
  • 【EOS】Cleos基础
  • 345-反转字符串中的元音字母
  • Android 架构优化~MVP 架构改造
  • C# 免费离线人脸识别 2.0 Demo
  • interface和setter,getter
  • Kibana配置logstash,报表一体化
  • markdown编辑器简评
  • nodejs调试方法
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • SOFAMosn配置模型
  • Spring-boot 启动时碰到的错误
  • Vue2.x学习三:事件处理生命周期钩子
  • vue的全局变量和全局拦截请求器
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 从tcpdump抓包看TCP/IP协议
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 分享一份非常强势的Android面试题
  • 回流、重绘及其优化
  • 开发基于以太坊智能合约的DApp
  • 实战|智能家居行业移动应用性能分析
  • 使用 Xcode 的 Target 区分开发和生产环境
  • const的用法,特别是用在函数前面与后面的区别
  • Java总结 - String - 这篇请使劲喷我
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • #Linux(Source Insight安装及工程建立)
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • (007)XHTML文档之标题——h1~h6
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (C#)一个最简单的链表类
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (六)c52学习之旅-独立按键
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (一)基于IDEA的JAVA基础12
  • (转)为C# Windows服务添加安装程序
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)