web-dev-qa-db-fra.com

Comment lister le disque dur et toutes ses partitions, y compris la taille du terminal?

Le serveur Ubuntu 12.04 est installé sans interface graphique. J'aimerais répertorier mon disque dur et ses partitions, ainsi que la taille de chaque partition à l'aide de la ligne de commande.

6
Cam Jones

Voici quelques façons:

  • Si vous avez une table de partition MBR:

    terdon@oregano ~ $ 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
    

    ou Sudo sfdidk -l

    Celles-ci ne donnent cependant pas une sortie particulièrement lisible par l'homme. Les choix suivants sont meilleurs.

  • Pour les tables de partition GPT et MBR:

    terdon@oregano ~ $ 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
    
  • lsblkname__

    terdon@oregano ~ $ 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  
    
  • Installez inxiname __ puis exécutez

    terdon@oregano ~ $ 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 
    
13
terdon

Voici quelques autres approches:

lshw

La version abrégée de lshwrépertorie commodément la taille des disques dans la description.

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

Et pour des informations plus détaillées, utilisez lshw -class volume,disk

discsctl

udiscsctla l'option infoqui, associée à l'indicateur -b (pour block-device), peut afficher des informations détaillées. En utilisant une simple boucle for et awkname__, nous pouvons lui faire afficher les informations de partition et de taille de manière spécifique. Voici mon exemple:

$ 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

commande df

La commande dfaffiche des informations sur tous les systèmes de fichiers actuellement montés. De nouveau, nous pouvons utiliser cette commande directement, mais également nettoyer la sortie en utilisant awkname__

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

Ici, nous venons d’imprimer l’en-tête et d’utiliser le drapeau -h qui permet d’imprimer la taille au format lisible par l’homme

/ sys/class/block/sd * fichiers

Dans le dossier /sys/class/block/, vous trouverez des fichiers liés aux périphériques en mode bloc (qui font généralement référence à des périphériques de mémoire physiques). En particulier, nous souhaitons nous concentrer sur tous les fichiers commençant par sdletters.

Par exemple, j'ai un disque dur avec une seule partition. Ainsi, /sys/class/block/sda fait référence à l'ensemble de mon disque dur, tandis que /sys/class/block/sda1 se réfère à ma partition Ubuntu.

Dans chaque dossier pour chaque périphérique, vous trouverez le fichier sizename__, qui répertorie le nombre de blocs de 512 Mo présents sur le périphérique . La taille réelle est donc number of blocks x 521.

Encore une fois, avec un peu de magie en ligne de commande, nous obtenons:

$ 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

Ou un peu plus court avec awkname__:

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

En terminal:

Sudo fdisk -l

Tapez votre mot de passe.

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

lsblk command:

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

0
nux

J'y suis parvenu en recherchant "partitions de liste de serveurs ubuntu gpt". Je cherchais une réponse en utilisant 16.04.1 LTS. Pour ceux d'entre vous qui souhaitent lister des partitions (MBR ou GPT), fdisk semble prendre en charge les deux (et pas seulement les MBR comme dans les versions précédentes d'Ubuntu) dans 16.04.1 LTS. De plus, parted n'est pas installé par défaut lorsque l'option "utilitaires système de base" est sélectionnée lors de l'installation. Donc, la commande suivante est tout ce dont vous avez besoin sur 16.04.1 LTS:

Sudo fdisk -l
0
swoop81