获取U盘盘符名称(U盘设备名)

命令行输入df查询所有存储设备。
然后使用grep "^/dev/sd"从众多存储设备中找到sd开头的设备,因为U盘名称一般为sda1,sda4,sdb1等等。
最后打印u盘路径。
完整指令:

df | grep "^/dev/sd"|awk '{print $6}'

基于Qt图形库实现的获取u盘名称的函数

QString UTool::udiskName()
{
    ///注意,这里有一个坑,qt无法执行带管道"|"和重定向">>"的linux指令,需要写入脚本的方式来执行。
    QProcess p1;
    QString cmd = "df | grep \"^/dev/sd\"|awk '{print $6}'";
    p1.start("bash",QStringList()<<"-c"<<cmd);
    p1.waitForStarted(-1);  //默认30s,设置-1会一直等待执行完毕
    p1.waitForFinished(-1);
    QString name = p1.readAllStandardOutput().data();
    name.remove("\n");
    qDebug()<<"udisk name:"<<name;
    return name;
}

你可能感兴趣的:(QT,c/c++,linux,运维,qt,c++)