在日常运维工作中,为Linux系统添加新硬件之前,通常需要先了解当前的资源配置状况。如何快速查询呢?其实操作非常简单——/proc文件系统已经将内核分配的资源信息完整呈现出来。具体来说,/proc/interrupt、/proc/dma、/proc/ioports分别对应系统中断号、DMA通道和I/O端口地址的分配情况。若想确认设备是否已连接到系统,只需执行lsusb命令即可。需要查看已加载的内核模块?lsmod命令会列出所有模块,当然你也可以直接通过cat /proc/modules获取相同的加载信息。
那么问题来了:如果某个模块没有在系统启动时自动加载,能在运行期间随时安装或卸载吗?答案是肯定的。在超级用户权限下,可以使用install module或modprobe module命令自动定位并插入模块到正在运行的内核中;若想移除不再需要的模块,执行rmmod modules即可完成卸载。
介绍完硬件资源查看方法,接下来讨论Linux的运行级别。运行级别采用0到6的数字表示,其中0和6具有特殊含义——分别对应关机与重启,属于过渡状态。系统启动时,第一个被执行的进程是init,它负责启动所有其他进程,同时引导系统进入预设的默认运行级别。常见的默认级别包括2、3和5,具体数值取决于Linux发行版及机器用途。典型的运行级别及其含义可参考下表:

运行级别1即单用户模式,提供一个最基本操作环境,专门用于系统维护任务。例如,当文件系统损坏且系统无法自动修复时,管理员必须进入单用户模式,手动执行修复操作。
设置默认运行级别的方法:在Fedora 17系统中,可通过ln -s /lib/systemd/system/创建软链接。更通用的做法是直接修改/etc/inittab配置文件。若想查看当前系统所处的运行级别,执行runlevel命令即可。切换运行级别有两种常用命令:init和telinit,它们会向正在运行的init进程发送信号,指示其切换到指定级别——注意,此操作需要超级用户权限。
