1 # show labels and uuids of disk devices
8 disks=( /dev/disk/by-id/*(N@:A) )
10 if (( ${#disks} == 0 )); then
11 printf 'No disks detected.\n'
15 if [[ -r /proc/mounts ]]; then
16 for cline in "${(f)$(</proc/mounts)[@]}"; do
17 mountinfo["${cline[(w)1]:A}"]="${cline[(w)2,-1]}"
21 for dev in "$disks[@]"; do
22 print ${fg_bold[red]}${dev}${reset_color} \
23 /dev/disk/by-label/*(@e/'[[ ${REPLY:A} == $dev ]] && REPLY=${fg[blue]}LABEL=${REPLY:t}${reset_color}'/N) \
24 /dev/disk/by-uuid/*(@e/'[[ ${REPLY:A} == $dev ]] && REPLY=${fg[green]}UUID=${REPLY:t}${reset_color}'/N)
25 if [[ -n "${mountinfo["$dev"]}" ]]; then
26 print -f " Mount: %s -t %s -o %s\n" \
27 ${mountinfo["$dev"][(w)1]} \
28 ${mountinfo["$dev"][(w)2]} \
29 "${mountinfo["$dev"][(w)3,-5]}"
31 /sys/block/${dev:t}/size(N) \
32 /sys/block/${${dev:t}%%<->}/${dev:t}/size(N)
34 print -f " Size: %.3f GiB (%d Byte)\n" \
35 $(($(<$sysdevsize)/(2.0*1024.0*1024.0))) \
36 $(($(<$sysdevsize)*512))
39 print -f " Id: %s\n" /dev/disk/by-id/*(@e/'[[ ${REPLY:A} == $dev ]]'/N:t)