Нужна помощь в написании сценария оболочки для расчета используемого и свободного места в каталоге - PullRequest
1 голос
/ 10 ноября 2010

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

Ответы [ 2 ]

2 голосов
/ 10 ноября 2010

Звучит так, будто вы ищете команду "df".К сожалению, вывод и параметры зависят от того, какой вариант UNIX вы используете.

Введите «man df» или попробуйте «df -h» в командной строке, чтобы узнать больше.

Вот пример с моего Mac:

kim-burgaards-macbook-pro:~ kim$ df
Filesystem    512-blocks       Used Available Capacity  Mounted on
/dev/disk0s2   976101344  912544576  63044768    94%    /
devfs                224        224         0   100%    /dev
map -hosts             0          0         0   100%    /net
map auto_home          0          0         0   100%    /home
/dev/disk1s1   976773104  761379976 215393128    78%    /Volumes/Photo Vault
/dev/disk2s2  1952853344 1844058136 108795208    95%    /Volumes/Backup

Насколько я помню, вывод выглядит очень похоже на Solaris.

1 голос
/ 10 ноября 2010

AFAIK, каталоги не имеют понятия общего и свободного пространства, которое зависит от диска, на котором находится каталог.

Чтобы узнать используемое пространство, вы можете использовать du -s 'directory name'.

Вы можете использовать df 'Directory name', чтобы найти доступное пространство на этом носителе и, возможно, объединить их.

Например, рассмотрим каталог '~ / Desktop'

[foo@bar ~] df -h ~/Desktop
Filesystem            Size  Used Avail Use% Mounted on
foobar:/vol/arbit/foo
                      126G   84G   43G  67% /home/foo

Очевидно, ~/Desktop не использовал 84G,

[foo@bar ~] du -sh ~/Desktop
30M     /home/foo/Desktop

что является правильным использованием.

Вы можете использовать awk, чтобы захватить необходимые поля и заполнить вашу информацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...