Полезный набор рецептов или хороший учебник разработчика в Linux?
Занимаюсь разработкой веб-проектов на java, которые поднимаются на linux серверах. И в определенных ситуациях хочется как-то контролировать linux систему, знать где-то что происходит. Например, чтобы не было открытием команды типа lsof или знать о появлении подводных камней типа ulimit, когда nginx или tomcat вылетает с too many open files.
Чтобы вот такие вещи не были открытием:
for pid in `pidof $1`; do echo "$(< /proc/$pid/cmdline)"; egrep 'files|Limit' /proc/$pid/limits; echo «Currently open files: $(ls -1 /proc/$pid/fd | wc -l)»; echo; done
Наверно какую-то книгу для админа, но те, что я видел были о каких-то сетевых настройках и прочей ерунде, которая мало полезна для разработчика…
bash не требует пробела после всех этих; && || (после операторов и перенаправлений потоков — требует). Так нет же! Теперь еще принято команды на разные строчки разносить \, так дескать читабельнее…
Также помимо изучения bash, обязательно посмотрите в сторону sed и awk — весьма сложны для понимания и запоминания в некоторых моментах, но позволяют творить чудеса, реализуя недостижимые другими путями вещи.
Еще хотя бы базово пощупайте make — тоже пригодится, ant порой бывает лишний