列出 Linux 中的所有 USB 驱动器
如何在 Linux 中获取可移动驱动器(插入 USB)的列表?如果使用 KDE、GNOME 或其他 DE 库能让事情变得更容易的话,我很乐意使用。
How can I get a list of removable drives (plugged into USB) in Linux? I'm fine with using KDE, GNOME or other DE libraries if it would make things easier.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
我认为一个好主意是使用 python 的 udev 接口。
小例子(当然,在您的情况下,您已经调整了一些过滤):
在大多数情况下,这是一个好方法,因为新系统使用 udev。
I think a nice idea is to use udev interface from python.
Small example (of course in your case you have adjust some filtering):
It is a good way in most cases as new systems use udev.
过了这么久,问题又被解开了……
最后我通过 D-Bus 接口使用 UDisk,如此处所示。
After all this time the question got unlocked again…
In the end I used UDisks via the D‐Bus interface like shown here.
不久前,我得到了这个小脚本(它不是我的),但它确实对我有很大帮助,仅供参考
Sometime back i got this small script ( it's not mine ) but it surely helped me alot putting just for reference
这是我在 bash 中使用的:
lsblk --pairs --nodeps | lsblk --pairs --nodeps | grep 'RM="1"'
示例输出:
NAME="sda" MAJ:MIN="8:0" RM="1" SIZE="59.5G" RO="0" TYPE="disk" MOUNTPOINT=""
请注意,它列出的是设备,而不是其分区。如果你也想看分区,
lsblk --对 | grep 'RM=“1”'
This is what I use from bash:
lsblk --pairs --nodeps | grep 'RM="1"'
Sample output:
NAME="sda" MAJ:MIN="8:0" RM="1" SIZE="59.5G" RO="0" TYPE="disk" MOUNTPOINT=""
Note it is listing the devices, not its partitions. If you like to see the partitions also,
lsblk --pairs | grep 'RM="1"'
有什么理由不直接解析 lsusb 的结果?我确信有这方面的模块,但话又说回来,有时简单就是最好的。
我无法使用 Python 帮助你,在 Perl 中我可能会这样做:
在我的计算机上,这会导致
Note that
Data::Printer
and itsp
function are human-友好的对象倾倒仅用于检查目的。Any reason not to just parse out the results from
lsusb
? I'm sure there are modules for this, but then again, easy is sometimes best.I can't help you with Python, in Perl I might do:
which, on my computer, results in
Note that
Data::Printer
and itsp
function are human-friendly object dumping for inspection purposes only.