- Осваиваем Linux за три недели
- Зачем сейчас нужно уметь обращаться с Linux?
- Как Linux связан с освоением других дисциплин?
- Почему для этого нужен отдельный курс?
- Что в Linux интересного?
- Как проверять решение задач на курсе по Linux? Это вообще возможно?
- А почему всё-таки Linux так хорош?
- Станьте гуру Linux за 10 шагов
- Установите Linux на свой компьютер
- Изучите основы
- Работа с командной строкой
- Linux Security
- Изучите ключевые команды Linux
- Узнайте о редакторах Linux
- Узнайте, как создавать сценарии Bash
- Устранение неполадок в Linux
- Формальное обучение
- Время
Осваиваем Linux за три недели
Идея вводного курса по работе с Linux возникла у нас с коллегами довольно давно. Я с 2011 года занимаюсь биоинформатикой в Лаборатории алгоритмической биологии СПбАУ РАН (тут и тут мой напарник писал про то, чем мы занимаемся). Сразу нужно сказать, что работа биоинформатика без Linux практически невозможна, поскольку большинство биоинформатических программ созданы именно под эту операционную систему и работают только на ней.
В силу того, что это область на стыке наук, мы постоянно общаемся с биологами. Биологам же сейчас приходится работать с очень большими объемами данных, поэтому умение использовать Linux, оптимальную для подобных задач операционную систему, становится необходимым навыком. На самом деле, речь не только об умении обращаться с Linux, а в целом о компьютерной грамотности: какие существуют правила работы на сервере, как загружать и эффективно хранить файлы с данными, какие программы запускать для их обработки и как это сделать и т.д. — все те вещи, которые как упрощают и ускоряют вашу работу, так и значительно облегчают совместную деятельность с коллегам. Несмотря на то, что разобраться с Linux можно и самостоятельно, почитав умные книжки и сайты, для людей из не технической среды это часто вызывает определенные сложности и многие сдаются на начальных этапах освоения этой ОС (например, на знакомстве с командной строкой).
На основе нашего опыта я и мой коллега Андрей Пржибельский (@andrewprzh) изначально собирались провести несколько занятий для биологов по компьютерной грамотности. А потом эта идея выросла в трехнедельный открытый онлайн-курс (MOOC) Института биоинформатики на русском языке, который позже был сужен до именно введения в Linux, как отправной точки, — поскольку вместить все в три недели оказалось очень и очень трудно. Курс уже начался и оказался достаточно популярен (на данный момент на него записалось более пяти тысяч человек), но первый дедлайн по заданиям — 24 ноября, поэтому еще можно присоединиться без потери баллов или просто изучать курс в свободном режиме (все материалы останутся открытыми).
Про саму подготовку первого в нашей жизни онлайн-курса, если сообществу интересно, мы напишем отдельный пост — это совсем не так просто и быстро, как может показаться на первый взгляд.
Но сначала хотелось бы остановиться на ответах на вопросы, которые нам задавали чаще всего. При подготовке курса мы общались с самыми разными людьми и столкнулись с тем, что многие совсем не понимают, где используется Linux, и не догадывались, что система может быть им полезна. Итак:
Зачем сейчас нужно уметь обращаться с Linux?
Многие не замечают, но Linux уже вокруг нас. Все Android устройства работают на Linux, большинства серверов в Интернете также используют эту операционную систему и есть множество других примеров. Конечно, можно продолжать пользоваться всеми этими вещами и не зная Linux, но освоив основы этой системы, можно лучше понять поведение окружающих вас вещей. Кроме того, при работе с большим объемом данных, Linux просто необходим, ведь большинство сложных вычислений над огромными массивами данных выполняются именно на компьютерах под управлением Linux. И это не случайный выбор: большинство вычислительных задач выполняются на Linux гораздо быстрее, чем на Windows или Mac OS X.
Как Linux связан с освоением других дисциплин?
Огромная доля научного ПО, особенно программ для обработки больших данных (например, в области биоинформатики) разработана специально под Linux. Это значит, что эти приложения просто не могут быть запущены под Windows или Mac OS X. Так что если вы не умеете работать в Linux, то автоматически лишаетесь возможности использовать самые современные научные наработки. Кроме того, изучая Linux, вы лучше понимаете как работает компьютер, ведь вы сможете отдавать ему команды практически напрямую.
Почему для этого нужен отдельный курс?
У Linux очень много возможностей, которые полезно знать и, конечно же, уметь ими воспользоваться в нужный момент. К счастью, современные версии Linux гораздо более дружелюбны к пользователям, чем их собратья еще 5-6 лет назад. Сейчас можно не мучиться часами и даже днями ночами после установки системы, чтобы настроить себе выход в Интернет, печать на принтере, раскладки клавиатуры и так далее. Любой желающий сможет начать использовать Linux так же, как он использовал Windows или Mac OS X уже после минимального знакомства с этой системой, которое будет исчисляться минутами. Однако возможности Linux гораздо шире «повседневного» использования. Рассказать обо всей функциональности Linux просто невозможно даже за трехнедельный курс. Однако мы стараемся научить слушателей использовать большинство базовых возможностей Linux, а самое главное, надеемся, что прошедшие курс смогут успешно продолжить освоение Linux самостоятельно.
Что в Linux интересного?
Для нас Linux похож на очень интересную книгу, которую вы прочитали и с удовольствием рекомендуете своим друзьям и даже чувствуете зависть от того, что у них знакомство с этим произведением еще впереди. Единственная разница в том, что хоть мы и знакомы с Linux уже почти по 10 лет, не можем сказать, что «прочитали» его целиком. В нем постоянно можно найти что-то новое для себя, узнать что многие вещи, которые ты привык делать одним способом, можно сделать совершенно по-другому — гораздо проще и быстрее.
Чем больше знакомишься с Linux, тем он становится интереснее. И от первоначального желания «поскорее бы выключить и перезагрузиться в родную и знакомую Windows (Mac OS X)» вы вскоре переходите в состояние «хм, а тут не так и плохо» и еще немного позже в «как я вообще мог работать в этой Windows?!». А еще изучая Linux вы порою можете почувствовать себя немного хакером или героем фильма про программистов =)
Наш курс состоит из краткого обзора основных возможностей Linux, однако для начинающих пользователей этого должно быть вполне достаточно, чтобы заинтересоваться Linux и немного погрузиться в его философию. Например, большую часть курса мы будем проводить за работой в терминале, так что у новичков должно возникнуть и привыкание и понимание преимуществ такого подхода к управлению компьютером. Для более продвинутых пользователей могут представлять интерес отдельные занятия курса — например, про работу с удаленным сервером или программирование на языке bash. Полная программа онлайн-курса доступна здесь.
Как проверять решение задач на курсе по Linux? Это вообще возможно?
Ответ на этот вопрос был нетривиальным — мы долго думали, как проверять задания (например, что пользователь установил Linux себе на компьютер или отредактировал файл в определенном редакторе) и как придумать интересные задачи, чтобы действительно показать реальную работу с Linux. Для каких-то тем получились довольно любопытные подходы. Например, специально для курса был добавлен новый тип задач на платформе Stepic — подключение к удалённому серверу (и открытие «терминала») прямо в окне браузера — по отзывам первых пользователей, им понравилось. Конечно, в первый раз не обошлось без шероховатостей, но, в целом, всё работает довольно хорошо. Про техническую сторону этого вопроса скоро появится отдельный пост от разработчиков. Пример такого задания (для просмотра вживую можно записаться на курс):
Нужно сказать, что не все пользователи воспринимали задачи с юмором. Например, мы проверяли навык установки программ на Linux на примере программы VLC. Нужно было установить ее в свою систему одним из рассказанных способов, потом открыть справку о программе, найти фамилию первого автора и ввести ее в форму для проверки. Каких только комментариев мы не наслушались про это задание 🙂 А ошибались люди в основном в том, что вводили имя и фамилию, или только имя, или часть фамилии (а она там двойная, через дефис!). В общем, если решитесь проходить курс, то читайте условия задач внимательнее и это сэкономит много времени и нервов! Правда с тем же автором было замечание и по делу, оказалось что в старых версиях VLC он идет аж на 14 месте, так что добавили в проверку еще одного автора, который первый среди «старого» списка (и, кстати, третий в «новом»).
А почему всё-таки Linux так хорош?
Вопрос, конечно, неоднозначный. На мой взгляд одним из ключевых преимуществ Linux перед Windows или Mac OS X является то, что эта операционная система разрабатывается огромным сообществом программистов по всему миру, а не в двух, пусть и очень больших компаниях (Microsoft и Apple). Исходный код этой системы открыт, и каждый может познакомится с внутренним устройством Linux или поучаствовать в его развитии. Разработчики развивают его не только для пользователей-покупателей, но и для самих себя, с чем и связан такой большой прогресс в развитии и многие другие его преимущества. В качестве «бонусов» для обычных пользователей: Linux бесплатный, на Linux практически нет вирусов (а сами разработчики вирусов зачастую сидят под Linux!), существую огромное число версий этой системы и каждый может выбрать понравившуюся именно ему!
И напоследок хотелось бы рассказать о своем первом знакомстве с Linux именно в рабочем процессе (до этого был еще отдельный курс по учебе, но из него я не очень много вынес, к сожалению). Этот случай меня так впечатлил, что помню его до сих пор. Когда я работал на кафедре в Политехе на 3-ем курсе мне понадобилось запускать одну программу для обработки данных. Программа была написана на С++, а работали мы тогда в Windows XP. Запусков нужно было сделать много, были они довольно однотипные и занимали обычно пару минут. За это время ничего другого сделать на компьютере было нельзя — он полностью «подвисал», так что можно было поболтать с другими сотрудниками или просто прогуляться по кабинету. Примерно через пару недель таких запусков, мой научный руководитель посоветовал попробовать мне сделать всё тоже самое, но не в Windows, а в Linux. Я тогда подумал «ну какая разница», но так руководителя уважал, то программу перекомпилировал и его совет исполнил. Какового же было моё удивление, когда я запустил ту же самую программу на тех же самых данных и получил результат (естественно, точно такой же) за несколько секунд! Я даже со стула встать не успел, не то что прогуляться…
Кстати, помимо нашего русскоязычного онлайн-курса по Linux, существует хороший англоязычный вводный курс от Linux Foundation, про который уже писали на хабре. Судя по сайту, он снова начнется 5 января 2015.
Если вы знаете ещё интересные онлайн-курсы или обучающие материалы по азам Linux, будем рады увидеть ссылки на них в комментариях.
Источник
Станьте гуру Linux за 10 шагов
Оксфордский словарь английского языка описывает гуру как кого-то, кто является влиятельным учителем или популярным экспертом.
Как вы стали экспертом в области Linux? В этом руководстве освещены шаги, которые вы должны выполнить, чтобы стать авторитетом в Linux.
Установите Linux на свой компьютер
Вы не можете надеяться стать гуру Linux, не имея где-то проверить свои навыки.
Поэтому первым шагом к тому, чтобы стать экспертом по Linux, является настройка тестового компьютера.
Какой дистрибутив Linux вы должны установить?
Вы могли бы следовать этому руководству, которое перечисляет лучшие доступные дистрибутивы Linux и описывает их назначение.
Однако, когда дело доходит до формализованного обучения и использования Linux на рабочем месте, вы, вероятно, будете использовать один из следующих дистрибутивов:
Red Hat – это коммерческий дистрибутив, который стоит денег, хотя вы можете получить лицензию разработчика.
Вы можете получить полный опыт работы с Red Hat на своем компьютере, установив Fedora или CentOS.
Чтобы установить Linux на ваш компьютер, выполните одно из следующих руководств:
- Двойная загрузка Windows и Debian
- Двойная загрузка Windows и Ubuntu
- Как установить и двойную загрузку Linux и Mac OS
- Пошаговое руководство по установке openSUSE
- Пошаговое руководство по установке Fedora
Изучите основы
Прежде чем вы даже сможете подумать о том, чтобы стать экспертом, вам необходимо изучить основы.
Начните с понимания ключевых терминов, таких как разница между Linux и GNU/Linux и что такое среда рабочего стола.
Изучите различные среды рабочего стола и поймите, как ориентироваться, запускать программы и настраивать рабочий стол.
Затем вы должны узнать, как выполнять основные задачи, такие как подключение к Интернету и настройка принтеров.
Наконец, узнайте, как установить программное обеспечение с помощью графического менеджера пакетов.
Руководство для начинающих по Linux поможет вам освоить основы.
Работа с командной строкой
Теперь вы знаете, как использовать Linux в качестве обычного пользователя, пришло время изучить что-то более продвинутое, например, научиться использовать командную строку.
Освоение командной строки требует времени, но вы действительно можете быстро освоить основы.
По крайней мере, вам нужно знать, как перемещаться по файловой системе, которая включает в себя разработку вашего текущего рабочего каталога, изменение каталогов, создание новых каталогов, поиск файлов, удаление файлов и создание новых файлов.
Это руководство поможет пользователям освоить навигацию по файловой системе.
Linux Security
Понимание безопасности Linux очень важно.
По крайней мере, вам нужно знать следующее:
- Как добавить пользователей
- Как управлять группами
- Понять команду sudo
- Понять команду su
- Как изменить права пользователя
Изучите ключевые команды Linux
Вы должны иметь представление о том, как управлять устройствами с помощью командной строки.
Вы должны научиться составлять список устройств и как монтировать устройства.
Вы также должны понимать все различные инструменты сжатия файлов, такие как zip, gzip и bzip, а также понимать, что такое файл tar.
Есть другие ключевые команды и утилиты, о которых стоит знать, такие как ps, grep, awk, sed и top.
Узнайте о редакторах Linux
В большинстве дистрибутивов Linux по умолчанию установлен редактор nano, и по крайней мере вы должны научиться им пользоваться.
Это руководство показывает все, что вам нужно знать о нано-редакторе.
Nano – это очень простой редактор, и большинство опытных пользователей учатся разбираться с другими более мощными редакторами, такими как vim или emacs.
Стоит отметить, что это очень мощные редакторы, и если вы углубитесь достаточно глубоко, могут потребоваться годы, чтобы понять все их особенности.
Узнайте, как создавать сценарии Bash
Большинство гуру Linux понимают, как создавать как минимум базовые сценарии оболочки, используя BASH.
Вы можете начать с этих основных руководств для начинающих:
- Привет мир пример
- Входные параметры
- Условия и переменные
- Сравнения
Дальнейшие гиды уже в пути.
Устранение неполадок в Linux
Настоящий гуру Linux сможет решить проблемы со своей системой, и часть этого устранения неполадок начинается с понимания того, как читать файлы журнала.
Это руководство покажет вам, как найти файлы журнала.Он также показывает, что представляют собой файлы журналов ключей и как их вращать.
Формальное обучение
Во-первых, хорошо практиковаться самостоятельно и учиться, играя со своей системой.
Однако наступает момент, когда требуется формальное обучение, чтобы объяснить, как делать все правильно.
Очевидно, есть много разных ресурсов для обучения. Вы можете пройти курс обучения в колледже, посмотреть видео с YouTube или записаться на онлайн-обучение.
В этом руководстве представлены 7 способов структурированного изучения Linux.
Время
Вы не станете экспертом по любому вопросу в одночасье.
Непрерывное использование и постоянное обучение – это единственный способ справиться с чем угодно, будь то обучение тому, чтобы стать гуру Linux или обучение игре на волынке.
После онлайн-курсов, будьте в курсе новостей Linux и получайте помощь от сообщества Linux – это лучший способ двигаться вперед и помнить, что команда Linux man – ваш друг.
Источник