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

Linux系统查看文件系统类型C代码

系统:VM Ubuntu
实现Linux系统下通过输入指定路径查看文件系统类型,MSDOS_SUPER_MAGIC,NTFS_SUPER_MAGIC和EXT4_SUPER_MAGIC这些宏定义并不是在sys/mount.h中定义的,它们实际上是在linux/magic.h头文件中定义的。不同系统下宏定义可能不一样,可以直接通过数值查看,比如:

if (fs.f_type == 0x4d44) {fstype = "FAT";}

输入指定路径
在这里插入图片描述

代码如下:

#include <stdio.h>
#include <sys/vfs.h>
#include <linux/magic.h>int main(int argc,char *argv[])
{struct statfs fs;//const char *path = "/mnt/usb"; // 替换为你实际的U盘挂载路径const char *path = argv[1];printf("path: %s\n",argv[1]);if (statfs(path, &fs) == -1) {perror("Failed to statfs");return 1;}const char *fstype;if (fs.f_type == MSDOS_SUPER_MAGIC) {fstype = "FAT";} else if (fs.f_type == AFS_FS_MAGIC) {fstype = "NTFS";} else if (fs.f_type == EXT4_SUPER_MAGIC) {fstype = "ext4";} else {fstype = "Unknown";}printf("File system type: %s\n", fstype);return 0;
}

生成执行文件:

gcc -o get_fs_type get_fs_type.c
http://www.lryc.cn/news/134428.html

相关文章:

  • Python中的正则表达式
  • 第六章,创作文章
  • Win10c盘满了怎么清理?快速清理,5个方法!
  • 回归预测 | MATLAB实现GWO-BP灰狼算法优化BP神经网络多输入单输出回归预测(多指标,多图)
  • docker 06(docker compose)
  • 非阻塞重试与 Spring Kafka 的集成测试
  • 基于 Debian 12 的MX Linux 23 正式发布!
  • Nginx代理功能与负载均衡详解
  • 部署问题集合(特辑)虚拟机常用命令
  • 【Git】如何将本地文件进行Git仓库归档
  • uniapp 使用腾讯视频 的 坑
  • LinkedList
  • 创作新纪元:知乎、阅文加码AI大模型,撬动创作者经济
  • PAT(Advanced Level) Practice(with python)——1067 Sort with Swap(0, i)
  • Python爬取斗罗大陆全集
  • 前馈神经网络解密:深入理解人工智能的基石
  • 顺序栈Sequential-stack
  • 关于工牌(必须5-10个字)
  • PHP混淆加密以及常用的一些加密工具
  • 无涯教程-PHP - ereg()函数
  • 【Ubuntu】简洁高效企业级日志平台后起之秀Graylog
  • TCP特点UDP编程
  • 超级计算机
  • LeetCode863. 二叉树中所有距离为 K 的结点(相关话题:深度遍历,广度遍历)
  • Kotlin 基础学习
  • CW6B-90A-RCW6B-100A-RCW6B-110A-RCW6B-115A-R三相三线式滤波器
  • DP读书:鲲鹏处理器 架构与编程(九)鲲鹏920处理器片上系统
  • 【HBZ分享】java中的BitSet 与 Redis中的BitMap 与 布隆过滤器
  • 《Linux从练气到飞升》No.16 Linux 进程地址空间
  • 【算法题】7004. 判别首字母缩略词