从命令行列出分区标签

sda*_*aau 118 linux command-line partition disk

是否有一个命令可以列出所有分区及其标签?sudo fdisk -l并且sudo parted -l默认不显示标签。

编辑:(根据下面的评论)我说的是 ext2 标签 - 您可以在gparted分区时设置的标签。

EDIT2:目的是列出未安装的分区(所以我知道要安装哪个)。

Mik*_*kov 160

lsblk

例如,命令

sudo lsblk -o name,mountpoint,label,size,uuid
Run Code Online (Sandbox Code Playgroud)

输出:

NAME                           MOUNTPOINT     LABEL         SIZE UUID
sda                                                         1.4T
??sda1                         /boot          boot          953M f557b9f0-edb5-42bb-94d8-27bc03c3c2c7
??sda2                                                     46.6G 727fa348-8804-4773-ae3d-f3e176d12dac
? ??sda2_crypt (dm-0)                                      46.6G P1kvJI-5iqv-s9gJ-8V2H-2EEO-q4aK-sx4aDi
?   ??debian_crypt-swap (dm-1) [SWAP]                         2G 3f9f24d7-86d1-4e21-93e9-f3c181d05cf0
?   ??debian_crypt-tmp (dm-2)  /tmp           tmp             5G 93fc8219-f985-45fb-bd5c-2c7940a7512d
?   ??debian_crypt-home (dm-3) /home          home            6G 12e8566c-8f0f-45ec-8524-6d9d9ee91eae
?   ??debian_crypt-root (dm-4) /              root         33.6G 9685570b-4c9e-43ea-815e-49d10dc7a1bf
??sda3                                                    651.9G d3e0436c-85f6-45c6-9d8f-28b79ee06102
? ??crypt_gusto (dm-8)         /media/Gusto   Gusto       651.9G 0c084508-cb8b-4b61-832d-6b85273f33c4
??sda4                                                        1K
??sda5                                                      298G 5063da5f-9b68-43de-914c-32b89622bcc8
? ??crypt_kabi (dm-7)          /media/Kabi    Kabi          298G e6a0b66c-8fe9-4e7b-9d54-7b2b430e109d
??sda6                                                    213.6G 5129d860-bb41-4393-b4b1-f8af53d9155d
? ??crypt_zami (dm-6)          /media/Zami    Zami        213.6G 19101155-6070-4f37-b39d-19f28867c66b
??sda7                         /media/Server  Server       85.6G a9f4dae5-901c-4f49-bb30-592de3000713
??sda8                                                    100.6G dc7f4586-a33d-4707-98e9-8b55c559b0d2
  ??crypt_grafi (dm-5)         /media/Grafi   Grafi       100.6G 5e3242e1-ec7a-4806-92f7-88a126feea94
sdb                                                        14.5G
??sdb1                                        DEBIAN_LIVE     3G 6bf4d915-2b62-444e-a2c8-16307769b5c2
??sdb2                                                        2G 90ec6f73-8fdb-4c8d-aebd-cadd0f51b412
? ??crypt_sdb2 (dm-10)         /mnt           data            2G 91e779dd-0a3f-40b2-8ad0-257d860541a6
??sdb3                                        linux         9.5G 14a783a4-96dd-4a85-8de7-6e8eea230594
loop0                                                      1000M a3be80bf-0f2c-44ed-8de5-d60e3b19c01a
??crypt_dropbox (dm-9)         /media/Dropbox Dropbox       998M 8461e2cf-ae17-449b-8ee5-29cc88688b8b
zram0                          [SWAP]                       250M f8254ae5-5ae6-4fda-b8ef-83f25c405894
zram1                          [SWAP]                       250M 7e7ed90d-731c-422a-bf9b-828f09b80502
Run Code Online (Sandbox Code Playgroud)

您可以按您喜欢的任何顺序指定大量列:

Available columns:
       NAME  device name
      KNAME  internal kernel device name
    MAJ:MIN  major:minor device number
     FSTYPE  filesystem type
 MOUNTPOINT  where the device is mounted
      LABEL  filesystem LABEL
       UUID  filesystem UUID
         RO  read-only device
         RM  removable device
      MODEL  device identifier
       SIZE  size of the device
      STATE  state of the device
      OWNER  user name
      GROUP  group name
       MODE  device node permissions
  ALIGNMENT  alignment offset
     MIN-IO  minimum I/O size
     OPT-IO  optimal I/O size
    PHY-SEC  physical sector size
    LOG-SEC  logical sector size
       ROTA  rotational device
      SCHED  I/O scheduler name
    RQ-SIZE  request queue size
       TYPE  device type
   DISC-ALN  discard alignment offset
  DISC-GRAN  discard granularity
   DISC-MAX  discard max bytes
  DISC-ZERO  discard zeroes data
Run Code Online (Sandbox Code Playgroud)

  • 或更容易记住 `lsblk -f` 相当于 `lsblk -o NAME,FSTYPE,LABEL,MOUNTPOINT` (17认同)
  • 感谢您向我展示这个工具!请注意,此应用程序适用于普通用户,但仅以 root 用户身份显示一些信息(包括标签)。 (4认同)
  • 它也会显示未安装的分区吗?如果是,那么它解决了提出的问题。 (2认同)
  • 是的。如您所见,sdb1 和 sdb3 未安装。 (2认同)
  • `sudo` 不是必需的。 (2认同)

