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

news2024/11/22 19:45:39

系统: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.coloradmin.cn/o/911715.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于微信小程序的美食系统/基于微信小程序的美食网站/基于springboot的美食宣传平台

摘 要 在Internet高速发展的今天&#xff0c;我们生活的各个领域都涉及到计算机的应用&#xff0c;其中包括微信小程序美食天下的网络应用&#xff0c;在外国微信小程序美食天下已经是很普遍的方式&#xff0c;不过国内的美食天下可能还处于起步阶段。微信小程序美食天下具有在…

rook-ceph部署

宿主机&#xff1a; MacBook Pro&#xff08;Apple M2 Max&#xff09; VMware Fusion Player 版本 13.0.2 VM软硬件&#xff1a; ubuntu 22.04.2 4核 CPU&#xff0c;5G 内存&#xff0c;40G硬盘 *每台机器分配硬件资源很重要&#xff0c;可以适当超过宿主机的资源量&am…

【php】windows下php运行已有php web项目环境配置教程

php环境配置教程 php安装composer安装扩展安装redis扩展安装 composer install 本文操作系统使用的是win11&#xff0c;软件PhpStorm 2023.1 php安装 要安装的php版本可以在composer.json看到&#xff0c;下载安装对应版本 windows下载地址https://windows.php.net/download …

华为OD机试之报文重排序【Java源码】

题目描述 对报文进行重传和重排序是常用的可靠性机制&#xff0c;重传缓中区内有一定数量的子报文&#xff0c;每个子报文在原始报文中的顺序已知&#xff0c;现在需要恢复出原始报文。 输入描述 输入第一行为N&#xff0c;表示子报文的个数&#xff0c;0 &#xff1c;N ≤ …

海外聚合广告SDK功能比较

目前主流的广告变现平台数量繁多&#xff0c;开发者在选择第三方聚合广告平台时&#xff0c;如何判别&#xff1f;APP开发者有哪些指标来衡量如何选择聚合广告平台呢&#xff1f; 1、接入及运营成本 广告SDK是否容易接入&#xff1f;聚合平台操作是否简单易懂&#xff1f;广告…

AMBA总线协议(5)——AHB(三):猝发传输

一、前言 在之前的文章中我们详细讲述了关于AHB的基本操作流程&#xff0c;主机要先从仲裁器获得授权&#xff0c;然后进行总线的访问&#xff0c;这样可以避免总线冲突&#xff0c;获得授权后&#xff0c;主机给出地址和控制信号&#xff0c;从机根据自身情况进行响应&#xf…

峰会回顾第7期 | 视窗绘制技术演进和新趋势

本文转载自 OpenHarmony TSC 官方微信公众号《峰会回顾第7期 | 视窗绘制技术演进和新趋势》 演讲嘉宾 | 陈秋林 回顾整理 | 廖 涛 排版校对 | 李萍萍 嘉宾简介 陈秋林&#xff0c;华为终端OS资深架构师、菲尔兹Lab主任&#xff0c;长期从事终端OS研发&#xff0c;先后负责Lit…

“MyBatis中的动态SQL、模糊查询与结果映射“

目录 引言1. MyBatis中的动态SQL1.1 if元素1.2 foreach标签 2. MyBatis中的模糊查询三种形式2.1 #{} 模糊查询2.2 ${} 模糊查询2.3 concat() 模糊查询2.4 MyBatis中#与$的区别 3. MyBatis中的结果映射resultType与resultMap的区别 总结 引言 MyBatis是一个强大而灵活的持久层框…

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」

文章目录 前言1. 本地搭建FastDFS文件系统1.1 环境安装1.2 安装libfastcommon1.3 安装FastDFS1.4 配置Tracker1.5 配置Storage1.6 测试上传下载1.7 与Nginx整合1.8 安装Nginx1.9 配置Nginx 2. 局域网测试访问FastDFS3. 安装cpolar内网穿透4. 配置公网访问地址5. 固定公网地址5.…

关于esp-aliyun的SDK编译常出错的问题1

下载完SDK后一般会将工程文件夹进行修改已适配自己的项目。这时问题就已经存在了。 如下图所示&#xff1a; 阿里云SDK里面的CMakeLists.txt里多处均调用了esp-aliyun这个文件夹。 还是老老实实的别修改esp-aliyun文件名了哈。

