我经常遇到这样的情况,我想将lsblk
树中打印设备的输出/dev/sdXY
与驱动器/dev/disk/by-id/
名称方案中的名称相关联。
小智 7
如此处所示,可以通过 看到设备 ID ls -l /dev/disk/by-id
。
因此,您的任务可以通过以下方式完成:
lsblk |awk 'NR==1{print $0" DEVICE-ID(S)"}NR>1{dev=$1;gsub("[^[:alnum:]]","",dev);printf $0"\t\t";system("find /dev/disk/by-id -lname \"*"dev"\" -printf \" %p\"");print "";}'
Run Code Online (Sandbox Code Playgroud)
或者
lsblk -r|awk 'NR==1{print $0" DEVICE-ID(S)"}NR>1{dev=$1;printf $0" ";system("find /dev/disk/by-id -lname \"*"dev"\" -printf \" %p\"");print "";}'
Run Code Online (Sandbox Code Playgroud)
by-id 名称由驱动器型号以及lsblk
可以指示列出的序列号组成:
lsblk -o name,model,serial
Run Code Online (Sandbox Code Playgroud)
此命令的输出将如下所示:
NAME MODEL SERIAL
sda SAMSUNG HD203WI S1UYJ1VZ500792
??sda1
??sda9
sdb ST500DM002-1BD14 W2APGFP8
??sdb1
??sdb9
sdc ST500DM002-1BD14 W2APGFS0
??sdc1
??sdc9
Run Code Online (Sandbox Code Playgroud)
对于后代,这里还有一个更长的命令,其中包含一些常用列:
sudo lsblk -o name,size,fstype,label,model,serial,mountpoint
Run Code Online (Sandbox Code Playgroud)
其输出可能是:
NAME SIZE FSTYPE LABEL MODEL SERIAL MOUNTPOINT
sda 1,8T zfs_member SAMSUNG HD203WI S1UYJ1VZ500792
??sda1 1,8T zfs_member storage /home
??sda9 8M zfs_member
sdb 465,8G btrfs ST500DM002-1BD14 W2APGFP8
??sdb1 465,8G btrfs
??sdb9 8M btrfs
sdc 465,8G btrfs ST500DM002-1BD14 W2APGFS0
??sdc1 465,8G btrfs rpool /
??sdc9 8M btrfs
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10273 次 |
最近记录: |