Executar
df -k /home/itsadok/bananas
(- k para tamanho em kilobytes, você pode ignorá-lo se não quiser)
Isso lhe dará o tamanho restante apenas para o sistema de arquivos que contém o arquivo, pelo menos no AIX.
No linux, dado um caminho para um arquivo, existe alguma maneira de saber em qual sistema de arquivos ele está?
Especificamente, estou tentando descobrir quanto espaço resta na unidade em que /home/itsadok/bananas
está. A partir de df
, posso ver quanto espaço resta nas várias unidades montadas, mas é difícil descobrir qual deles é relevante.
A propósito, eu quero fazer isso a partir de um script, então adivinhações educadas não são permitidas.
Eu estava brincando com df depois de ler esta pergunta e acho que isso pode ser útil para alguém:
Para obtê-lo em um script, você tem que remover a linha do título, ou seja, basta manter a linha de saída que tem o texto / dev / sda1 . Então eu fiz isso:
$ df -h . | grep dev
que me deu isso:
/dev/sda1 41G 3.6G 36G 10% /
E para obter a parte 36G , fiz isso:
$ df -h . | grep dev | cut -d' ' -f20
Brincando com o recorte também fornece as outras partes:
$ df -h . | grep dev | cut -d' ' -f1 /dev/sda1
Como o itsadok aponta abaixo, awk é melhor para esse propósito, já que uma mudança no número de espaços e / ou larguras de campo irá quebrar um corte solução baseada em strong.
Então, isso é melhor:
$ df -h . | grep dev | awk '{print $4}' 36G
Como isso está em um script:
stat -fc '%a * %S' -- "$fname" |bc
Tags mount linux filesystems ubuntu