Доступное дисковое пространство в ОС Unix / Linux

11

Как получить доступное дисковое пространство в ОС Unix / Linux, включая нераспределенное пространство (которое не было назначено ни одному разделу)?

krapstuke
источник
1
Другие ответы, которые публикуются здесь, превосходны, поэтому я не буду добавлять к ним (хотя я их опишу!), Но отмечу, что почти любая команда для просмотра необработанного устройства (что вам нужно сделать, чтобы увидеть пространство, еще не предоставленное пользователям системы) требует привилегий. Если у вас нет рута, забудьте об этом.
MadHatter
1
И если у вас возникла проблема, которую вы пытаетесь решить, то вам следует написать об этой проблеме.
Майкл Хэмптон
Моя проблема в том, что я не знаю, как получить доступное дисковое пространство, вот и все.
krapstuke

Ответы:

20

В Linux свободное место может скрываться во множестве мест:

  1. Свободное место в файловой системе (наиболее очевидное):

    df -h
    
  2. Нераспределенное пространство:

    for dev in /dev/sd?; do parted "$dev" print; done
    

    или

    for dev in /dev/sd?; do fdisk -l "$dev"; done
    

    и внимательно изучите, сколько места находится между разделами, а также между разделами и концом устройства.

  3. Свободное место в системе LVM:

    vgs
    

    или

    pvs
    

    физический том может занимать меньше места, чем размер раздела, поэтому сравните его размер с размером раздела

  4. Пространство, не назначенное разделу в системе MD:

    for dev in /dev/md*; do mdadm --detail "$dev"; done
    

    Вам нужно будет сравнить «Размер используемого разработчика» с размером раздела

  5. Файловые системы могут быть меньше, чем объем, на котором они находятся (спасибо @PaulGear!). Вы должны сравнить размер логического тома LVM, устройства MD RAID, раздела или другого устройства, на котором находится файловая система, с размером файловой системы (как возвращено df).

Если у вас несколько групп дисков или томов LVM и относительно новый дистрибутив, вы можете использовать lsblkдля отображения дерева блочных устройств вместе с точками монтирования.

ПРИМЕЧАНИЕ. Существует также разница между маркетинговой ГБ (которая составляет 10 ^ 9B) и ОС или технической ГБ (которая составляет 2 ^ 30B и должна быть записана как GiB, чтобы их можно было различить). 40 ГБ составляет около 37,25 ГБ. Все вышеперечисленные инструменты, за исключением partedиспользования двоичных гигабайт в качестве единиц по умолчанию. Добавьте unit MiBк команде printparted , прежде чем получать ответы в мегабайтах (также полезно для выравнивания разделов на SSD и секторах 4KiB).

Хьюберт Карио
источник
1
Также обратите внимание, что между трещинами может скрываться пространство, например, если у вас LV, равное 40 ГиБ, и файловая система, в которой всего 30 ГиБ. Убедитесь, что вы перепроверили ответы dfи lvs.
Пол Гир
3

Звучит так, будто, возможно, вам нужен такой инструмент, как partitionmanager или gparted.

http://kde-apps.org/content/show.php?content=89595

http://gparted.sourceforge.net/download.php

cfdisk также будет показывать нераспределенное пространство на диске за диском:

cfdisk /dev/sda

Укажите соответствующее устройство - sda, sdb, sdc и т. Д.

Даниил
источник
2

Пытаться:

df -h 

или

fdisk -l *

http://www.unix.com/red-hat/178290-get-unallocated-disk-space.html

Над ссылкой есть еще описание того, что вы после

http://www.computerhope.com/unix/udf.htm Надеюсь, это поможет

rihatum
источник
Да, но это не помогло. df показывает только разделы выделенного пространства. Машина имеет 5 дисков, общий объем которых составляет 48 ГБ. С консоли я получаю около 30 Гб общего пространства.
Крапстукэ
1

Вы можете увидеть разделы с помощью "df -h". В остальном вы можете использовать « parted discname », а затем «print».

Йерун
источник