当前位置: 首页 > news >正文

如何获取系统下目录的文件系统类型

最近看到一个问题,如何获取当前系统的文件类型?

这个时候就要介绍下/proc/mounts文件:这个文件以/etc/mtab文件的格式给出当前系统所安装的文件系统信息。同时也能反映出任何手工安装从而在/etc/mtab文件中没有包含的文件系统。

我们可以通过cat /proc/mounts查看挂载文件系统的状态。

root@firefly:~# cat /proc/mounts
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
udev /dev devtmpfs rw,nosuid,relatime,size=1960196k,nr_inodes=490049,mode=755 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /run tmpfs rw,nosuid,noexec,relatime,size=393192k,mode=755 0 0
/dev/mmcblk1p7 /root-ro ext4 ro,relatime,data=ordered 0 0
/dev/mmcblk1p8 /userdata ext4 rw,relatime,data=ordered 0 0
overlayroot / overlay rw,relatime,lowerdir=/root-ro,upperdir=/userdata/rootfs_overlay,workdir=/userdata/rootfs_overlay-workdir/_ 0 0
securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0
tmpfs /dev/shm tmpfs rw,nosuid,nodev 0 0
tmpfs /run/lock tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k 0 0

mounts文件包含6列

  • Device mount的设备
  • Mount Point 挂载点,也就是挂载的路径
  • File System Type 文件系统类型,如ext4、xfs等
  • Options 挂载选项,包括读写权限等参数
  • 无用内容,保持内容和**/etc/fstab**格式一致
  • 无用内容,保持内容和**/etc/fstab**格式一致

下面写个程序提取下设备名,挂载目录,文件系统类型等参数。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>#define MOUNTS_INFO        "/proc/mounts"typedef struct
{char devName[32];char dirName[16];char fsType[16];char authority[16];
}PartitionInfo;int getPartitionInfo(char *pPartitionName,PartitionInfo *pPartitionInfo)
{FILE *fp = NULL;char str[128] = {0};char *p = NULL,*q = NULL,*pTmpStr = NULL;int i = 0;fp = fopen(MOUNTS_INFO, "r");if (fp < 0){printf("open %s failed\n",MOUNTS_INFO);return -1;}while (NULL != fgets(str,sizeof(str),fp)){p = strstr(str,pPartitionName);if (NULL != p){for(i = 0;i < 4; i++){if (0 == i){q = strtok_r(str," ",&pTmpStr);strcpy(pPartitionInfo->devName,q);}if (1 == i){q = strtok_r(p," ",&pTmpStr);strcpy(pPartitionInfo->dirName,q); }  if (2 == i){q = strtok_r(p," ",&pTmpStr);strcpy(pPartitionInfo->fsType,q); }  if (3 == i){q = strtok_r(p,",",&pTmpStr);strcpy(pPartitionInfo->authority,q);}   p = pTmpStr;                         }        }}fclose(fp);return 0;
}
int main()
{int status = -1;PartitionInfo partitionInfo;memset(&partitionInfo,0,sizeof(PartitionInfo));status = getPartitionInfo("/dev/pts",&partitionInfo);if(status < 0){printf("get  partition info failed\n");return -1;}printf("devName:%s\n",partitionInfo.devName);printf("dirName:%s\n",partitionInfo.dirName);printf("fsType:%s\n",partitionInfo.fsType);printf("authority:%s\n",partitionInfo.authority);return 0}

运行结果

root@firefly:~/mnt# ./get_fsType 
devName:devpts
dirName:/dev/pts
fsType:devpts
authority:rw

相关文章:

如何获取系统下目录的文件系统类型

最近看到一个问题&#xff0c;如何获取当前系统的文件类型&#xff1f; 这个时候就要介绍下/proc/mounts文件&#xff1a;这个文件以/etc/mtab文件的格式给出当前系统所安装的文件系统信息。同时也能反映出任何手工安装从而在/etc/mtab文件中没有包含的文件系统。 我们可以通…...

【Linux】GCC编译器的使用

