web-dev-qa-db-ja.com

端末からのサイズを含むハードドライブとそのすべてのパーティションを一覧表示するにはどうすればよいですか?

GUIなしでUbuntuサーバー12.04をインストールしています。私のハードドライブと、各パーティションがコマンドラインを使用している大きさのパーティションをリストしたいと思います。

6
Cam Jones

以下にいくつかの方法を示します。

  • 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
    

    またはSudo sfdidk -l

    ただし、これらは特に人間が読み取れる出力を提供しません。次の選択肢が優れています。

  • GPTと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
    
  • lsblk

    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  
    
  • inxiをインストール その後実行

    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

他のアプローチは次のとおりです。

lshw

lshwの短いバージョンは、ディスクリプションのディスクサイズを便利にリストします。

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

さらに詳細な情報については、lshw -class volume,diskを使用してください

discsctl

udiscsctlにはinfoオプションがあり、-b(ブロックデバイス用)フラグと組み合わせて、詳細情報を表示できます。単純なforループとawkを使用して、パーティションとサイズの情報を具体的に表示させることができます。これが私の例です:

$ 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

dfコマンド

dfコマンドは、現在マウントされているすべてのファイルシステムに関する情報を表示します。繰り返しますが、このコマンドを直接使用できますが、awkを使用して出力をクリーンアップすることもできます

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

ここでは、ヘッダーを印刷し、サイズを人間が読み取れる形式で印刷する-hフラグを使用します

/ sys/class/block/sd * files

/sys/class/block/フォルダー内には、ブロックデバイス(通常は物理メモリデバイスを参照)に関連するファイルがあります。特に、sd文字で始まるファイルに焦点を当てたいと思います。

たとえば、パーティションが1つしかないハードドライブが1台あります。したがって、/sys/class/block/sdaはハードドライブ全体を指し、/sys/class/block/sda1はUbuntuパーティションを指します。

各デバイスの各フォルダー内には、[デバイス上に512 MBのブロックがいくつあるか]をリストするsizeファイルがあります。したがって、実際のサイズはnumber of blocks x 521です。

繰り返しになりますが、コマンドラインの魔法はほとんどありません。

$ 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

またはawkで少し短くなります:

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

ターミナル内:

Sudo fdisk -l

パスワードを入力してください。

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

lsblkコマンド:

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

0
nux

「ubuntu server list gpt partitions」を検索して、これに到達しました。 16.04.1 LTSを使用しているときに答えを探していました。パーティション(MBRまたはGPT)を一覧表示する場合、fdiskは16.04.1 LTSで両方(以前のUbuntuバージョンのようにMBRだけでなく)をサポートしているようです。また、インストール中に「基本システムユーティリティ」オプションが選択されている場合、partedはデフォルトではインストールされません。したがって、16.04.1 LTSでは次のコマンドが必要です。

Sudo fdisk -l
0
swoop81