it-swarm-eu.dev

Seznam štítků oddílů z příkazového řádku

Existuje příkaz, který vypíše všechny oddíly spolu s jejich štítky? Sudo fdisk -l a Sudo parted -l ve výchozím nastavení nezobrazovat štítky.

EDIT: (podle komentáře níže) Mluvím o značkách ext2 - těch, které můžete nastavit v gparted po rozdělení.

EDIT2: Záměrem je vypsat seznam nespojených oddílů (takže vím, který z nich se připojí).

96
sdaau

S udev můžete použít

ls -l /dev/disk/by-label

pro zobrazení symbolických odkazů podle označení alespoň některé uzly zařízení oddílů.

Nejste si jisti, jaká je logika začlenění, možná existence štítku.

88
Ilkka

s lsblk

Například příkaz

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

výstupy:

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

Můžete zadat spoustu sloupců v libovolném pořadí:

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
134
Mikhail Morfikov

Existuje příkaz blkid , který může být tím, co hledáte. Výsledky jsou podobné následujícímu:

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

Další možností je použít příkaz udevadm , který vám pravděpodobně poskytne mnohem více, než potřebujete:

$ Sudo udevadm info --query=all --name=/dev/mapper/vg_rootdisk-lv_var
27
slashdot

Zkuste použít tento příkaz:

e2label /dev/sda2
12

Zkuste použít mount -l, funguje to pro mě dobře.

9
Alan Kuras

/ dev/disk

V novějších verzích jádra Linuxu lze tyto informace nyní najít pod /dev/disk.

Příklad

$ 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

Takže ji najdete podle by-id, by-label, by-path nebo 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
    

    Kde xxxxxx by bylo skutečné UUID, například 5ece678c-1234-5678-12e3-88c06ec11111.

  • vedlejší značka

    $ 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
    

    Kde LABEL1, LABEL2, ... atd. jsou label, který zobrazuje symbolické odkazy na skutečný oddíl (např. /dev/sda3).

7
slm

Tím nebudou uvedeny všechny oddíly, ale pomocí tune2fs.

$ Sudo tune2fs -l /dev/sda1

Pomocí tohoto příkazu můžete získat všechny /dev/sda* zařízení.

$ Sudo sh -c 'echo /dev/sda* /dev/mapper/Fedora* | xargs -n 1 tune2fs -l'
4
sergio

Můžete také použít tento příkaz:

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

Pomocí výše uvedeného můžete vytisknout informace o všech blokových zařízeních.

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

V terminálu typu Linux (konzole):

blkid

Následován Enter

Výsledkem je seznam blokových zařízení, každá s LABEL a TYPE

1
JLJ

Pokud chcete, můžete použít můj bash skript pro tento účel. Ve skutečnosti to dělá trochu víc, než potřebujete. E. ukáže také, kolik místa je využito. Doufám, že se vám bude líbit :) A také doufám, že výstup bude stejně čistý jako na mém linuxovém boxu ... (Poznámka: zobrazí pouze skutečné hardware, jako jsou vaše pevné disky a DVD-ROM, ale to je pro mé účely dostačující.)

Důležitá poznámka: Tento skript může být spuštěn pod Sudo ONCE kvůli blkid. Alespoň na mé distro, blkid -o export bude výstup nulový, když bude spuštěn jako běžný uživatel po spuštění . Je tomu tak proto, že v „běžném uživatelském ztvárnění“ blkid budou data skutečně načtena z soubor mezipaměti (obvykle /run/blkid/blkid.tab), který lze zapisovat pouze u root, a bude tedy vyžadovat jedno spuštění pod Sudo, aby se naplnilo aktuálními daty.

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

e2label pro mě nefungoval se štítky souborových systémů UDF. blkid ano;

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

Používám také výše zmíněné lsblk, ale shledávám následující možnosti lépe vyhovující:

Sudo lsblk -o name,mountpoint,tran,fstype,label,size
0

Zjistil jsem, jak dostanu fslabel z fsroot partition jako běžný uživatel. Tato stránka mi pomohla uspět. Nebylo to snadné. Mnoho příkazů pracuje pouze se Sudo, ale/etc/mtab a/dev/disk/by-label jsou čitelné jako běžný uživatel.

Zde je bash kód:

test=`cat /etc/mtab|grep " / "`
test=${test%% *}
test=${test##*/}
test=`ls -l /dev/disk/by-label/|grep $test`
test=${test%% ->*}
test=${test##* }
0
EdDude

Velmi snadné:

lsblk -fp

Popis z manuálové stránky:

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

Na obou následujících distribucích jsem testoval příkaz:

  • Red Hat Enterprise Linux 8.1 (Ootpa)
  • Ubuntu 18.04.3 LTS (Bionic Beaver)

Výsledek:

$ 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  /
0
Reza Rahimi