Proc文件系统学习

Sysctl是一种用户应用来设置和获得运行时内核的配置参数的一种有效方式,通过这种方式,用户应用可以在内核运行的任何时刻来改变内核的配置参数,也可以在任何时候获得内核的配置参数。

通常,内核的这些配置参数也出现在proc文件系统的/proc/sys

目录下,用户应用可以直接通过这个目录下的文件来实现内核配置的读写操作。

使用register_sysctl_table方式实现内核数据交互,就不得不用提到struct ctl_table

。下面来介绍一下这个结构体。

1 结构体ctl_table

每一个sysctl条目对应一个 struct ctl_table 结构,在该结构体定义在文件./include/

linux/sysctl.h中,定义及解释如下:

/* A sysctl table is an array of struct ctl_table: */

struct ctl_table

{

    const char *procname; /* Text ID for /proc/sys, or zero */

    void *data;

    int maxlen;

    mode_t mode;

    struct ctl_table *child;

    struct ctl_table *parent; /* Automatically set */

    proc_handler *proc_handler; /* Callback for text         formatting */

    void *extra1;

    void *extra2;

};

成员变量解释:

const char *procname;     /* 表示在proc/sys/下显示的文件名称 */

void *data;               /* 表示对应于内核中的变量名称    */

int maxlen;               /* 表示条目允许的最大长度         */

mode_t mode;            /* 条目在proc文件系统下的访问权限 */

struct ctl_table *child;      /*当前目录的子目录*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux系统的文件系统结构是由一系列目录和文件组成的,每个目录和文件都有其特定的功能和作用。 根目录(/)是整个文件系统的顶级目录,所有其他目录和文件都是从根目录开始的。 以下是Linux系统的文件系统结构的主要目录: /bin:包含系统启动和运行时需要的基本命令(如ls、cp、rm等)。 /boot:包含启动Linux系统所需的文件,如内核和引导程序。 /dev:包含所有设备文件,包括硬件设备和虚拟设备。 /etc:包含系统的配置文件,如用户账户、网络设置、服务配置等。 /home:包含所有用户的家目录,每个用户都有一个独立的子目录。 /lib:包含系统运行时需要的共享库文件。 /media:用于挂载可移动设备,如光盘、U盘等。 /mnt:用于挂载其他文件系统。 /opt:用于安装第三方应用程序。 /proc:是一个虚拟文件系统,包含系统和进程的信息。 /root:是超级用户(root)的家目录。 /run:包含系统运行时需要的临时文件,如进程ID、锁文件等。 /sbin:包含超级用户(root)可以运行的基本命令,如系统管理工具等。 /srv:用于存储系统提供的服务数据。 /sys:是一个虚拟文件系统,包含系统硬件信息。 /tmp:用于存储临时文件。 /usr:包含系统的应用程序、库文件、文档等。 /var:包含系统运行时产生的变化文件,如日志文件、缓存文件等。 总的来说,Linux系统的文件系统结构是合理而有序的,方便用户管理和维护系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值