Listen Sie die Partitionsbezeichnungen über die Befehlszeile auf

91

Gibt es einen Befehl, der alle Partitionen mit ihren Bezeichnungen auflistet? sudo fdisk -lund sudo parted -lstandardmäßig keine Beschriftungen anzeigen.

EDIT: (laut Kommentar unten) Ich spreche von ext2-Labels - jenen, die Sie gpartedbeim Partitionieren einstellen können.

EDIT2: Die Absicht ist es, nicht gemountete Partitionen aufzulisten (damit ich weiß, welche ich mounten soll).

sdaau
quelle
1
Etiketten? Was ist ein Etikett? Sprechen Sie über ext2-Labels? Diese haben nichts mit Partitionstabellen an sich zu tun.
Chris Jester-Young
Hi @ Chris Jester-Young, danke für deinen Kommentar! Ich habe versucht, oben zu klären - ja, ich glaube, es sind ext2-Labels, von denen ich spreche ... Prost!
4
Partitionen haben keine Beschriftungen, Dateisysteme jedoch. Dazu benötigen Sie eine Kombination von Tools. Das blkidTool kann Ihnen die Bezeichnung einer bekannten Partition mitteilen. Aber um die Partition zu finden, müssten Sie die Ausgabe von fdisk durchlaufen.
Keith
2
@Keith, als eine Randnotiz, würde Ich mag hinzufügen , dass die neuen GPT - Partitionen einen haben Namen Feld , das ähnlich ist , Etiketten - Dateisystem.
Cristian Ciupitu

Antworten:

84

Mit udev können Sie verwenden

ls -l /dev/disk/by-label

um die symbolischen Verknüpfungen nach Bezeichnung für mindestens einige Partitionsgeräteknoten anzuzeigen.

Nicht sicher, was die Logik der Aufnahme ist, möglicherweise die Existenz eines Etiketts.

Ilkka
quelle
2
Zumindest auf meinem Rechner werden dort tatsächlich nur die Dateisysteme mit Labels verlinkt, wie durch den mount -lVorschlag von Alan Kuras bestätigt (?) .
3
Hi @Ilkka - danke für deine Antwort! In der Tat ls -la /dev/disk/by-labelscheint Etiketten von nicht eingehängten Partitionen zu zeigen; also das löst mein problem, denke ich ... obwohl ich wirklich eine option für fdiskoder lieber gehabt hätte parted:) Prost!
2
Für mich werden meine Swap-Partition und meine gemounteten Partitionen nicht angezeigt, aber das kann nur Zufall sein. Jedenfalls hat sudo lsblk -o name,mountpoint,label,size,uuidfür mich gearbeitet.
Chiel ten Brinke
128

mit lsblk

Zum Beispiel der Befehl

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

Ausgänge:

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

Sie können viele Spalten in beliebiger Reihenfolge angeben:

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
Mikhail Morfikov
quelle
4
Vielen Dank, dass Sie mir dieses Tool gezeigt haben! Beachten Sie, dass diese Anwendung für normale Benutzer funktioniert, einige Informationen (einschließlich Beschriftungen) jedoch nur als Root-Benutzer angezeigt werden.
User689893
1
Werden auch nicht gemountete Partitionen angezeigt? Wenn ja, dann löst es die gestellte Frage.
Ravi
1
Ja. Wie Sie sehen, sind sdb1 und sdb3 nicht gemountet.
Mikhail Morfikov
14
oder leichter zu merken, lsblk -fwas entsprichtlsblk -o NAME,FSTYPE,LABEL,MOUNTPOINT
LeoR
@ user689893 - nein, das passiert nur unter debian / ubuntu und Derivaten. Der Punkt von lsblksoll von regulären Benutzern verwendet werden, sodass su / sudo nicht erforderlich ist. Wenn das bei Ihnen nicht funktioniert, haben Ihre Distributoren offensichtlich etwas verpasst.
don_crissti
26

Es gibt einen blkid- Befehl, der genau das ist, wonach Sie suchen. Die Ergebnisse ähneln den folgenden:

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

Eine andere Möglichkeit ist die Verwendung des Befehls udevadm , der Ihnen wahrscheinlich weit mehr bietet , als Sie benötigen:

$ sudo udevadm info --query=all --name=/dev/mapper/vg_rootdisk-lv_var
Schrägstrich
quelle
1
Dies war der einzige Vorschlag, der bis jetzt bei ddwrt
Karthik T
12

Versuchen Sie, diesen Befehl zu verwenden:

e2label /dev/sda2
Dmitri Kosolobov
quelle
9

Versuchen Sie es zu verwenden mount -l, es funktioniert gut für mich.

slm
quelle
2
Hi @Alan Kuras - danke und +1 für die Antwort! Ich möchte jedoch nicht gemountete Partitionen auflisten - mount -les werden nur gemountete Partitionen angezeigt . Prost!
7

/ dev / disk

In neueren Versionen des Linux-Kernels finden Sie diese Informationen jetzt hier unter /dev/disk.

Beispiel

$ 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

So können Sie es finden , indem Sie by-id, by-label, by-pathoder 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
    

    Wo xxxxxxwäre die eigentlich eine UUID wie 5ece678c-1234-5678-12e3-88c06ec11111.

  • 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
    

    Wo LABEL1, LABEL2... etc sind Labels , die symbolischen Links zu aktueller Partition zeigt (zB /dev/sda3).

slm
quelle
So sortieren Sie nach Partitionsnamen:ls -l /dev/disk/by-label/ | sort -k10
Digger
4

Dadurch werden nicht alle Partitionen aufgelistet, aber Sie können anzeigen und ändern, was Sie möchten tune2fs.

$ sudo tune2fs -l /dev/sda1

Mit einem solchen Befehl können Sie alle /dev/sda*Geräte abrufen.

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

Sie können auch diesen Befehl verwenden:

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

Sie können die obigen Informationen verwenden, um alle Informationen zu den Blockgeräten auszudrucken.

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

e2label hat bei mir mit UDF-Dateisystembezeichnungen nicht funktioniert. blkid tat es;

blkid -s LABEL -o value /dev/sdg1
Thermionix
quelle
1

Wenn Sie möchten, können Sie mein Bash-Skript für diesen Zweck verwenden. Es macht tatsächlich ein wenig mehr als Sie brauchen, dh es wird auch gezeigt, wie viel Speicherplatz verwendet wird. Hoffe es gefällt euch :) Und ich hoffe auch, dass die Ausgabe so ordentlich ist wie auf meiner Linux-Box ... (Hinweis: Es wird nur echte Hardware wie Festplatten und DVD-ROMs angezeigt, aber das ist für meine Zwecke ausreichend.)

Wichtiger Hinweis: Dieses Skript muss möglicherweise untersudo ONCE ausgeführt werden, da blkid. Zumindest auf meiner Distribution blkid -o exportwird beim Ausführen als normaler Benutzer nach dem Booten nil ausgegeben . Dies liegt daran, dass bei der "regulären Benutzerwiedergabe" von (normalerweise ) blkidDaten aus einer Cache-Datei abgerufen werden /run/blkid/blkid.tab, die nur von beschreibbar ist rootund daher einen Durchlauf sudoerfordert, um mit aktuellen Daten gefüllt zu werden.

#!/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
           }'
Syntax-Fehler
quelle
1

In einem Linux-Terminal (Konsole) geben Sie Folgendes ein:

blkid

gefolgt von Enter

Das Ergebnis ist die Liste der Blockgeräte mit LABEL und TYPE

JLJ
quelle
0

Ich benutze auch lsblkoben erwähnte, aber ich finde die folgenden Optionen besser geeignet:

sudo lsblk -o name,mountpoint,tran,fstype,label,size
Eduard Florinescu
quelle