Использовать du -h
и все каталоги и их подкаталоги агрегированы. (-h делает это человекочитаемым как в полезных единицах как МБ, ГБ или КБ),
Можно установить переменную для содержания различной части. Как так:
domain='some-domain-1'
cd /domains/$domain/applications/j2ee-apps
domain='some-domain-2'
cd /domains/$domain/applications/j2ee-apps
Так как команда CD является тем же, можно вспомнить это на оболочке с клавишами со стрелками.
В зависимости от того, как часто Вы делаете это, Вы могли бы хотеть определить функцию в Вашем .bashrc
.
cdj2(){
cd /domains/"$1"/applications/j2ee-apps
}
Затем Вы можете cdj2 some-domain-1
.
Shell globbing (иначе расширение пути) может заботиться о другой части (см. ответ Stéphane Gimenez). find
команда была бы полезна, если бы структуры каталогов не были точно тем же, но Вы все еще хотите видеть, что все файлы соответствуют определенному имени.
find /domains -name 'j2ee-apps' -exec ls {} \;
Для ls
, можно использовать следующее для получения полного списка:
ls /domains/*/applications/j2ee-apps
Для переключения от одного ответвления до другого, я боюсь, что нет никакого простого способа сделать то, что Вы хотите.
find
, например. find $HOME/bin/*/c* -name '*a*'
... find
также позволяет regex шаблоны: посмотрите -regex
в man find
– Peter.O
08.10.2011, 15:31
-exec
аргументы опции должны быть форматированы.{}
заменяется именем файла (s в зависимости от другого args и результатов). Аргумент должен быть завершен с a;
, однако, оболочка интерпретирует;
и не передает его команде, если Вы не выходите из него с '\'. – Shawn J. Goff 08.10.2011, 04:39