dd命令测试

以下两条Shell分别测试写入和读取usb.zip的文件从/media/$(whoami)/w/目录,就是U盘的挂载点(硬盘测试也可以这样):

time dd if=/dev/zero of=/media/$(whoami)/w/usb.zip bs=1024 count=4000000
time dd if=/media/$(whoami)/w/usb.zip bs=128k | dd of=/dev/null

Linux C  下面读取文件夹要用到结构体struct dirent,在头#include <dirent.h>中,如下:

#include <dirent.h>
struct dirent
{
long d_ino; /* inode number 索引节点号 */
off_t d_off; /* offset to this dirent 在目录文件中的偏移 */
unsigned short d_reclen; /* length of this d_name 文件名长 */
unsigned char d_type; /* the type of d_name 文件类型 */
char d_name [NAME_MAX+1]; /* file name (null-terminated) 文件名,最长255字符 */
}

其中d_type表明该文件的类型:文件(8)、目录(4)、链接文件(10)等。

U盘速度测试源码:

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

int readFileList(char *basePath){
    DIR *dir;
    struct dirent *ptr;
    char base[100];
    char wstr[100],rstr[100];
    if ((dir=opendir(basePath)) == NULL)
    {
        perror("Open dir error...");
        exit(1);
    }
    while ((ptr=readdir(dir)) != NULL){
        if(strcmp(ptr->d_name,".")==0 || strcmp(ptr->d_name,"..")==0)
            continue;
        else if(ptr->d_type == 4){
            printf("d_name:%s\n",ptr->d_name);
            
            memset(wstr,'\0',sizeof(wstr));
            strcpy(wstr,"time dd if=/dev/zero of=/media/$(whoami)/");
            strcat(wstr,ptr->d_name);
            strcat(wstr,"/usb.zip bs=1024 count=51200");
            printf("Write Test:\n");
            system(wstr);

memset(rstr,'\0',sizeof(rstr));
            strcpy(rstr,"time dd if=/media/$(whoami)/");
            strcat(rstr,ptr->d_name);
            strcat(rstr,"/usb.zip bs=128 | dd of=/dev/null");
            printf("Read Test:\n");
            system(rstr);
        }    
        else {
            memset(base,'\0',sizeof(base));
            strcpy(base,basePath);
            readFileList(base);
        }
    }
    closedir(dir);
    return 1;
}

int main(int argc, char *argv[]){
    printf("the current dir is :%s\n",argv[1]);
    DIR *dir;
    readFileList(argv[1]);
    return 0;
}
执行时需要带路径,如./a.out /media/$(whoami)/
其中/media/$(whoami)/为Ubuntu下U盘挂载的路径