【数学建模】清风数模中正课4 拟合算法

拟合算法 在插值算法中&#xff0c;我们得到的曲线一定是要经过所有的函数点的&#xff1b;而用拟合所得到的曲线则不一样&#xff0c;拟合问题中&#xff0c;不需要得到的曲线一定经过给定的点。 拟合的目的是寻求一个函数曲线&#xff0c;使得该曲线在某种准则下与所有的数…

Java“牵手“拼多多商品详情数据、拼多多优惠券信息、拼多多到手价信息获取方法,拼多多API实现批量商品数据抓取示例

拼多多商城是一个网上购物平台&#xff0c;售卖各类商品&#xff0c;包括服装、鞋类、家居用品、美妆产品、电子产品等。要获取拼多多商品详情数据&#xff0c;您可以通过开放平台的接口或者直接访问拼多多商城的网页来获取商品详情信息。以下是两种常用方法的介绍&#xff1a;…

vue3——递归组件的使用

该文章是在学习 小满vue3 课程的随堂记录示例均采用 <script setup>&#xff0c;且包含 typescript 的基础用法 一、使用场景 递归组件 的使用场景&#xff0c;如 无限级的菜单 &#xff0c;接下来就用菜单的例子来学习 二、具体使用 先把菜单的基础内容写出来再说 父…

Django实现音乐网站 ⑿

使用Python Django框架制作一个音乐网站&#xff0c; 本篇主要是加载静态资源和推荐页-轮播图、推荐歌单功能开发。 目录 加载静态资源 引入jquery.js 引入bootstrap资源文件 创建基类模板样式文件 推荐页开发 轮播图开发 下载 加载swiper 自定义引入继承块设置 使用…

CW6B-90A-RCW6B-100A-RCW6B-110A-RCW6B-115A-R三相三线式滤波器

CW4B-10A-S CW4B-20A-S CW4B-30A-S三相三线式滤波器 CW6B-50A-S CW6B-60A-S CW6B-70A-S CW6B-80A-S CW6B-90A-S CW6B-100A-S CW6B-250A-S三相三线式滤波器 CW12B-3A-S(005) CW12B-6A-S(005) CW12B-10A-S(005) CW12B-20A-S(005 CW12B-30A-S(005) CW12B-40A-S(005)三…

代理池在过程中一直运行

Hey&#xff0c;爬虫达人们&#xff01;在爬虫的过程中&#xff0c;要保持代理池的稳定性可不容易。今天就来和大家分享一些实用经验&#xff0c;教你如何让代理池在爬虫过程中一直运行&#xff01;方法简单易行&#xff0c;让你的爬虫工作更顺畅. 在进行爬虫工作时&#xff0…

VisualStudio创建项目模板教程

简介 Visual Studio 项目模板是预先定义的项目结构和设置&#xff0c;可以帮助开发者快速启动新的项目。项目模板中可以包含预配置的文件、资源、设置和代码结构&#xff0c;这样开发者在创建新的项目时就不必从零开始。 以下是Visual Studio项目模板的一些核心点&#xff1a…

HD Supply EDI 到 JSON 方案简介

本文将介绍与HD Supply进行EDI对接&#xff0c;通过调用知行之桥的Admin API及JSON格式来集成业务系统。 准备下载和运行 HD Supply EDI 到 JSON 使用 JSON 生成一系列 EDI 文档与 HD Supply 通信。 下载工作流 下载示例文件 HD Supply EDI到JSON示例流具有预配置的端口…

二、3.中断

中断上半部和下半部是什么&#xff1f; 操作系统是中断驱动的&#xff0c;中断发生后会执行相应的中断处理程序&#xff0c;我们希望 CPU 中断响应的时间越短越好&#xff0c;这样便能响应更多设备的中断。但是中断处理程序还是需要完整执行的&#xff0c;不能光为了提高中断响…

数据结构(3)

线性表是多个具有相同特征的数据的有限序列。 前驱元素&#xff1a;A在B前面&#xff0c;称A为B的前驱元素。 后继元素&#xff1a;B在A后面&#xff0c;称B为A的后继元素。 线性表特征&#xff1a; 1.一个元素没有前驱元素&#xff0c;就是头结点&#xff1b; 2.最后一个…