コマンドラインからパーティションラベルを一覧表示する


91

すべてのパーティションとそのラベルをリストするコマンドはありますか?sudo fdisk -lそして、sudo parted -l、デフォルトでは、ラベルは表示されません。

編集:(以下のコメントに従って)私はext2ラベルについて話している-あなたはgpartedパーティション分割時に設定することができますラベル。

EDIT2:意図は、マウントされていないパーティションを一覧表示することです(だから、マウントするパーティションを知っています)。


1
ラベル?ラベルとは何ですか?ext2ラベルについて話しているのですか?これらは、パーティションテーブル自体とは関係ありません。
クリスジェスターヤング

こんにちは@Chris Jester-Young、コメントありがとうございます!私は上記を明確にしようとしました-はい、私が話しているext2ラベルだと思います...乾杯!

4
パーティションにはラベルがありませんが、ファイルシステムにはあります。そのためにはツールの組み合わせが必要です。このblkidツールは、既知のパーティションのラベルを伝えることができます。ただし、パーティションを見つけるには、fdiskの出力をループする必要があります。
キース

2
@Keithは、補足として、新しいGPTパーティションにファイルシステムラベルに似た名前フィールドがあることを追加したいと思います。
クリスチャン・シウピトゥ14年

回答:


84

udevでは、次を使用できます。

ls -l /dev/disk/by-label

少なくともいくつかのパーティションデバイスノードへのラベルによるシンボリックリンクを表示します。

包含のロジックが何であるか、おそらくラベルの存在がわからない。


2
少なくとも私のマシンでは、Alan Kurasのmount -l提案を使用して確認された(?)ように、実際にリンクされているのはラベル付きのファイルシステムだけです。

3
こんにちは@Ilkka-ご回答ありがとうございます!実際、ls -la /dev/disk/by-labelマウントされていないパーティションのラベルが表示されているようです。それが私の問題を解決するので、私は推測します...しかし、私は本当に、fdiskまたはparted代わりにオプションを好んだでしょう:)乾杯!

2
私にとって、スワップパーティションとマウントされたパーティションは表示されませんが、それは偶然かもしれません。とにかく、sudo lsblk -o name,mountpoint,label,size,uuid私のために働いた。
Chiel 10 Brinke

128

lsblk

たとえば、コマンド

sudo lsblk -o name,mountpoint,label,size,uuid

出力:

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

好きな順序で多くの列を指定できます。

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

4
このツールを見せてくれてありがとう!このアプリケーションは通常のユーザーに対して機能しますが、一部の情報(ラベルを含む)はルートとしてのみ表示されます。
user689893 14

1
マウントされていないパーティションも表示されますか?はいの場合、質問を解決します。
ラヴィ14

1
はい。ご覧のとおり、sdb1とsdb3はマウントされていません。
ミハイルモルフィコフ14

14
または簡単に覚えておくlsblk -fと同等であるlsblk -o NAME,FSTYPE,LABEL,MOUNTPOINT
LeoR

@ user689893-いいえ、debian / ubuntuおよび派生物でのみ発生します。ポイントはlsblk、通常のユーザーが使用することなので、su / sudoを実行する必要はありません。さて、それがあなたにとってうまくいかないのなら、それはあなたのディストリビューション開発者が何かを逃したからです。
-don_crissti

26

あり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"

もう1つのオプションは、udevadmコマンドを使用することです。これにより、必要以上に多くのことが提供されます。

$ sudo udevadm info --query=all --name=/dev/mapper/vg_rootdisk-lv_var

1
これはこれまでddwrtに取り組んだ唯一の提案でした
Karthik T


9

使用してみてくださいmount -l、それは私にとっては問題ありません。


2
こんにちは@Alan Kuras-ありがとう、そして答えに+1!ただし、マウントされていないパーティションを一覧表示したい-マウントされたパーティションmount -lのみが表示されるようです。

7

/ dev / disk

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

だから、によってそれを見つけることができby-idby-labelby-pathまたはによりますby-uuid

  • by-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
    ...
    ...
    
  • 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
    

    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
    

    ここでLABEL1LABEL2、...などですラベルの実際のパーティション(例えばへのシンボリックリンクを示します/dev/sda3)。


パーティション名で並べ替えるには:ls -l /dev/disk/by-label/ | sort -k10
Digger

4

これはすべてのパーティションをリストするわけではありませんが、好きなものを表示して変更できますtune2fs

$ sudo tune2fs -l /dev/sda1

このようなコマンドを使用して、すべての/dev/sda*デバイスを取得できます。

$ sudo sh -c 'echo /dev/sda* /dev/mapper/fedora* | xargs -n 1 tune2fs -l'

2

次のコマンドも使用できます。

$ sudo udevadm info --query all --path /sys/block/sdb/sdb1 \
     | grep ID_PART_ENTRY_NAME

上記を使用して、すべてのブロックデバイスの情報を印刷できます。

$ echo /sys/block/* | xargs -n 1 udevadm info --query all --path

1

e2labelは、UDFファイルシステムラベルでは機能しませんでした。blkidがしました。

blkid -s LABEL -o value /dev/sdg1

1

必要に応じて、そのために私のbashスクリプトを使用できます。実際には、必要以上に機能します。つまり、使用されているスペースの量も表示されます。そして、Linuxボックスのように出力がきれいになることを願っています...(注:HDDやDVD-ROMなどの実際のハードウェアのみを表示しますが、それは私の目的には十分です。)

重要な注意:このスクリプトはsudo、のためにONCE で実行する必要がある場合がありblkidます。少なくとも私のディストリビューションでblkid -o exportは、bootup 後に通常のユーザーとして実行するとnil出力されます。これは、の「通常のユーザーレンディション」では、データは実際にキャッシュファイル(通常は)から取得されるためです。このファイルは書き込み可能であり、現在のデータを取り込むために1回実行する必要があります。blkid/run/blkid/blkid.tabrootsudo

#!/bin/bash
# LICENSE: GPL

if [[ $(id -u) -ne 0 ]]; then
  if [[ ! -s /run/blkid/blkid.tab ]]; then
   # no cache file found when run as regular user
   # this will require one run under sudo to populate cache file
   echo -e "Cache file does not exist or is empty.\nPlease give your root password to continue:\n\n"   
   sudo blkid >/dev/null
  fi
fi

df -P |
sort  |
awk 'BEGIN {
             fmthdr = "%-12s%-22s%-10s\t%-5s\n"

         # since we want to use single quotes for showing label names, we had better
         # replace the problematic single quote character by its hex representation, "\x27"
             fmtlin_w_qu = "%-12s\x27%-17s\x27\t   %-10s\t%4s used\n"
             fmtlin_wo_qu = "%-12s%-17s\t   %-10s\t%4s used\n"

             printf fmthdr, " Device ",  "Volume Label", "File System", "Storage usage"
             printf fmthdr, "---------", "------------", "-----------", "-------------"
           }    
           /^\/dev\/[sh]/{
              lab = ""      # CLEAR lab w/every run (very important!)
              ("blkid -o export "$1" | grep LABEL | cut -f2 -d=") | getline lab
              ("blkid -o export "$1" | grep TYPE | cut -f2 -d=") | getline fs
              if (lab == "") {
                lab = "<none>"
                fmtlin = fmtlin_wo_qu
              }
              else
                fmtlin = fmtlin_w_qu

              printf fmtlin, $1, lab, fs, $5
           }'

1

Linuxターミナル(コンソール)タイプの場合:

blkid

に続く Enter

結果は、それぞれがLABELとTYPEを持つブロックデバイスのリストです。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.