Если позволите, расскажу немного про свой опыт.
20 лет назад засел чисто из любопытства за новые операционки QNX, Linux (тогда был по-моему RedHat 2.0), что как воздух были по-сравнению с OS/2 - идея прогрессивная, но реализация крайне неудобная.
Таким образом сильно увлекся и начал изучать тело новой ОС. Железо было тогда слабое, приходилось пересобирать ядра постоянно для оптимизации производительности, а если что-то не работало, то лезть в исходный код править. Таким образом пришло ощущение как устроена ОС внутри, что такое системные библиотеки, как и какие подключать модули (драйвера) железа и т.п.
Я решил отказаться от Win95 и старался работать только под Linux. Таким образом мне постоянно приходилось работать в консоли, WM, настраивать под себя рабочую среду:
- различные Shell (bash, csh, zsh, sh) и их конфиги, скриптинг;
- конфигурация, компоновка и сборка различных пакетов (тогда репо не очень были развиты, а бинарники и исходники ОС качали и писали на CDROM или ставили по локалке). Самый хороший опыт дало сборка вручную LAMP, то-есть сборка и настройка PHP, MySQL, Apache и различные примочки для него mod_perl, mod_php, mysqli/native и различные варианты под конкретную задачу. Сборка, настройка Sendmail через M4-процессор и куча ньюансов которые приходилось по крупицам собирать на форумах, IRC, BBS;
- для эффективной работы в linux надо владеть по-крайней мере каким-то скриптовым языком bash, sh, perl, python. На мой взгляд perl и sh подходит лучше всего. Владеть массой инструментов для удобной работы sed, awk, find, tail, grep, ssh и тд. Знать regexp - обязательно. VIM imho лучший текстовый редактор для linux.
- владеть знаниями и умением работать с сетями. OSI-модель, различные семейства протоколов от низкоуровневых (Ethernet, ISDN, DSL, FDDI) и до высших слоев (HTTP, DHCP, DNS), чтобы при возникновении какой-то проблемы понимать а где вообще затык? Например, попробуйте открыть telnet mail.server.com 25 на почтовик и отправить письмо себе на почту вручную.
Сюда же можно отнести настройку firewal - iptables, ipfw и тд. Работу с цепочками правил - сохранять, восстанавливать, создавать, получать статистику. Туннели, VPN.
- Современные реалии, когда куча очень развитых репо и установка/настройка зачастую ограничивается поиском и инсталляцией нужного пакета, нужно владеть интеграционными представлениями и шаблонными настройками различных сервисов. Например для web-стека это: nginx, HA-proxy, php-fpm, mysql, python, postgrees, node.js/npm и тд
Не маловажно понимать/уметь настраивать кластерные и высоконагруженные решения на основе vmWare, OpenVZ, прочитайте про виртуализацию.
Вообще работа с linux - это постоянный сбор каких-то статистических параметров - логов, мониторинг и способность поиска на основе этих данных, но тут важен опыт и знания, которые приобретаются со временем.
50% информации есть уже в инете: stackexchange.com, stackoverflow.com и т.п.
50% личный опыт и стиль нарабатываемый со временем и не бойтесь экспериментировать и расширять кругозор.
Сорри, 10 лет как ушел в разработку, может чего-то забыл упомянуть.