Linux U盘检测与速度测试源码相关推荐

  1. FastCopy和ExtremeCopy同盘移动文件速度测试比较评测

    FastCopy和ExtremeCopy同盘移动文件速度测试比较评测 一般情况下我只用 <ExtremeCopy 专业版 2.3.4 绿色破解版> 这款软件来复制文件.而不会去使用Fast ...

  2. 车牌检测模型训练(含源码和数据集)

    车牌检测模型训练(含源码和数据集) 本教程利用NVIDIA TAO进行车牌检测模型的训练: 模型框架:SSD 数据集: CRPD, 连接:https://github.com/yxgong0/CRPD ...

  3. uni-app云开发的网盘助手微信小程序源码抓取网盘资源引流好助手

    uni-app云开发的网盘助手微信小程序源码抓取网盘资源引流好助手 这是一款uni-app开发的一款网盘小助手小程序源码 该源码主要用于用户输入关键词然后全网抓取百度网盘资源内容 另外呢该小程序还可以 ...

  4. Linux中mknod命令实现原理以及源码分析

    本篇文章以mknod创建字符设备文件进行讲解 字符设备驱动的Demo例子可参考该篇文章 Linux 编写简单驱动并测试 1. mknod 命令 mknod /dev/hello c 520 0 该命令 ...

  5. 09 编译2022年最新的Linux kernel、U-Boot和BusyBox rootfs源码,并用QEMU模拟器运行

    编译2022年最新的Linux kernel.U-Boot和BusyBox rootfs源码,并用QEMU模拟器运行 作者 将狼才鲸 创建日期 2022-11-26 Gitee源码和工程地址:才鲸嵌入 ...

  6. 基于YOLOv5行人车辆跟踪检测识别计数系统源码+数据集,实现出/入分别计数

    yolov5 deepsort 行人 车辆 跟踪 检测 计数 下载地址:基于YOLOv5行人车辆跟踪检测识别计数系统源码+数据集 实现了 出/入 分别计数. 默认是 南/北 方向检测,若要检测不同位置 ...

  7. 视频教程-YOLOv3目标检测:原理与源码解析-计算机视觉

    YOLOv3目标检测:原理与源码解析 大学教授,美国归国博士.博士生导师:人工智能公司专家顾问:长期从事人工智能.物联网.大数据研究:已发表学术论文100多篇,授权发明专利10多项 白勇 ¥78.00 ...

  8. java计算机毕业设计海南自贸港知识学习与测试源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计海南自贸港知识学习与测试源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计海南自贸港知识学习与测试源码+mysql数据库+系统+lw文档+部署 本源码技术栈: ...

  9. 戴眼镜检测和识别3:Android实现戴眼镜检测和识别(含源码,可实时检测)

    Android实现戴眼镜检测和识别(含源码,可实时检测) 目录 Android实现戴眼镜检测和识别(含源码,可实时检测) 1.戴眼镜检测和识别方法 2.戴眼镜人脸检测 3.戴眼镜识别模型训练 4.戴眼 ...

  10. springboot风电检测物联网平台JAVA源码 iot物联网源码

    springboot风电检测物联网平台JAVA源码 iot物联网源码,仅供测试学习使用. 此项目为模拟风电场监控项目,功能包括电厂信息,风机配置,数据统计,故障记录,风速统计,功率统计,机舱实时信息等 ...

最新文章

  1. WaitForSingleObject和WaitForMultipleObjects用法
  2. Dockerfile中通过ENV指定动态参数在RUN时传递参数(部署后台jar包时指定端口为例)
  3. (转)OpenLayers3基础教程——OL3 介绍interaction
  4. 25. Magento 创建新闻模块(5)
  5. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks论文翻译
  6. pythonunicode编码_python unicode 编码整理
  7. IT痴汉的工作现状31-跳槽小贴士
  8. 零基础想要做好人物角色模型,先了解人体的构造!快来康康
  9. 开水果店的水果怎么保鲜,新手开水果店水果保鲜方法
  10. 散列表及散列冲突解决方案
  11. CUDA编程 -- 2向量加法
  12. mydumper 介绍及使用
  13. mysql5.1.35_在Windows上安装MySql 5.1.35 Noinstall版
  14. (2023)CUDA11.7+Python3.9+Pytorch GPU安装
  15. 你知道自己究竟“想要”什么,又该如何“做到”吗?--《认知觉醒》读书笔记
  16. android和Mac共享文件,这可能是 Mac 共享文件最详细的教程了
  17. Codeforces Contest 1144 E Median String —— 水题
  18. 微信分享第三方连接(H5页面)自定义缩略图、标题、描述(显示分享框,而不是链接)(微信JS-SDK)
  19. 计算机公式above,word表格中求和公式是SUM(ABOVE).请问:括号中ABOVE是什么意思呢?
  20. SAP SD:VL10A上清不掉的尾巴

热门文章

  1. 百度AI-语音识别图片搜索(Java)
  2. 【易语言】大漠插件使用
  3. 专用计算机数控编程软件有哪些,大家都用什么数控编程软件
  4. 基于MATLAB的温度报警,基于Matlab的小型温度检测系统设计
  5. H桥原理、驱动及应用
  6. 加解密篇 - 非对称加密算法 (RSA、DSA、ECC、DH)
  7. Visual C++鼠标画线操作
  8. 利用HTML完成登陆界面设计
  9. rlm sql mysql.so_安装freeradius
  10. 【python实战】制作微信动态名片