命令行输入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;
}