如何利用/proc/filesystems的信息预先知道支持的U盘挂载系统

1   介绍/proc/filesystems

/proc/filesystems里存放着本台机器linux系统支持的文件挂载系统,不同的linux系统可能会得到不同的结果。

2 简要代码

#include <stdio.h>
#include <stdlib.h>
#include <string.h>


static char chFstypeInfo[][10] = 
{
	{"ext3"},
	{"ext2"},
	{"vfat"},
	{"fat"},
  	{"tntfs"},
  	{"ext4"},
	{"ufsd"},
  	{"ntfs3g"},
  	{"fuseblk"}
};

int read_proc_filesystems()
{
    int num = 0;
    FILE * fp = NULL; 
    char chBuffer[1024]={0};
    
    char *pchCmd = "cat /proc/filesystems";
    int len = 0;
    int i =0;

    fp = popen(pchCmd,"r");
    if (NULL == fp)
    {
        printf("popen  %s  r failed",pchCmd);
	return -1;
    }
	
    memset(chBuffer,0,sizeof(chBuffer)); 
    fread(chBuffer,sizeof(chBuffer) -1,1,fp);
	
    if(strlen(chBuffer) == 0)
    {
        pclose(fp);
	return  -1;
    }
    pclose(fp); 

    num = sizeof(chFstypeInfo)/sizeof(chFstypeInfo[0]);
    
    	for(i = 0; i < num ; i++)
	{
		if(strstr(chBuffer,chFstypeInfo[i]) != NULL)
		{
			if(i == 3)
			{
				if(strstr(chBuffer," fat") == NULL) //与vfat区分开
				{
				    continue; 
				} 
                        }
                        printf("\n support filesystem[%s]\n",chFstypeInfo[i]);
                }
	}

}

int main()
{
    read_proc_filesystems();
    return 0;
}


运行结果:

/proc/execdomains文件用于显示当前系统中可执行文件的域列表。每个域都对应着一组可执行文件,这些文件共享相同的执行环境和权限。该文件可以帮助我们了解系统中不同域的可执行文件情况[^1]。 /proc/filesystems文件用于显示当前系统支持的文件系统类型。每一行代表一个支持的文件系统类型,包括文件系统名称和对应的标志。通过查看该文件,我们可以了解系统支持的文件系统类型。 /proc/kpagecgroup文件用于显示内存页的控制组信息。每一行代表一个控制组,包括控制组名称和对应的内存页信息。通过查看该文件,我们可以了解系统中不同控制组的内存页使用情况。 /proc/tp_selftest文件用于显示当前系统中的触摸屏自检信息。该文件包含了触摸屏自检的详细结果,可以帮助我们了解触摸屏的状态和性能。 /proc/meminfo文件用于显示系统内存的使用情况。该文件包含了系统内存的各种统计信息,如总内存、可用内存、缓存、交换空间等。通过查看该文件,我们可以了解系统内存的分配和使用情况。 从这些文件中,我们无法直接获取用户是否安装了第三方ko模块的信息。这些文件主要提供了系统的一些状态和统计信息,而不涉及具体的用户安装模块的情况。要获取用户安装的第三方ko模块信息,可以通过其他途径,如查看系统日志或使用特定的命令来获取相关信息
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值