Как получить разный размер нескольких указанных каталогов в unix?

#linux #bash #unix #command #sudo

#linux #bash #unix #команда #sudo

Вопрос:

Я хочу получить размер каждого указанного каталога после выполнения некоторых команд. Например, я хочу очистить весь кеш при /var использовании

 /var : sudo yum clean all
 

Затем получите размер следующих каталогов:

 /var
/boot
/opt
 

Я могу написать, например, следующее:

 sudo du -sh /var
sudo du -sh /boot
sudo du -sh /opt
 

Но я хочу объединить их в одну команду «sudo du». Возможно ли это? Затем я хочу объединить его с помощью команды «yum clean all».

Есть ли хорошая практика для этого? Я новичок в Unix.

Ответ №1:

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

 sudo yum clean all amp;amp; sudo du -sh /var /boot /opt
 

Вы выполняете одну операцию sudo:

 sudo sh -c "yum clean all amp;amp; du -sh /var /boot /opt"
 

Комментарии:

1. Большое спасибо за быстрый и простой ответ!

2. sudo sh -c "yum clean all amp;amp; du -sh /var /boot /opt" сделал бы все это одной sudo операцией.

3. Должен ли я добавить /var перед «sudo yum clean all», чтобы указать, что я хочу очистить только это местоположение? (как: «/var: sudo yum очистить все amp;amp; sudo du -sh /var /boot /opt»)

4. @Mikael Yum clean all очистит кэш управления пакетами yum. Поскольку это все равно хранится в /var, нет необходимости указывать местоположение

5. df —output=pcent /var /boot /opt