小智 106

使用 udev,您可以使用

ls -l /dev/disk/by-label
Run Code Online (Sandbox Code Playgroud)

按标签显示至少一些分区设备节点的符号链接。

不确定包含的逻辑是什么,可能是标签的存在。

  • 嗨@Ilkka - 感谢您的回答!事实上,`ls -la /dev/disk/by-label` 似乎显示了未挂载分区的标签;所以这解决了我的问题,我猜...虽然,我真的更喜欢`fdisk`或`parted`的选项:)干杯! (3认同)
  • 至少在我的机器上,确实只有带有标签的文件系统才能链接到那里,正如使用 Alan Kuras 的“mount -l”建议所确认的(?)。 (2认同)
  • 对我来说,我的交换分区和挂载的分区没有显示,但这可能只是巧合。无论如何,`sudo lsblk -o name,mountpoint,label,size,uuid` 对我有用。 (2认同)

小智 30

有一个blkid命令可能正是您要找的。结果类似于以下内容:

$ sudo blkid /dev/mapper/vg_rootdisk-lv_var
/dev/mapper/vg_rootdisk-lv_var: LABEL="LV_VAR" UUID="08520908-03cd-4e42-a4e4-0f5a771be16c" TYPE="ext4"
Run Code Online (Sandbox Code Playgroud)

另一种选择是使用udevadm命令,它可能会给你带来比你需要的更多:

$ sudo udevadm info --query=all --name=/dev/mapper/vg_rootdisk-lv_var
Run Code Online (Sandbox Code Playgroud)

  • 这是迄今为止唯一适用于 ddwrt 的建议 (2认同)

小智 13

尝试使用此命令:

e2label /dev/sda2
Run Code Online (Sandbox Code Playgroud)


小智 10

尝试使用mount -l,它对我来说很好用。

  • 嗨@Alan Kuras - 感谢并+1 的回答!但是,我想列出未安装的分区 - `mount -l` 似乎只显示已安装的分区..干杯! (2认同)

slm*_*slm 8

/开发/磁盘

在较新版本的 Linux 内核中,现在可以在/dev/disk.

例子

$ ls -l /dev/disk
total 0
drwxr-xr-x 2 root root 300 Mar  4 18:43 by-id
drwxr-xr-x 2 root root 140 Mar  4 18:21 by-label
drwxr-xr-x 2 root root  80 Mar  4 18:18 by-path
drwxr-xr-x 2 root root 200 Mar  4  2015 by-uuid
Run Code Online (Sandbox Code Playgroud)

所以,你可以找到它by-idby-labelby-pathby-uuid

  • 按 ID

    $ ls -l /dev/disk/by-id
    total 0
    lrwxrwxrwx. 1 root root  9 Jan 11 17:01 ata-Optiarc_DVD_RW_AD-7930H -> ../../sr0
    lrwxrwxrwx. 1 root root  9 Jan 11 17:01 ata-ST95005620AS_5YX1K0Q5 -> ../../sda
    lrwxrwxrwx. 1 root root 10 Jan 11 17:01 ata-ST95005620AS_5YX1K0Q5-part1 -> ../../sda1
    lrwxrwxrwx. 1 root root 10 Jan 11 17:01 ata-ST95005620AS_5YX1K0Q5-part2 -> ../../sda2
    ...
    ...
    
    Run Code Online (Sandbox Code Playgroud)
  • by-uuid

    $ ls -l /dev/disk/by-uuid
    total 0
    lrwxrwxrwx. 1 root root 10 Jan 11 17:01 xxxxxx -> ../../sda1
    lrwxrwxrwx. 1 root root 10 Jan 11 17:01 xxxxxx -> ../../dm-1
    lrwxrwxrwx. 1 root root 10 Jan 11 17:01 xxxxxx -> ../../dm-0
    lrwxrwxrwx. 1 root root 10 Jan 11 17:01 xxxxxx -> ../../dm-2
    
    Run Code Online (Sandbox Code Playgroud)

    其中xxxxxx将是实际的 UUID,例如5ece678c-1234-5678-12e3-88c06ec11111.

  • 按标签

    $ ls -l /dev/disk/by-label/
    total 0
    lrwxrwxrwx 1 root root 10 Mar  4 18:21 LABEL1 -> ../../sda4
    lrwxrwxrwx 1 root root 10 Mar  4 18:17 LABEL2 -> ../../sda3
    lrwxrwxrwx 1 root root 10 Mar  4 18:21 LABEL3 -> ../../sda6
    lrwxrwxrwx 1 root root 10 Mar  4 18:42 LABEL4 -> ../../sda7
    lrwxrwxrwx 1 root root 10 Mar  4 18:20 LABEL5 -> ../../sda5
    
    Run Code Online (Sandbox Code Playgroud)

    其中LABEL1, LABEL2,... 等是显示实际分区(例如)的符号链接的标签/dev/sda3


小智 5

这不会列出所有分区,但您可以使用tune2fs.

$ sudo tune2fs -l /dev/sda1
Run Code Online (Sandbox Code Playgroud)

您可以使用这样的命令来获取所有/dev/sda*设备。

$ sudo sh -c 'echo /dev/sda* /dev/mapper/fedora* | xargs -n 1 tune2fs -l'
Run Code Online (Sandbox Code Playgroud)