Wyświetl etykiety partycji z wiersza polecenia


91

Czy istnieje polecenie, które wyświetli listę wszystkich partycji wraz z ich etykietami? sudo fdisk -li sudo parted -ldomyślnie nie wyświetlaj etykiet.

EDYCJA: (jak w komentarzu poniżej) Mówię o etykietach ext2 - tych, które możesz ustawić gpartedpodczas partycjonowania.

EDYCJA 2: Zamierzeniem jest wyświetlenie listy odmontowanych partycji (więc wiem, którą z nich zamontować).


1
Etykiety? Co to za etykieta? Czy mówisz o etykietach ext2? Nie mają one nic wspólnego z tabelami partycji.
Chris Jester-Young

Cześć @Chris Jester-Young, dzięki za komentarz! Próbowałem wyjaśnić powyżej - tak, uważam, że chodzi o etykiety ext2, o których mówię ... Pozdrawiam!

4
Partycje nie mają etykiet, ale systemy plików mają. Aby to zrobić, potrzebujesz kombinacji narzędzi. blkidNarzędzie można powiedzieć etykietę znanego partycji. Ale aby znaleźć partycję, musisz zapętlić wyjście programu fdisk.
Keith,

2
@Keith, na marginesie, chciałbym dodać, że nowe partycje GPT mają pole nazwy podobne do etykiet systemu plików.
Cristian Ciupitu

Odpowiedzi:


84

Dzięki udev możesz używać

ls -l /dev/disk/by-label

aby pokazać dowiązania symboliczne za pomocą etykiety przynajmniej do niektórych węzłów urządzeń partycjonujących.

Nie jestem pewien, jaka jest logika włączenia, być może istnienie etykiety.


2
Przynajmniej na moim komputerze rzeczywiście są to tylko systemy plików z etykietami, które się tam łączą, co zostało potwierdzone (?) Przy użyciu mount -lsugestii Alana Kurasa .

3
Cześć @Ilkka - dziękuję za odpowiedź! Rzeczywiście ls -la /dev/disk/by-labelwydaje się , że pokazuje etykiety niezmontowanych partycji; więc to rozwiązuje mój problem ... Chyba naprawdę wolałbym opcję na fdisklub partedzamiast :) Pozdrawiam!

2
Dla mnie moja partycja wymiany i zamontowane partycje nie są pokazane, ale może to być po prostu zbieg okoliczności. W każdym razie sudo lsblk -o name,mountpoint,label,size,uuidpracował dla mnie.
Chiel ten Brinke

128

z lsblk

Na przykład polecenie

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

wyjścia:

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

Możesz podać wiele kolumn w dowolnej kolejności:

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
Dzięki za pokazanie tego narzędzia! Uwaga: ta aplikacja działa dla zwykłych użytkowników, ale wyświetla niektóre informacje (w tym etykiety) tylko jako root.
user689893

1
Czy pokaże także niezmontowane partycje? Jeśli tak, to rozwiązuje zadane pytanie.
Ravi

1
Tak. Jak widać, sdb1 i sdb3 nie są zamontowane.
Michaił Morfikow

14
lub łatwiejsze do zapamiętania, lsblk -fco jest równoważnelsblk -o NAME,FSTYPE,LABEL,MOUNTPOINT
LeoR

@ user689893 - nie, to zdarza się tylko na debian / ubuntu i pochodnych. Chodzi o lsblkto, aby zwykli użytkownicy nie musieli używać su / sudo. Teraz, jeśli to ci nie pomoże, to dlatego, że twoi dystrybutorzy często coś przeoczyli.
don_crissti

26

Istnieje polecenie blkid, które może być tym, czego szukasz. Wyniki są podobne do następujących:

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

Inną opcją jest użycie komendy udevadm , która prawdopodobnie zapewni ci znacznie więcej niż potrzebujesz:

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

1
To była jedyna jak dotąd sugestia, która działała na ddwrt
Karthik T


9

Spróbuj użyć mount -l, dla mnie jest w porządku.


2
Cześć @Alan Kuras - dzięki i +1 za odpowiedź! Chcę jednak wymienić niezmontowane partycje - mount -lwydaje się, że pokazują tylko te zamontowane ... Pozdrawiam!

7

/ dev / disk

W nowszych wersjach jądra Linuksa informacje te można teraz znaleźć tutaj /dev/disk.

Przykład

$ 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

Więc można go znaleźć by-id, by-label, by-pathlub 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
    ...
    ...
    
  • byuuid

    $ 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
    

    Gdzie xxxxxxbyłby to rzeczywisty UUID, taki jak 5ece678c-1234-5678-12e3-88c06ec11111.

  • według etykiety

    $ 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
    

    Gdzie LABEL1, LABEL2... itd. To etykieta pokazująca dowiązania symboliczne do faktycznej partycji (np /dev/sda3.).


Aby posortować według nazwy partycji:ls -l /dev/disk/by-label/ | sort -k10
Digger

4

Nie wyświetli to wszystkich partycji, ale możesz przeglądać i zmieniać to, co lubisz tune2fs.

$ sudo tune2fs -l /dev/sda1

Możesz użyć takiego polecenia, aby uzyskać wszystkie /dev/sda*urządzenia.

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

2

Możesz także użyć tego polecenia:

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

Możesz użyć powyższego, aby wydrukować informacje o wszystkich urządzeniach blokowych.

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

1

e2label nie działał dla mnie z etykietami systemu plików UDF. Blkid zrobił;

blkid -s LABEL -o value /dev/sdg1

1

Jeśli chcesz, możesz użyć do tego celu mojego skryptu bash. W rzeczywistości robi trochę więcej, niż potrzebujesz, tj. Pokaże również, ile miejsca jest zajęte. Mam nadzieję, że ci się spodoba :) Mam również nadzieję, że wyjście będzie równie schludne, jak na moim systemie Linux ... (Uwaga: pokaże tylko prawdziwy sprzęt, taki jak dyski twarde i DVD-ROM, ale to wystarczy do moich celów).

Ważna uwaga: Ten skrypt może wymagać uruchomieniasudo RAZ RAZ z powodu blkid. Przynajmniej na moim dystrybucji, blkid -o exportbędzie wyjście zero gdy uruchamiane jako zwykły użytkownik po starcie . Wynika to z faktu, że w „zwykłym wykonaniu użytkownika” blkiddane będą faktycznie pobierane z pliku pamięci podręcznej (zwykle /run/blkid/blkid.tab), który jest zapisywalny tylko rooti będzie wymagał jednego uruchomienia sudow celu zapełnienia bieżącymi danymi.

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

W terminalu Linux (konsoli) wpisz:

blkid

Śledzony przez Enter

Wynikiem jest lista urządzeń blokowych, każde z ETYKIETĄ i TYPEM


0

Używam również lsblkwspomnianego powyżej, ale uważam, że lepiej pasują następujące opcje:

sudo lsblk -o name,mountpoint,tran,fstype,label,size
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.