Перелічіть мітки розділу в командному рядку


91

Чи є команда, яка буде перераховувати всі розділи разом з їх мітками? sudo fdisk -lі sudo parted -lне показувати мітки за замовчуванням.

EDIT: (відповідно до коментаря нижче) Я говорю про мітки ext2 - ті, які ви можете встановити gpartedпри розділі.

EDIT2: Намір полягає в тому, щоб перелічити незмонтовані розділи (тому я знаю, який з них встановити).


1
Мітки? Що таке етикетка? Ви говорите про етикетки ext2? Вони самі по собі не мають нічого спільного з таблицями розділів.
Кріс Єстер-Янг

Привіт @Chris Jester-Young, дякую за Ваш коментар! Я намагався уточнити вище - так, я вважаю, що це етикетки ext2, про які я говорю ... Ура!

4
У розділах немає міток, але файлові системи. Для цього вам потрібна комбінація інструментів. blkidІнструмент може сказати вам етикетку відомого розділу. Але щоб знайти розділ, вам доведеться перевести цикл на вихід fdisk.
Кіт

2
@Keith, як бічну зауваження, я хочу додати, що нові розділи GPT мають поле імен , подібне до міток файлової системи.
Крістіан Цюпіту

Відповіді:


84

З udev, Ви можете використовувати

ls -l /dev/disk/by-label

показувати посилання по мітці принаймні на деякі вузли пристрою перегородки.

Не впевнений, яка логіка включення, можливо, існування мітки.


2
Принаймні, на моїй машині насправді лише файлові системи з мітками пов'язані там, як це підтверджено (?) За допомогою пропозиції Алана Кураса mount -l.

3
Привіт @Ilkka - дякую за вашу відповідь! Дійсно, ls -la /dev/disk/by-labelсхоже, показують мітки немонтированих розділів; так що це вирішує мою проблему, я думаю ... Хоча, я б дійсно вважав за краще варіант fdiskабо partedзамість цього :) Привіт!

2
Для мене мій підкачаний розділ та змонтовані розділи не показані, але це може бути просто збігом. У всякому разі, sudo lsblk -o name,mountpoint,label,size,uuidпрацював на мене.
Chiel ten 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
Дякуємо, що показали мені цей інструмент! Зауважте, ця програма працює для постійних користувачів, але відображатиме деяку інформацію (включаючи мітки) лише як root.
user689893

1
Чи відображатимуться також неізменені розділи? Якщо так, то це вирішує задане питання.
Раві

1
Так. Як видно, sdb1 і sdb3 не змонтовані.
Михайло Морфіков

14
або простіше запам’ятати, lsblk -fщо рівнозначноlsblk -o NAME,FSTYPE,LABEL,MOUNTPOINT
Лео

@ 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"

Ще один варіант - використовувати команду 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 / диск

У нових версіях ядра 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.

  • по-ід

    $ 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
    ...
    ...
    
  • по-уйд

    $ 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
    

    Де LABEL1, LABEL2... і т.д., мітка , яка показує символічні посилання на фактичний розділ (наприклад /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 box ... (Примітка: він покаже лише справжнє обладнання, як ваші жорсткі диски та DVD-диски, але цього достатньо для моїх цілей.)

Важлива примітка: Цей сценарій, можливо, доведеться запускати підsudo ONCE через blkid. Принаймні, на моєму дистрибутиві, blkid -o exportвиведе нуль при запуску як звичайний користувач після завантаження . Це пояснюється тим, що при "регулярній передачі користувача" blkidданих фактично будуть витягнуті з кеш-файлу (як правило /run/blkid/blkid.tab), який може бути записаний лише тим самим rootі, таким чином, знадобиться один запуск sudo, щоб заповнити поточні дані.

#!/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


0

Я також використовую lsblkзгадані вище, але я вважаю такі варіанти, які краще підходять:

sudo lsblk -o name,mountpoint,tran,fstype,label,size
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.