empty - Как узнать свободное пространство на диске для данного пути в оболочке linux?



linux free disk space in gb (3)

1) Я в какой-то директории 2) Я хочу узнать, сколько свободного места осталось там

Есть ли простая команда, которая делает это? Я не хочу смотреть в fstab или что-то еще, имея в виду, чтобы отображать устройства и монтировать точки в моем уме, чтобы определить, сколько свободного места у меня осталось.


Answer #1

Команда «df», которую другие обсуждают, составляет лишь половину уравнения. Знать, что файловая система имеет свободное пространство, не означает, что пользователь имеет доступ к пространству.

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

df -k .

Чтобы узнать свободное пространство в текущей файловой системе. «df» достаточно умен, чтобы ходить по дереву и сообщать об этом. Если вы хотите проверить квоты (см. Ниже), вы можете обработать вывод df, чтобы найти файловую систему, чтобы проверить квоту.

Там не может быть свободных inodes (df -i $ PWD), могут быть зарезервированные блоки для суперпользователя (по умолчанию на ext2 / 3/4, 5% от общего числа зарезервировано для root). Я считаю, что df показывает свободное пространство, включая зарезервированные блоки, поэтому число, которое вы видите, на самом деле выше, чем доступно, если вы не root.

Пользователь может иметь ограничения на квоту. Ограничения квоты гораздо менее распространены в наши дни, так как стоимость хранения настолько низкая, но стоит также проверить с помощью команды квоты.


Answer #2

Я бы использовал следующее, чтобы быть более совместимым со всеми различными df(1) и их выходом:

df . | awk '$3 ~ /[0-9]+/ { print $4 }'

Нет необходимости использовать tail(1) из-за соответствия регулярных выражений.


Answer #3
df -Ph $PWD | tail -1 | awk '{ print $3}'




df