Как перечислить свободное место, исключая точки монтирования в корневых каталогах?

Я работал df -lP который дал мне следующий вывод:

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             7.6G  2.2G  5.1G  30% /
varrun                506M  108K  506M   1% /var/run
varlock               506M     0  506M   0% /var/lock
udev                  506M   44K  506M   1% /dev
devshm                506M   12K  506M   1% /dev/shm
lrm                   506M   40M  467M   8% /lib/modules/2.6.24-26-generic/volatile
gvfs-fuse-daemon      7.6G  2.2G  5.1G  30% /home/vmadmin/.gvfs

Как я могу удалить строку, где она говорит /home/"can be anything"?

Я не могу использовать df -lP | sed '$d' потому что вывод был бы

Filesystem         1024-blocks      Used Available Capacity Mounted on
/dev/sda1              7867856   3622668   3845524      49% /
tmpfs                   513448         0    513448       0% /lib/init/rw
udev                    507692       124    507568       1% /dev
tmpfs                   513448         4    513444       1% /dev/shm
2
задан 30 January 2013 в 19:45

2 ответа

Читая ваш вопрос сейчас, можно найти простое решение:

df -lP | grep -v '/home/' Где / home - это то, которое вы не хотите видеть, и -v в grep даст вам обратное тому, что вы ищете. По сути, вы бы сказали grep искать все строки, которые НЕ имеют /home с ними.

Если вы хотите исключить другие папки, сделайте следующее:

df -h | grep -ve "/home" -ve "/lib"

Это исключит все /home папки и все /lib папки. Вы можете продолжить добавление исключенной папки, добавив -ve и в "" папку, которую хотите исключить.

0
ответ дан 30 January 2013 в 19:45

Как насчет этого?

df -lP | grep -v "%\s\/home\/"

Он фильтрует все строки, соответствующие %, за которыми следует одиночный пробел и затем /home/ с использованием grep.

Примечание для других читателей: как уже в вопросе, важно использовать -P в df, чтобы сохранить предсказуемый однострочный вывод.

0
ответ дан 30 January 2013 в 19:45

Другие вопросы по тегам:

Похожие вопросы: