Come posso elencare il disco rigido e tutte le sue partizioni compresa la dimensione dal terminale?

Ho installato il server Ubuntu 12.04 senza GUI. Vorrei elencare il mio disco rigido e le sue partizioni insieme a quanto è big ogni partizione utilizza la riga di comando.

Ecco alcuni modi:

  • Se hai una tabella delle partizioni MBR:

    [email protected] ~ $ sudo fdisk -l Disk /dev/sda: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x4b66b5d5 Device Boot Start End Blocks Id System /dev/sda1 63 80324 40131 de Dell Utility /dev/sda2 * 81920 30801919 15360000 7 HPFS/NTFS/exFAT /dev/sda3 30801920 194643539 81920810 7 HPFS/NTFS/exFAT /dev/sda4 194643601 976773119 391064759+ f W95 Ext'd (LBA) /dev/sda5 194643603 198836504 2096451 c W95 FAT32 (LBA) /dev/sda6 342951936 960387071 308717568 83 Linux /dev/sda7 198840320 342949887 72054784 83 Linux /dev/sda8 960389120 976773119 8192000 82 Linux swap / Solaris 

    o sudo sfdidk -l

    Questi però non danno un’uscita leggibile in modo umano. Le prossime scelte sono migliori.

  • Per entrambe le tabelle di partizione GPT e MBR:

     [email protected] ~ $ sudo parted -l Model: ATA ST9500420AS (scsi) Disk /dev/sda: 500GB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 1 32.3kB 41.1MB 41.1MB primary fat16 diag 2 41.9MB 15.8GB 15.7GB primary ntfs boot 3 15.8GB 99.7GB 83.9GB primary ntfs 4 99.7GB 500GB 400GB extended lba 5 99.7GB 102GB 2147MB logical fat32 lba 7 102GB 176GB 73.8GB logical ext4 6 176GB 492GB 316GB logical ext4 8 492GB 500GB 8389MB logical linux-swap(v1) Model: ST950032 5AS (scsi) Disk /dev/sdb: 500GB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 1 32.3kB 500GB 500GB primary ntfs 
  • lsblk

     [email protected] ~ $ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 465.8G 0 disk ├─sda1 8:1 0 39.2M 0 part ├─sda2 8:2 0 14.7G 0 part ├─sda3 8:3 0 78.1G 0 part ├─sda4 8:4 0 1K 0 part ├─sda5 8:5 0 2G 0 part ├─sda6 8:6 0 294.4G 0 part /home ├─sda7 8:7 0 68.7G 0 part / └─sda8 8:8 0 7.8G 0 part [SWAP] sdb 8:16 0 465.8G 0 disk └─sdb1 8:17 0 465.8G 0 part /test sr0 11:0 1 1024M 0 rom 
  • Installa inxi quindi esegui

     [email protected] ~ $ inxi -D Drives: HDD Total Size: 1000.2GB (70.1% used) 1: id: /dev/sda model: ST9500420AS size: 500.1GB 2: id: /dev/sdb model: 5AS size: 500.1GB 

Ecco alcuni altri approcci:

lshw

La versione breve di lshw elenca comodamente la dimensione dei dischi nella descrizione

 sudo lshw -short | awk '/disk|volume/' /0/1/0.0.0 /dev/sda disk 120GB Radeon R7 /0/1/0.0.0/1 /dev/sda1 volume 111GiB EXT4 volume /0/2/0.0.0 /dev/cdrom disk DVDRAM GT20N 

E per informazioni più dettagliate usa lshw -class volume,disk

udiscsctl

udiscsctl ha l’opzione info che accoppiata al flag -b (per block-device), può mostrare informazioni dettagliate. Usando un semplice ciclo per loop e awk , possiamo farlo mostrare le informazioni sulla partizione e le dimensioni in modo specifico. Ecco il mio esempio:

 $ for device in /dev/sd* ; do udisksctl info -b $device | awk '/[[:blank:]]Device:/; /Size/' ;done Device: /dev/sda Size: 120034123776 Device: /dev/sda1 Size: 120032591872 Size: 120032591872 

comando df

comando df mostra informazioni su tutti i filesystem attualmente montati. Di nuovo, possiamo usare direttamente questo comando, ma anche ripulire l’output usando awk

 df -h | awk 'NR==1 ;/\/dev\/sd*/' Filesystem Size Used Avail Use% Mounted on /dev/sda1 110G 68G 37G 66% / 

Qui stampiamo semplicemente l’intestazione e usiamo il flag -h che consente di stampare le dimensioni in formato leggibile

/ sys / class / block / sd * file

All’interno /sys/class/block/ folder troverete i file relativi ai dispositivi a blocchi (che in genere si riferiscono a dispositivi di memoria fisica). In particolare, vogliamo concentrarci su qualsiasi file che inizia con le lettere sd .

Ad esempio, ho un disco rigido con una sola partizione. Così /sys/class/block/sda riferisce al mio intero hard-drive, mentre /sys/class/block/sda1 riferisce alla mia partizione Ubuntu.

All’interno di ogni cartella per ogni dispositivo, troverai il file delle size , che elenca quanti blocchi di 512 MB ci sono sul dispositivo . Quindi la dimensione reale è il number of blocks x 521 .

Di nuovo, con una piccola linea di comando magica, otteniamo:

 $ for device in /sys/class/block/sd*; do printf "%s " $device; bc <<< "$(cat $device/size)*512" ; done /sys/class/block/sda 120034123776 /sys/class/block/sda1 120032591872 

O un po 'più breve con awk :

 $ awk '{print substr(FILENAME,18)" "$1*512}' /sys/class/block/sd*/size sda/size 120034123776 sda1/size 120032591872 

Nel terminale:

 sudo fdisk -l 

Digita la tua password

http://i.stack.imgur.com/FPRg3.png

comando lsblk :

http://i.stack.imgur.com/7egAM.png

Sono arrivato a questo cercando “partizioni gpt di ubuntu server list”. Stavo cercando una risposta usando 16.04.1 LTS. Per quelli di voi che vogliono elencare le partizioni (MBR o GPT), fdisk sembra avere supporto per entrambi (e non solo per MBR come nelle precedenti versioni di Ubuntu) in LTS 16.04.1. Anche parted non è installato di default quando l’opzione “utilità di sistema di base” è selezionata durante l’installazione. Quindi il seguente comando è tutto ciò che serve su 16.04.1 LTS:

 sudo fdisk -l