目录 前言&#xff1a; 一、GCC编译过程 1.预处理&#xff1a; 2.编译 3.汇编 4.链接 二、制作、使用动态库和静态库 1.静态库 2.动态库 三、好用的选项 1.gcc -E main.c 2.gcc -E -dM main.c > 1.txt 3.gcc -Wp,-MD,abc.dep -c -o main.o main.c 4.echo main(){}| …...

浅谈一下socks5协议原理详解与应用场景分析

SOCKS5协议是一种网络传输协议&#xff0c;主要用于代理服务器和客户端之间的通信。它能够通过认证授权等多种方式&#xff0c;提供安全可靠的代理服务&#xff0c;适用于各种应用场景。 SOCKS5协议原理&#xff1a; 1.连接建立&#xff1a;客户端向代理服务器发送连接请求&…...

java面试准备17

事务的四大特性 &#xff08;1&#xff09;原子性&#xff1a;事务执行的最小单位&#xff0c;不可被分割&#xff0c;事务的原子性保证事务中的一连串动作要么都执行&#xff0c;要么都不执行。 &#xff08;2&#xff09;一致性&#xff1a;执行事务前后的数据保持一致&…...

ffmpeg的滤镜

FFmpeg 是一款开源的跨平台音视频处理工具&#xff0c;它提供了众多功能强大的滤镜用于视频/音频的加工处理。其中&#xff0c;滤镜(Filter)是 FFmpeg 中一个十分重要且常用的组件&#xff0c;它们可以实现对视频和音频的各种操作和变化&#xff0c;如转码、编解码、剪裁、裁剪…...

springboot项目感受03

继续上文 01.数据的部分已经完成了&#xff0c;此时需要考虑到前端与用户交互的部分&#xff0c;这里就需要网页html&#xff0c;服务器响应servlet。 网页的部分&#xff0c;html文件放在resource目录下的template文件中&#xff0c;servlet变成了controller包&#xff0c;其…...

notion插件:为你的工作流带来新生

在本文中&#xff0c;我们将介绍Notion的几款有助于提高生产力的插件。这些插件将加强Notion的功能&#xff0c;并为你的工作流程带来更多的便利。 我们特地为你准备了这本漫游指南&#xff1a;收录各种工具、信息和资源&#xff0c;携你共同探索浩瀚美丽的互联网海洋。 snackt…...

【python】Jupyter的使用(python代码编辑器)

文章目录一、Jupyter的介绍1、Jupyter是什么&#xff1f;2、Jupyter有什么独特之处&#xff1f;二、Jupyter的安装1、首先要下载python2、用pip命令下载Jupyter三、Jupyter的使用1、运行Jupyter2、简要介绍Jupyter的使用方法3、快捷键的使用四、总结一、Jupyter的介绍 1、Jupy…...

面试官:你做过什么有亮点的项目吗?

前言 面试中除了问常见的算法网络基础&#xff0c;和一些八股文手写体之外&#xff0c;经常出现的一个问题就是&#xff0c;你做过什么项目吗&#xff1f; 面试官其实是想看看你做过什么有亮点的项目, 其实大家日常做的项目都差不多&#xff0c;增删改查&#xff0c;登录注册&…...

【华为OD机试真题】猜字谜(javapython)

猜字谜 时间限制:1s空间限制:256MB 限定浯言:不限 题目描述: 小王设计了一个简单的猜字谜游戏,游戏的谜面是一个错误的单词,比如nesw,玩 家需要猜出谜底库中正确的单词。猜中的要求如下: 对于某个谜面和谜底单词,满足下面任一条件都表示猜中: 变换顺序以后一样的,…...

制作真人手办有哪些不便?怎么解决?

相信很多朋友都喜欢拍摄写真&#xff0c;比如孩子生日的时候&#xff0c;结婚纪念的时候&#xff0c;写真照片能留存住很多美好的记忆。 不过随着科技的发展&#xff0c;大家已经不能满足只靠照片来记录生活了&#xff0c;越来越多的人开始盯上了手办这件物品。将真人的照片和…...

网络安全行业现在好混吗,工资水平怎么样?

