Skip to content

运行级别

Linux运行级别是Linux系统启动后进入的不同的工作状态或模式。每个运行级别都有特定的服务和进程在运行,以满足不同系统的需求。

运行级别的类型

  1. 0:系统停机状态,也就是关机或者重启状态。系统默认运行级别不能设置为0,否则不能正常启动,一开机就自动关机。
  2. 1:单用户状态,也称为单用户模式或者救援模式。该模式具有root权限,用于系统维护,修复文件系统或恢复丢失的密码等操作。禁止远程登录。
  3. 2:多用户状态,但没有NFS网络支持。
  4. 3:完整的多用户模式,也称为多用户文本模式。该模式具有NFS支持,登录后进入控制台命令行模式,适用于服务器环境,提供网络服务但不启动图形界面。
  5. 4:系统未使用状态,通常保留不用。但在一些特殊情况下,例如在笔记本电池用尽时,可以切换到这个模式来做一些设置。
  6. 5:图形化模式,也叫做图形化界面模式。登录后进入图形GUI模式,如windows系统。
  7. 6:系统正常关闭并重启状态。默认运行级别不能设置为6,否则不能正常启动,会一直开机重启。

管理运行级别

  1. 查看当前运行级别

    runlevel
  2. 切换运行级别

    init _level

权限掩码

Linux权限掩码是一个用于设置新创建文件和目录默认权限的掩码值。

定义

定义:权限掩码是一个八进制数,用于默认权限中减去某些权限位。

功能:通过设置合适的权限掩码,可以确保新创建的文件和目录具有适当的访问权限,从而提供系统的安全性。

默认权限掩码的表示

  1. 表示方法:权限掩码通常表示为八进制数,例如002077
  2. 设置方法:
    • 使用umask指令查看当前默认的权限掩码
    • 使用umask指令可以设置新的默认权限掩码。

权限掩码的配置与生效

  1. 临时修改:在命令行终端中直接运行umask命令可以临时修改掩码,但这种修改只在当前会话中有效,绘画结束后会恢复系统默认值。
  2. 持久修改:要永久修改掩码,可以在用户的额shelll配置文件中设置umask命令。
  3. 检查配置结果:重新打开一个绘画结束窗口,使用umask指令查看配置结果。

inode和block

Linux系统中,inodeblock是文件系统中的两个重要的组成部分,他们共同负责文件的存储和管理。

inode

定义:inode是存储文件元信息(metadata)的区域,也成索引节点i节点,全拼是index node

功能:

  • 存储文件的元信息,如文件大小,拥有者,权限,创建时间,修改时间和访问时间等。
  • 提供文件系统的性能优化,通过读区inode来获取文件的属性,而无需读区整个文件。
  • 实现硬链接,inode中的硬链接数属性可以用来记录有多少个文件名指向同一个inode

特点:

  • 每个文件和目录都有一个唯一的inode号与之对应。
  • inode也会消耗磁盘的空间,在硬盘格式化时,操作系统会自动划分inode区来存放inode信息。
  • 如果一个文件系统中的inode数量耗尽,即使磁盘上还有可用的存储空间,也无法在创建新的文件和目录。

查看inode空间

df -ih

//输出如下
Filesystem     Inodes IUsed IFree IUse% Mounted on
devtmpfs         232K   321  232K    1% /dev
tmpfs            236K     8  236K    1% /dev/shm
tmpfs            236K   512  236K    1% /run
tmpfs            236K    18  236K    1% /sys/fs/cgroup
/dev/vda1        2.5M  496K  2.1M   20% /
tmpfs            236K    93  236K    1% /tmp
tmpfs            236K     7  236K    1% /run/user/0

block

定义:block时文件系统存储数据的基本单位。它是由多个连续性的扇区组成。扇区是文件存储的最小单位(每个512字节),而块的大小通常为4KB(即连续8个扇区)。

功能:用于存储文件数据和目录数据。当文件被创建或修改时,数据会被写入到这些块中。

管理:Linux文件系统通过块位图来管理块的使用情况,块位图以二进制的方式记录了哪些块是空闲的,哪些块是被占用的。

特点:

  • 磁盘读区数据是以Block为单位进行读区的。
  • 每读取一个Block都会消耗一次磁盘I/O(input/output,磁盘读写)。
  • 若文件比较大,那么一个文件可能占有多个Block
  • 若文件较小,那么一个Block的剩余空间会被浪费,无论内容有多小。