ラベルとともにすべてのパーティションを一覧表示するコマンドはありますか? Sudo fdisk -l
およびSudo parted -l
デフォルトではラベルを表示しません。
編集:(以下のコメントのとおり)私はext2ラベルについて話している-パーティション化時にgparted
に設定できるラベル。
EDIT2:意図はアンマウントパーティションをリストすることです(そのため、マウントするパーティションを知っています)。
Udevでは、あなたは使うことができます
ls -l /dev/disk/by-label
少なくともsomeパーティションデバイスノードへのラベルでシンボリックリンクを表示します。
包含のロジックが何か、おそらくラベルの存在がわからない。
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
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
次のコマンドを使用してみてください:
e2label /dev/sda2
mount -l
を使用してみてください。うまくいきます。
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-id
、by-label
、by-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
は5ece678c-1234-5678-12e3-88c06ec11111
などの実際のUUIDです。
by-label
$ 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
ここで、LABEL1
、LABEL2
、...などはlabelであり、実際のパーティションへのシンボリックリンクを示します(例:/dev/sda3
)。
これは、すべてのパーティションをリストするわけではありませんが、tune2fs
を使用して、好きなものを表示および変更できます。
$ Sudo tune2fs -l /dev/sda1
このようなコマンドを使用して、すべての/dev/sda*
デバイスを取得できます。
$ Sudo sh -c 'echo /dev/sda* /dev/mapper/Fedora* | xargs -n 1 tune2fs -l'
次のコマンドも使用できます。
$ 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
Linuxターミナル(コンソール)で次のように入力します。
blkid
に続く Enter
結果は、それぞれがLABELとTYPEを持つブロックデバイスのリストです。
必要に応じて、その目的で私のbashスクリプトを使用できます。実際には、必要以上に多くのことを実行します。 e。また、使用されているスペースの量も表示されます。あなたがそれを気に入ってくれることを願っています:)そして、出力が私のLinuxボックスと同じくらいきれいになることを願っています...(注:realHDDやDVD-ROMなどのハードウェアですが、私の目的にはそれで十分です。
重要な注意:Sudo
のため、このスクリプトはblkid
ONCEで実行する必要がある場合があります。少なくとも私のディストリビューションでは、blkid -o export
will output nil通常のユーザーとして実行した場合起動後に。これは、blkid
の「通常のユーザーレンディション」では、実際にはキャッシュファイル(通常/run/blkid/blkid.tab
)、これはroot
によってのみ書き込み可能であるため、現在のデータを入力するためにSudo
で1回実行する必要があります。
#!/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
}'
e2labelは、UDFファイルシステムラベルでは機能しませんでした。 blkidはしました。
blkid -s LABEL -o value /dev/sdg1
上記のlsblk
も使用していますが、次のオプションの方が適しています。
Sudo lsblk -o name,mountpoint,tran,fstype,label,size
通常のユーザーとしてfsrootパーティションのfslabelを取得する方法を見つけました。このページは私が成功するのに役立ちました。簡単ではなかった。多くのコマンドはSudoでのみ機能しますが、/ etc/mtabおよび/ dev/disk/by-labelは通常のユーザーとして読み取ることができます。
これがbashコードです:
test=`cat /etc/mtab|grep " / "`
test=${test%% *}
test=${test##*/}
test=`ls -l /dev/disk/by-label/|grep $test`
test=${test%% ->*}
test=${test##* }
非常に簡単:
lsblk -fp
Manページの説明:
-f, --fs Output info about filesystems. This option is equivalent to -o NAME,FSTYPE,LABEL,UUID,MOUNTPOINT. The authoritative information about filesystems and raids is provided by the blkid(8) command. -p, --paths Print full device paths.
次の両方のディストリビューションでコマンドをテストしました。
結果:
$ lsblk -fp
NAME FSTYPE LABEL UUID MOUNTPOINT
/dev/nvme0n1
├─/dev/nvme0n1p1 vfat BOOT xxxx-7xxD /boot/efi
├─/dev/nvme0n1p2
├─/dev/nvme0n1p3 ntfs Windows 22xxxxxxxx1222B3001
├─/dev/nvme0n1p4 ntfs Recovery xxxx1222222xxxx1
├─/dev/nvme0n1p5 ext4 xxxxxx-5xx9-4xxb-xxxx-xxxxxxxxxx1 /boot
├─/dev/nvme0n1p6
├─/dev/nvme0n1p7 ext4 xxxxxx-6xxb-4xx6-xxd7-xxxxxxxxxxxx
└─/dev/nvme0n1p8 crypto_LUKS xxxxxx-exx0-415a-xxxx-xxxxxxxxxxxx
└─/dev/mapper/lukslvm LVM2_member xxxxxx-lxxH-Rxxn-xxxx-xxxx1-xxxxxx
├─/dev/mapper/vgubuntu-swap swap xxxxxx-5xx9-4xxb-xxxx-xxxxxxxxxxxx [SWAP]
└─/dev/mapper/vgubuntu-root ext4 xxxxxx-fxxa-4xxd-9e41-xxxxxxxxxxxx /