博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
proc文件系统的简介
阅读量:5057 次
发布时间:2019-06-12

本文共 1042 字,大约阅读时间需要 3 分钟。

proc目录的文件大小都是0,因为这些文件本身并不存在与硬盘中,也不是一个真实的文件,他只是一接口,当我们去读取这个文件的时候,其实内核并不是去硬盘里面找这个文件,而是映射为内核中的一个数据结构被读取并且格式化成字符串返回给我的,所以尽管我们看到的文件内容字符串,和普通文件一样,但是实际上我们知道这个内容是实时从内核中数据结构来的而不是硬盘中来的。
主要下面介绍什么使用:
一般是用cat命令来查看。 例如cat /proc/devices查看安装的驱动。
在shell中用cat命令结合正则表达式进行处理
还可用文件IO来读取。测试代码如下:
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
int main(int argc, char **argv)
{
int fd = -1;
char buff[512] = {0};
if(argc !=2)
{
printf("usge: %s version|devices",argv[0]);
return -1;
}
if(!strcmp(argv[1],"-v"))
{
fd = open("/proc/version",O_RDONLY);
}
else if(!strcmp(argv[1],"-d"))
{
fd = open("/proc/devices",O_RDONLY);
}
if(fd<0)
{
perror("open:");
return 0;
}
read(fd,buff,sizeof(buff));
printf("result :%s",buff);
return 0;
}
再简单的介绍下sys文件系统,和proc文件系统一样,都是虚拟文件系统,都在/目录下有一个目录/sys目录。都是不是硬盘中的文件都是内核中的数据结构的可视化的接口。和proc不一样的就是,/proc中的文件只能读,/sys中的文件可读可写的,读/sys中的文件就是获取数据结构的值,而写入/sys就是设置内核中的数据结构的元素的值。为啥需要两个呢?是历史原因,先有proc文件系统来调内核,实际效果也不错。

转载于:https://www.cnblogs.com/lifeng40433/p/9510816.html

你可能感兴趣的文章
Objective - C基础: 第四天 - 10.SEL类型的基本认识
查看>>
Android TextView加上阴影效果
查看>>
OA项目设计的能力③
查看>>
《梦断代码》读书笔记(三)
查看>>
Java8 Lambda表达应用 -- 单线程游戏server+异步数据库操作
查看>>
[Unity3D]Unity3D游戏开发MatchTarget的作用攀登效果实现
查看>>
AngularJS学习篇(一)
查看>>
关于Xshell无法连接centos6.4的问题
查看>>
css3动画——基本准则
查看>>
输入月份和日期,得出是今年第几天
查看>>
pig自定义UDF
查看>>
Kubernetes 运维学习笔记
查看>>
spring security 11种过滤器介绍
查看>>
代码实现导航栏分割线
查看>>
Windows Phone开发(7):当好总舵主 转:http://blog.csdn.net/tcjiaan/article/details/7281421...
查看>>
一个mysql主从复制的配置案例
查看>>
大数据学习系列(8)-- WordCount+Block+Split+Shuffle+Map+Reduce技术详解
查看>>
【AS3代码】播放FLV视频流的三步骤!
查看>>
枚举的使用
查看>>
luogu4849 寻找宝藏 (cdq分治+dp)
查看>>