2019-06-04 遇到的一点小问题
需要获取在Arch Linux设备上的USB存储设备的信息,并按格式展示在web端。
同事让先了解几个命令,试了试:
在 ArchWiki 上有专门的 fdisk介绍 。
fdisk -l 获取的设备型号被截断了,而且信息有点乱,筛选麻烦。
lsscsi应用 ,这篇 说明 挺详细的。
lsscsi -s 以表格信息获取设备型名、大小,可惜型号会被截断。
usbutils应用 ,这篇 List USB Devices Linux 有提到一些。
lsusb 、 lsusb -v 、 usb-devices 、、、列出了不少ID,不过没打算用这个,先不管。
hdparm应用 ,随便 搜索 时,刚好看到的。
hdparm -i /dev/sdb 这个主要是获取或设置硬盘参数的,获取的信息挺全的,也符合预期,可惜不支持读取USB上的设备信息。
同事推荐的这篇文章, 16 commands to check hardware information on Linux ,列出了很多检查Linux上的硬件信息的命令。试了试:
lshw应用 ; lshw介绍 。
lshw 默认输出太多了。
lshw -class disk -json 还好这个可以筛选需要的,而且还能以json格式输出。可惜输出的多条信息中间需要自己加逗号 , ,两头加方括号 [] 。
hwinfo应用 ;没有在 Arch manual pages 搜索到命令说明书,链接是别的网站的。
hwinfo 默认输出太多了,还好可以加上 --short 。
hwinfo --short --usb 可以只输出缩略信息,同时支持筛选,比如只显示usb相关,具体可以看 说明令 。
lsblk 默认输出 可以获取完整大小、分区大小,也有一项 MOUNTPOINT 可以看到挂载的位置,也可惜显示的大小数据不是想要的。
lsblk -b 可以按bytes格式获取大小后再计算。
lsblk -p 可以完整显示路径名称。
lsblk -S 可以获取完整的品牌型号名,没有被截断;而且名字中间的分割符也不是空格 ,是下划线 _ ,能很方便地使用 awk 获取。
翻了翻 说明文件 ,发现 lsblk 功能还是很多的,可以使用 -n 去表头;可以使用 -o +SIZE 来增加输出的信息列;可以使用 -o NAME,MODEL,SIZE 限定只输出哪些信息列;可以使用 -d /dev /sda 来限定只输出某个设备的信息行;可以使用 -J 以json格式输出信息。
dmesg命令 :
介绍是 dmesg - print or control the kernel ring buffer , 检查和控制内核的环形缓冲区 。在搜索的时候也有看到用这个命令来 查看 刚插入的usb信息,当然 dmesg 主要不是做这个的。记录一下。
还试了些其他命令,懒得整理了。
目前先不安装其他应用,先使用 lsblk -p -S -b -o NAME,MODEL,SIZE -n 去掉表头,然后只显示完整的路径,完整的型号名称,以及按照bytes格式获取存储设备的大小;已使用的容量大小就等 mount U盘后使用 df 来获取。
用hwinfo首先安装,在里输入
sudo
apt-get
install
hwinfo
装好后运行hwinfo
默认输出的信息比较长,
可以用使用--short选项:
hwinfo
--short
就可以告诉你电脑的硬件配置。
没有你说的这个东西一般硬件安装过程中都能识别并配备驱动
可能需要手动安装的:显卡,声卡,无限网卡,网卡(很少不能识别)
显卡驱动可以通过源安装或下载官方驱动安装
声卡如果能发声的话就不用装驱动了 否则下载alsa最新的驱动自己编译
无线网卡 等其他问题 google 百度基本都能解决的
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)