Сколько места является свободным на устройстве, содержащем данный файл

В Linux, учитывая путь к файлу, там какой-либо способ сказать, какая файловая система он идет?

А именно, я пытаюсь выяснить, сколько пространства оставляют на диске это /home/itsadok/bananas находится в. От df Я вижу, сколько пространства оставляют на различных подсоединенных внешних дисках, но это - твердое для выяснения, кто из них релевантен.

Между прочим, я хочу сделать это из сценария, таким образом, образованные предположения не позволяются.

4
задан 29.10.2009, 10:28

3 ответа

Выполненный

df -k /home/itsadok/bananas

(-k для размера в килобайтах, можно проигнорировать его, если Вы не хотите это),

Это даст Вам, размер уехал только в файловую систему, содержащую файл, по крайней мере, на AIX.

6
ответ дан 07.12.2019, 19:58

Я играл вокруг с df после чтения этого вопроса, и я думаю, что это могло бы помочь кому-то:
Для получения его в сценарии необходимо удалить строку заголовка, то есть, просто сохраните выходную строку, которая имеет текст/dev/sda1. Таким образом, я сделал это:

$ df -h . | grep dev

который дал мне это:

/dev/sda1              41G  3.6G   36G  10% /

И добираться 36G часть, я сделал это:

$ df -h . | grep dev | cut -d' ' -f20

Проигрывание вокруг с сокращением дает другие части также:

$ df -h . | grep dev | cut -d' ' -f1
/dev/sda1

Как itsadok указывает ниже, awk лучше с этой целью, так как изменение в количестве пробелов и/или ширины поля повредит основанное на сокращении решение.
Таким образом, это лучше:

$ df -h . | grep dev | awk '{print $4}' 
36G
1
ответ дан 07.12.2019, 19:58
  • 1
    cut кажется немного хрупким с этой целью, я думаю, что числа не будут с различными размерами диска. Я использовал бы awk '{print $3}' вместо этого. – itsadok 01.11.2009, 10:21

Так как это находится в сценарии:

stat -fc '%a * %S' -- "$fname" |bc
0
ответ дан 07.12.2019, 19:58

Теги

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