前段时间看到有人私信&#xff1a;网络安全行业现在好混吗&#xff0c;工资水平怎么样&#xff1f;今天在这里做个回答&#xff0c;不知你所说的“好混吗”指的是什么&#xff1f; 薪资高&#xff0c;待遇好&#xff1f;不加班&#xff0c;活儿少&#xff1f;不受气&#xff0…...

【SpringBoot】面试组合技-天羽屠龙舞,SpringBootApplication注解的作用是什么?SpringBoot怎么实现自动装配的?

SpringBoot源码下载地址&#xff1a;https://github.com/spring-projects/spring-boot/tags 文章目录&#x1f35f;下载源码&#x1f357;环境准备&#x1f356;注解解析&#x1f35d;SpringBootConfiguration注解&#x1f35b;EnableAutoConfiguration注解&#x1f364;AutoC…...

2023-4-10-用Pthreads计算积分

&#x1f37f;*★,*:.☆(&#xffe3;▽&#xffe3;)/$:*.★* &#x1f37f;&#x1f4a5;&#x1f4a5;&#x1f4a5;欢迎来到&#x1f91e;汤姆&#x1f91e;的csdn博文&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49f;&#x1f49f;喜欢的朋友可以关注一下&#xff0…...

什么是js?js的基本使用

JavaScript&#xff08;简称“ js”&#xff09; 是一种具有函数优先的轻量级&#xff0c;解释型或即时编译型的编译语言虽然它是作为开发WEB页面的脚本语言而出名&#xff0c;但是它也被用到了很多非浏览器环境中&#xff0c;JavaScript 基于原型编程、多范式的动态脚本语言&a…...

自然数的拆分问题 字典序

目录 自然数的拆分问题 字典序 程序设计 程序分析 自然数的拆分问题 字典序 对于大于1的自然数N,可以拆分成若干个大于等于1的自然数之和。 Input 一个大于1的自然数N Output 所有的拆分情况.按字典序排列。 Sample Input...

软件测试——概念篇

目录 一、软件的生命周期 二、瀑布模型&#xff08;Waterfall Model&#xff09; 优点&#xff1a; 缺点&#xff1a; 三、螺旋模型&#xff08;Spiral Model&#xff09; ​编辑优点&#xff1a; 缺点&#xff1a; 四、增量、迭代 区别&#xff1a; 五、敏捷 scrum…...

Qsort函数的应用与讲解

解释&#xff1a; qsort排序函数&#xff0c;即讲一段数组&#xff0c;字符串等进行有序的排列 分析&#xff1a; void qsort (void* base,//要排序的数组的首元素&#xff08;就是数组名&#xff09;size_t num, //要排序的数组元素的个数size_t size,//每个元素的字节大小&…...

蓝桥杯嵌入式第九届客观题解析

文章目录 前言一、题目1二、题目2三、题目3四、题目4五、题目5六、题目6七、题目7八、题目8九、题目910、题目10总结前言 本篇文章为大家带来第九届客观题的讲解。 一、题目1 STM32F103RBT6 微控制器是一款基于 ARM Cortex-M3 内核的单片机,它具有多个外设和总线,包括 APB1…...

多元函数的基本概念——“高等数学”

各位CSDN的uu们你们好呀&#xff0c;今天&#xff0c;小雅兰的内容是多元函数的基本概念&#xff0c;下面&#xff0c;让我们一起进入多元函数的世界吧 平面点集 多元函数的概念 多元函数的极限 多元函数的连续性 有界闭区域上多元连续函数的性质 平面点集 第一个是坐标平…...

Python3.8环境管理:用Miniconda轻松创建多个项目环境

Python3.8环境管理&#xff1a;用Miniconda轻松创建多个项目环境 1. 为什么需要Python环境管理 在日常开发中&#xff0c;我们经常会遇到这样的问题&#xff1a;项目A需要Python3.6和TensorFlow1.15&#xff0c;而项目B需要Python3.8和TensorFlow2.4。如果直接在系统上安装这…...

告别“手搓论文”焦虑:百考通AI期刊写作全流程通关秘籍

从选题到投稿&#xff0c;一套工具&#xff0c;帮你避开90%的审稿雷区 在学术研究的漫长旅途中&#xff0c;许多研究者都曾面临这样的困境&#xff1a;精心培育的 idea&#xff0c;扎实的实验数据&#xff0c;却在转化为论文、投向期刊的“最后一公里”屡屡碰壁。不是因为研究本…...

保姆级教程:在RHEL 8上彻底搞定X-Server远程连接,让xeyes不再报‘Error can‘t open display‘

深度解析RHEL 8远程X11连接&#xff1a;从原理到实战的全链路解决方案 当你在RHEL 8服务器上尝试通过SSH转发X11图形界面时&#xff0c;是否遇到过xeyes测试程序报出"Error: Cant open display"的困扰&#xff1f;这看似简单的错误背后&#xff0c;实际上隐藏着新版R…...

nRF Connect扫描功能保姆级教程:从过滤广播数据到分析RSSI信号图,手把手教你精准定位蓝牙设备

nRF Connect扫描功能实战指南&#xff1a;从设备筛选到信号优化的全流程解析 当你面对展会现场上百个闪烁的蓝牙设备指示灯&#xff0c;或是实验室里数十个同型号的传感器节点时&#xff0c;如何快速锁定目标设备就像大海捞针。nRF Connect作为蓝牙开发者的瑞士军刀&#xff0c…...

RTX 4060笔记本也能玩转AI绘画?Nunchaku FLUX.1-dev量化版亲测体验报告

RTX 4060笔记本也能玩转AI绘画&#xff1f;Nunchaku FLUX.1-dev量化版亲测体验报告 1. 开箱即用的AI绘画体验 作为一名长期使用中端显卡的AI爱好者&#xff0c;当我第一次听说Nunchaku FLUX.1-dev量化版可以在RTX 4060笔记本上运行时&#xff0c;内心充满了怀疑。毕竟&#x…...

DanKoe 视频笔记:赚钱是精神性的:破除“高尚的失败者”的迷思 [特殊字符]

在本节课中&#xff0c;我们将要学习一种关于金钱、商业和道德的全新视角。我们将探讨为何将赚钱视为不道德是一种幻觉&#xff0c;以及这种观念如何阻碍你为世界创造真正的价值。 在当今世界&#xff0c;最糟糕的事情之一就是陷入“高尚的失败者”的思维模式。许多聪明人讨厌…...

睿尔曼超轻量仿人机械臂--控制器与末端接口深度解析

1. 睿尔曼机械臂接口设计理念解析 第一次拿到睿尔曼机械臂时&#xff0c;最让我惊讶的是它的极简设计——传统机械臂必备的控制柜、示教器和缠绕的线缆统统不见了&#xff0c;整个系统就只有一个机械臂本体。这种高度集成化的设计背后&#xff0c;其实隐藏着两个关键接口模块&a…...

告别Postman!用VSCode REST Client插件管理你的HTTP请求(附环境变量实战)

告别Postman&#xff01;用VSCode REST Client插件管理你的HTTP请求&#xff08;附环境变量实战&#xff09; 在开发者的日常工作中&#xff0c;API调试是不可或缺的一环。传统上&#xff0c;Postman等独立工具占据了主导地位&#xff0c;但随着开发工具链的整合趋势&#xff0…...

基于构件的软件工程(CBSE)全面解析:从理论到实践

1 CBSE的历史背景与核心理念1.1 起源与发展历程基于构件的软件工程&#xff08;Component-Based Software Engineering&#xff0c;CBSE&#xff09;是20世纪90年代兴起的一种主流软件开发方法论。其核心思想源于软件复用的理念&#xff0c;即通过集成预制的独立功能单元&#…...

Phi-3-vision-128k-instruct黑马点评项目AI升级:实现菜品图片智能识别与推荐

Phi-3-vision-128k-instruct黑马点评项目AI升级&#xff1a;实现菜品图片智能识别与推荐 1. 引言&#xff1a;餐饮应用的智能化痛点 在餐饮行业数字化浪潮中&#xff0c;"黑马点评"作为一款广受欢迎的美食点评应用&#xff0c;面临着用户需求升级的挑战。传统模式下…...