Отобразить свободное пространство файловой системы для пользователя root

По умолчанию Linux резервирует некоторую часть файловой системы для пользователя root, по крайней мере на ext4 (чтобы обычные пользователи не полностью заполняли диск и не разбивали систему, а также уменьшали фрагментацию). Однако df отображает только свободное пространство для обычных пользователей (даже при запуске с правами администратора). Как вы показываете «реальное» свободное пространство, доступное для root?

  • Ext2 или Ext4 для загрузочного USB-флеш-накопителя с Linux?
  • Альтернатива для «tail -f», которая следует за именем файла
  • Передача агента SSH не работает
  • Debian Lenny ожидает, что udev на vps, который его не поддерживает
  • Fdisk не может найти USB-накопитель
  • Linux - не может удалить принадлежащий ему файл с 777 правами доступа
  • Как установить реальный Firefox на Debian?
  • Двойная загрузка Linux с Windows 7
  • 3 Solutions collect form web for “Отобразить свободное пространство файловой системы для пользователя root”

    Я не уверен, что есть встроенный инструмент, но при условии, что вы оставили зарезервированный по умолчанию 5%, тогда это скажет вам:

     df / | grep dev | cut -f 3,6 -d\ | awk '{print ($1*.05)+$2}' 

    df root, grep для строки с dev в нем (чтобы удалить заголовок), cut размер и доступные поля, а затем использовать awk скрипт для вычисления 5% от размера диска, добавленного к доступному.

    Вы можете вытащить фактическое резервирование с tune2fs -l <device> и объединить это с указанным выше в скрипте.

    Используя команду tune2fs (найденную в / sbin / tune2fs ), вы можете легко определить зарезервированное пространство : (и многое другое!)

     tune2fs -l /dev/sda1 

    Я приведу информацию о моей системе для справки, я собираюсь удалить посторонние строки, не имеющие значения для этого вопроса:

    Заголовок … и имя тома, я обозначаю все мои диски, упрощает их идентификацию при необходимости.

     tune2fs 1.42.4 (12-Jun-2012) Filesystem volume name: xenon Last mounted on: / ... 

    ДЕЙСТВИТЕЛЬНО хочу, чтобы это говорило «clean» во время работы системы. Честное слово!

     Filesystem state: clean 

    Здесь начинается информация о емкости хранилища данных:

    Здесь вы можете увидеть, что у меня есть 121,179,648 блоков … с размером блока 4K (4096), который умножается на некоторое большое количество (462-и-го GB). (Размер блока указан ниже)

     Block count: 121179648 

    И зарезервированные блоки … глядя на число выше, и число ниже .. вы должны иметь возможность относительно быстро выяснить, у меня 1% зарезервировано. В этом случае (4.62-ish GB)

     Reserved block count: 1211796 

    Сколько свободного места доступно в настоящее время? Прямо здесь!

     Free blocks: 104090586 ... 

    И все важные размеры блока. Полезно для умножения.

     Block size: 4096 ... 

    Эти строки говорят ВОЗ, что блоки зарезервированы для … пользователя 0, root, в этом случае

     Reserved blocks uid: 0 (user root) Reserved blocks gid: 0 (group root) ... 

    Здесь доступно гораздо больше информации, но это должно дать вам возможность быстро определить, сколько доступно, и сколько еще зарезервировано для root. Простая математика.

    Надеюсь это поможет. Помните … man-страницы – ваши друзья.

    Это отображает свободное пространство в байтах в разделе, связанном с "/ path"

     printf '%s' $(($(stat -f --format='%f*%S' /path))) 

    Вам не обязательно быть суперпользователем, чтобы запустить его.

    Кстати, я не совсем понимаю, в чем разница между

    Размер блока% s (для более быстрой передачи)

    % S основной размер блока (для количества блоков)

    В использовании stat .

    Давайте будем гением компьютера.