Если собираетесь впервые перейти на Linux, есть некоторые вещи, которые вы должны знать. Это руководство содержит важную информацию, которая поможет вам начать ей пользоваться.
Вы узнаете, что такое Linux, почему вы должны использовать его, какие бывают дистрибутивы, как их установить, как использовать терминал, как настроить аппаратное обеспечение и многие другие ключевые аспекты.
Содержание
- Что такое Linux?
- Зачем использовать Linux вместо Windows?
- Какой дистрибутив Linux стоит использовать?
- Что такое среда рабочего стола?
- Как подключиться к интернету
- Лучшая система для просмотра веб-страниц
- Есть ли достойные офисные пакеты для Linux?
- Как устанавливать программы в Linux?
- Командная Строка Linux
- Еще несколько фактов о Linux
- Резюме
Что такое Linux?
Linux – это операционная система используется в работе множества систем от лампочек до оружия, от ноутбуков до крупных вычислительных центров.
На Linux работает все: от вашего телефона до вашего умного холодильника.
В пользовательской среде Linux является альтернативой коммерческим операционным системам, таким как Windows.
Зачем использовать Linux вместо Windows?
Есть много причин, почему стоит использовать Linux вместо Windows, и вот лишь некоторые из них.
- ОС Linux поддерживается на старых компьютерах. Хотя Windows XP по-прежнему будет работать на старом оборудовании, она больше не поддерживается, поэтому обновления для системы безопасности отсутствуют. Существует ряд дистрибутивов Linux, которые создаются специально для старого оборудования и регулярно поддерживаются и обновляются.
- Некоторые дистрибутивы Linux и среды рабочего стола теперь более привычны для обычных пользователей компьютеров, чем Windows 8 и Windows 10. Если вам нравится внешний вид Windows 7, почему бы не попробовать Linux Mint, например.
- Объем, занимаемый Windows 10 огромен. Типичный дистрибутив Linux занимает чуть более 1 гигабайта, хотя некоторые из них могут занимать всего несколько сотен мегабайт. Также Windows требует по крайней мере пропускной способности уровня DVD.
- Linux поставляется с бесплатным программным обеспечением, и вы можете изменять и использовать это программное обеспечение по своему усмотрению.
- Linux всегда был более безопасным, чем Windows, так как для него существует очень мало вирусов, хотя интернет вещей и был под угрозой в последнее время.
- Linux работает лучше, чем Windows, во многих отношениях, и вы можете выжать из него все ресурсы до последней капли на более старом оборудовании, имеющем ограничения.
- Конфиденциальность. Windows регулярно собирает данные, полученные с помощью Cortana и поиска в целом. Хотя это вещь не новая, так как Google делает то же самое, но вы можете быть более чем уверены, что Linux так не поступает, особенно если вы выбираете бесплатный дистрибутив.
- Надежность. Когда программа зависает в Linux вы можете закрыть его довольно легко. Когда программа зависает в Windows, даже когда вы пытаетесь запустить Диспетчер задач, чтобы закрыть эту программу, это не всегда получается.
- Обновления. Windows очень навязчива со своей политикой обновления. Сколько раз вы включали компьютер, чтобы распечатать билеты на концерт или другую важную информацию, чтобы увидеть экран с установкой обновления 1 из 450?
- Вариативность. Вы можете заставить Linux выглядеть, ощущаться и вести себя именно так, как вы хотите. С Windows, компьютер ведет себя так, как в Microsoft думают, что вы хотите.
Если вы все еще не определились, прочтите это руководство, которое поможет вам решить, подходит ли вам Linux.
Какой дистрибутив Linux стоит использовать?
Первый вопрос, которым стоит задаться “что такое дистрибутив Linux?” Просто ядро Linux похоже на движок. Дистрибутив – это фактически транспортное средство, в котором находится двигатель.
Так какой дистрибутив Linux выбрать? Вот основные из них:
- Linux Mint: не требует продвинутого опыта работы с компьютером, прост в установке, прост в использовании и имеет знакомый рабочий стол для пользователей Windows 7
- Debian: если вы ищете действительно бесплатный дистрибутив Linux без проприетарных драйверов, прошивки или программного обеспечения, то Debian для вас. Старичок среди дистрибутивов.
- Ubuntu: современный дистрибутив Linux, который прост в установке и использовании
- openSUSE: стабильный и мощный дистрибутив Linux. Не так просто установить, как Mint и Ubuntu, но тем не менее является очень хорошей альтернативой
- Fedora: самый современный дистрибутив Linux со всеми новыми концепциями, включающимися при первой же возможности
- Mageia: восстал из пепла некогда великой Mandriva Linux. Прост в установке и использовании
- CentOS: как и в Fedora, CentOS основан на коммерческом дистрибутиве Linux, Red Hat Linux. В отличие от Fedora, он создан для стабильности
- Manjaro: основанный на Arch Linux, Manjaro обеспечивает отличный баланс между простотой использования и современным программным обеспечением
- LXLE: на основе легкого дистрибутива Lubuntu он представляет из себя полнофункциональный дистрибутив Linux для старого оборудования
- Arch: rolling release дистрибутив означает, что вы не должны устанавливать новые версии операционной системы, потому что оно самостоятельно обновляется. Сложнее для нового пользователя в освоении, но очень мощный
- Elementary: Linux для людей, которым нравится интерфейс в стиле Mac
Более подробно про лучшие дистрибутивы для новичков вы можете прочесть в этой статье.
Что такое среда рабочего стола?
Типичный дистрибутив Linux состоит из нескольких компонентов.
Существует менеджер дисплея, который используется, чтобы помочь вам войти в систему, менеджер окон, который используется для управления окнами, панели, меню, основных интерфейсов и приложений.
Многие из этих элементов объединены вместе, чтобы создать так называемую среду рабочего стола.
Некоторые дистрибутивы Linux поставляются только с одной средой рабочего стола (хотя другие доступны в репозиториях программного обеспечения), в то время как другие имеют различные версии дистрибутива для различных сред рабочего стола.
Наиболее распространенные среды рабочего стола включают Cinnamon, GNOME, Unity, KDE, Enlightenment, XFCE, LXDE и MATE.
- Cinnamon – это более традиционная среда рабочего стола, которая похожа на Windows 7 с панелью внизу, меню, значками в системном трее и значками быстрого запуска.
- GNOME и Unity довольно похожи. Они представляют собой современные среды рабочего стола, которые используют концепцию значков лаунчеров и отображения в стиле панели мониторинга для выбора приложений. Есть также основные приложения, которые хорошо интегрируются с общей темой среды рабочего стола.
- KDE – это довольно традиционная среда рабочего стола, но она имеет огромное количество функций и основной набор приложений, которые легко кастомизируется большим количеством настроек.
- Enlightenment, XFCE, LXDE и MATE – довольно легкие среды рабочего стола с панелями и меню. Все они легко настраиваются.
Как подключиться к интернету
В то время как подключение к интернету отличается для каждой среды рабочего стола, принцип для всех одинаков.
- Где-то на панели находится значок сети. Нажмите на него, и вы увидите список беспроводных сетей.
- Кликните на нужную сеть и введите ключ безопасности.
Лучшая система для просмотра веб-страниц
На Linux есть все лучшие браузеры, включая Chrome, Chromium, Firefox и Midori.
На нем нет Internet Explorer, в прочем кому он нужен? В браузере Chrome есть все, что вам может понадобиться.
Есть ли достойные офисные пакеты для Linux?
Нет никаких сомнений, что Microsoft Office – это премиальный продукт, и это очень хороший инструмент, который трудно повторить и превзойти качества данного продукта.
Для личного использования и для малого и среднего бизнеса вы можете утверждать, что Google Docs и LibreOffice являются хорошими альтернативами и за меньшую стоимость.
LibreOffice поставляется с текстовым редактором с большинством функций, которые вы ожидаете увидеть в текстовом редакторе. Он также поставляется с достойной электронной таблицей, который также является полнофункциональной и даже включает базовый движок для программирования, хотя она не совместима с Excel VBA.
Другие инструменты включают в себя презентации, математические расчеты, базы данных и чертежные пакеты, которые также очень хороши.
Как устанавливать программы в Linux?
Пользователи Linux не устанавливают программное обеспечение таким образом, как это делают пользователи Windows, хотя различия становятся все меньше и меньше.
Как правило, если пользователь Linux хочет установить пакет, он запускает инструмент, именуемый менеджер пакетов.
Менеджер пакетов обращается к репозиториям, в которых хранятся пакеты, которые можно установить.
Инструмент управления пакетами обычно предоставляет способ поиска программного обеспечения, установки программного обеспечения, поддержания программного обеспечения в актуальном состоянии и удаления программного обеспечения.
По мере развития технологий, некоторые дистрибутивы Linux вводят новые типы пакетов, которые самодостаточны так же, как приложения для Android.
Каждый дистрибутив предоставляет свой графический инструмент. Существуют общие средства командной строки, используемые в различных дистрибутивах.
- Например, Ubuntu, Linux Mint и Debian используют менеджер пакетов apt-get.
- Fedora и CentOS используют менеджер пакетов yum.
- Arch и Manjaro используют Pacman.
Более подробно об установке приложений в Linux вы можете узнать из этой статьи.
Командная Строка Linux
Что бы ни говорили пользователи Linux, именно необходимость использовать терминал, не дает системе стать массово популярной. Впрочем, это бесполезная дискуссия.
Хотя полезно изучить основные команды Linux (то же самое можно сказать и о командах DOS в Windows), нет необходимости делать это.
Первое, что вам нужно знать, конечно, как открыть терминал, и, разумеется, есть, множество способов сделать это.
Почему это называется терминалом? Терминал на самом деле короткое имя для эмулятора терминала, и оно возвращает нас в то время, когда люди входили в систему на физических терминалах. Теперь все, что вам нужно знать, это то, что терминал – это место, где вы вводите команды Linux.
Как только вы откроете терминал, вы должны действительно в нем разбираться. Сперва вам стоит узнать о правах. Подробней об этом вы сможете прочесть в этой статье.
Команда, которую пользователи обычно узнают на ранней стадии – это команда sudo, но не начинайте бездумно вводить команды с помощью sudo, не понимая, что она делает, потому что все это может закончиться катастрофой.
В то время как вы работаете в терминале, вы должны также понимать в переключении пользователей с помощью команды su.
По сути, команда sudo позволяет повысить уровень прав, так что вы можете запускать команды от имени другого пользователя. По умолчанию другой пользователь является пользователем root.
Команда su переключает контекст таким образом, что вы работаете от имени указанного пользователя. От имени этого пользователя можно выполнить ряд команд.
Еще несколько фактов о Linux
- Live Linux DVD или USB позволяет запускать Linux без установки на жесткий диск. Это позволяет тестировать Linux диск перед переходом на него, а также хорошо для случайного пользователя.
- Каждый дистрибутив Linux устанавливается с помощью своего установщика, который является программой, которая поможет вам произвести настройку и установку Linux.
- Когда пользователь устанавливает Linux, он может либо установить его единственной системой, либо установить его вместе с Windows.
- Linux берет пальму первенства, когда дело доходит до воспроизведения аудиофайлов. Есть десятки отличных звуковых приложений, и вы можете выбрать одно или несколько, которые вам нравятся.
- К сожалению, на Linux нет Outlook.
- Самое замечательное в Linux то, что вы можете заставить его выглядеть и ощущаться так, как вы хотите.
- Каждая среда рабочего стола Linux работает немного по-разному, и поэтому познание всех баз займет некоторое время.
Резюме
В этом руководстве мы рассказали вам, что такое Linux, почему вам стоит использовать его, какие существуют дистрибутивы Linux и как выбрать из них, как попробовать Linux, как установить его, как настроить Linux, как перемещаться по Linux, рассказали о лучших приложениях, как установить приложения и как использовать командную строку.
Это должно дать вам хорошую основу для дальнейшего движения.
Этот материал написан посетителем сайта, и за него начислено вознаграждение.
Что такое Линукс
Linux – семейство операционных систем с открытым исходным кодом. Ядро Линукс поддерживает добавление и удаление программных компонентов без остановки системы. Эти компоненты называют динамически загружаемыми модулями ядра. Их можно добавлять в операционную систему по необходимости, в любое время. Одна из особенностей Линукс — возможность выступать операционной системой для других операционных систем (в качестве гипервизора). Гипервизор – это программа, позволяющая создавать на компьютере виртуальные ПК с разными операционными системами, которые будут распознаваться в локальной сети. Например, это знаменитая Oracle VirtualBox.
Другая особенность — нечетные номера версий, например, 2.1 или 2.9 присваиваются экспериментальным, находящимся в разработке ядрам. Стабильные версии обычно имеют чётные номера, например, 2.2 или 2.6.
рекомендации
RTX 4080 Gigabyte Gaming дешево в Регарде
RTX 3070 за 40тр c началом
4070 Ti Gigabyte за 80 тр в Регарде
13900K в Регарде дешевле чем при курсе 60
MSI 4060 Ti за 44 тр в Регарде
Ищем PHP-программиста для апгрейда конфы
13600K за 30 тр в Регарде
Вакансия: Автор новостей широкого профиля
Первые Линукс изначально были написаны программистами для самих себя. Позднее увеличился выбор программ и появились различные графические интерфейсы (GNOME, KDE, Cinnamon, MATE, XFCE).
|
|
Разновидностей Линукс довольно много, самые популярные: Linux Mint, Ubuntu, Debian, Mageia, Fedora, OpenSUSE, ArchLinux, CentOS, PCLinuxOS, Slackware.
В России были созданы собственные версии Линукс: Rosa, ALT Linux, ASPLinux, НауЛинукс, Calculate Linux, Runtu, Rosinka, Astra Linux. Их последние годы внедряют в государственных учреждениях.
История развития UNIX-систем. Linux является UNIX-совместимой, но основана на собственном исходном коде, написанном в октябре 1991 года Линусом Торвальдсом, бывшим в то время студентом.
Плюсы и минусы Линукс
У Линукс, как и любой другой операционной системы, есть свои достоинства и недостатки. Поэтому прежде чем переходить на одну из ОС этого семейства, изучите её преимущества, а также некоторые особенности, которые в будущем могут сказаться на эффективности Вашей работы.
Основные достоинства Линукс:
- Для каждой версии Линукс существуют специальные репозитарии – хранилища бесплатных программ на все случаи жизни.
- Надежность: Линукс могут годами работать без зависаний и перезагрузок, чего не скажешь о других операционных системах.
- Безопасность: для этой операционной системы отсутствуют вирусы, поскольку каждое важное действие требует подтверждения со стороны пользователя. А для Виндовс ежегодно появляются сотни новых вирусов, антивирусы постоянно отъедают часть ресурсов ОС, требуют трафик для обновления антивирусных баз, тратят уйму времени на сканирование жёсткого диска на вирусы.
- Открытый исходный код даёт практически неограниченные возможности по настройке ОС под требования пользователя и его задачи.
- Малое число ошибок и зависаний по сравнению с остальными ОС.
- Потребляет мало системных ресурсов.
- Возможность запуска с флешки. Она пригодится, например, при проверке на битые пиксели ноутбука без ОС. Так я обычно подключаю две флешки, первую с Линукс (подойдёт любая версия), а вторую с картинками и видео для проверки на битые пиксели, муар и т.д.
- Отсутствие реестра, который у Windows постоянно засоряется и требует периодической очистки. В Linux конфигурации всех программ находятся в папке etc.
- Отсутствие сбора данных, как у Виндовс или Андроид («большой брат» не будет следить за каждым вашим шагом, а потом присылать горы спама с целевой рекламой).
- Множество бесплатных программ, написанных энтузиастами. Платные программы тоже есть, поэтому выбор за Вами.
Недостатки Линукс, с которыми её разработчики постоянно борются:
- Новичкам её сложнее освоить, поскольку перед глазами у большинства людей дома, в школе и на работе, установлена Windows. А интерфейс большинства версий Линукс серьёзно отличается.
- Необходимость работы с консолью и терминалом, что отпугивает многих новичков. Консоль – управление ОС через ввод теста на чёрный экране и там же отображаются ответы системы. Терминал – более современный аналог консоли, имеющий графический интерфейс, отображается в виде окна на фоне рабочего стола Линукс. Это аналоги командной строки в DOS.
- Часто возникают сложности при настройке принтеров. С каждым годом значимость этой проблемы уменьшается, но она всё ещё актуальна.
- Для работы многих программ требуются права доступа. Это означает необходимость ввода пароля по несколько раз в день. Поэтому стоит придумать легко запоминающийся пароль и не слишком длинный.
- Малое количество совместимых игр и программ (по сравнению с Windows). На текущий момент, это основная причина, почему многие пользователи Виндовс не переходят на Линукс. Есть, конечно, специальные программы-эмуляторы, позволяющие запускать большинство программ, написанных для Виндовс, но от этого страдает производительность.
- Могут быть проблемы с переносом программ из одной версии Линукса в другую.
- Требуется интернет для обновления пакетов. Многие программы в Линукс взаимодействуют друг с другом и для обновления одной из них придётся обновлять и все остальные.
|
|
Применение Линукс на практике
В интернет-кафе
Линукс позволяет использовать относительно устаревшие компьютеры для комфортного сёрфинга в интернете. На такие компьютеры нет необходимости ставить антивирус и переживать, что кто-нибудь из пользователей что-то закачает и заразит всю локальную сеть интернет-кафе. Linux более экономно обращается к жёсткому диску ПК, поэтому по быстродействию он не сильно отстаёт от SSD.
Для обучения ребёнка
Дети любят необычный дизайн и яркие краски, многие версии Линукса предлагают подобный интерфейс. Можно не бояться, что ребёнок поймает вирус в интернете, а также он не будет жаловаться, если будет сидеть за стареньким компьютером, поскольку тот будет работать вполне резво.
Для встречи с клиентами и проведения презентаций.
Линукс имеет открытый код, а значит Вам не придётся оплачивать лицензию, как в случае с Виндовс. Для презентаций есть отличная замена Майксофт офиса – WPS office, используя его Вы покажете своим клиентам отличные знания компьютера, так как в основном опытные пользователи решаются установить Linux, а полностью на него переходят, только самые продвинутые.
В командировках
Если в командировке Вам нужно работать с почтой и текстовым редактором, а смартфон неудобен для этих целей, то можно приобрести слабый ноутбук, который на Линуксе будет работать на уровне более дорогих моделей. Линукс имеет шикарную подборку программ для работы специалистов всех сфер деятельности. Можно не бояться вставлять флешки с различных презентаций (если на них будет вирус, то ваш ноутбук он не поразит).
Для путешественников
Путешествуя, вам придётся скачивать различные программы, например, карту местности, читать много текста вроде списка местных законов и описания достопримечательностей. За пиратские программы во всём мире наказывают строже, чем в России, поэтому все Ваши программы должны быть либо куплены, либо быть бесплатными.
Для серверов
Высокая надёжность Линукса позволяет использовать его в качестве серверной операционной системы. Например, если у человека есть старый ПК, и он хочет запустить на нём свой сайт или онлайн-магазин.
Для обучения программистов и системных администраторов
Линукс позволяет проводить очень тонкую настройку любых своих функций, поэтому незаменим как для работы, так и для обучения будущих компьютерщиков.
|
|
Большая просьба к пользователям Линукс, напишите в комментариях, какой именно версией ОС Вы пользуетесь и какие задачи она решает?
Этот материал написан посетителем сайта, и за него начислено вознаграждение.
По мере того, как технологии развиваются с каждым днем, мы уменьшаем нашу зависимость от ручных аналоговых систем. Но по мере того, как мы постепенно переходим к полностью автоматизированному, ориентированному на ИИ миру, где каждый раз доступен для нас одним нажатием кнопки, компаниям, создающим эти системы, необходимо убедиться, что эти системы изящно масштабируются и являются надежными.
Здесь на сцену выходит Linux. Для среднестатистического пользователя похоже, что в компьютерных технологиях преобладают Windows, macOS или Android и iOS. Тем не менее, можно с уверенностью сказать, что большинство продуктов и услуг, не принадлежащих Microsoft (а также часть их собственной инфраструктуры), в значительной степени полагаются на промышленную мощь Linux.
Поскольку большинство наших в настоящее время используемых сервисов в значительной степени зависят от Linux, имеет смысл только то, что вы, как технический энтузиаст, имеете практические знания об ОС и ее ключевых компонентах. Причина в том, что если возникает необходимость в устранении неполадок, вы полагаетесь на свою мышечную память, а не пытаетесь ее понять. Вы расстраиваетесь в момент возникновения проблемы (и поверьте мне, вы будете разочарованы, по крайней мере, в первые пару дней).
Теперь я почти уверен, что если вы прочитали эту статью, у вас есть хорошее представление о том, что такое Linux и где его корни. Если нет, то вы можете прочитать наши сообщения. Введение в операционную систему Linux и Введение в ядро Linux, который должен дать вам краткое представление о Linux.
Эта серия будет полностью практической, и вы должны будете следить за ней на своей машине. Мы структурировали пост таким образом, чтобы он был подробно описан, но не был слишком утомительным для новичков. Рассматривайте эту серию как эквивалент «Linux для чайников», с той лишь разницей, что вместо того, чтобы вбрасывать все знания сразу. Мы разделим на более мелкие значимые части. В отличие от большинства публикаций, которые мы публикуем, я бы посоветовал вам подготовиться к некоторой работе (в конце концов, лучший способ изучить Linux — это запачкать руки его нюансами). Прежде чем мы даже начнем все это, позвольте мне дать вам небольшое руководство по Linux и прояснить некоторые неправильные представления о том, чем Linux полностью отличается от Unix. Обещаю, это не продлится долго.
Основы Linux: чем он отличается от Unix?
1. начало
- Юникс: Unix была создана в 1969 году в Bell Labs. Одним из самых известных членов-основателей был Деннис Ричи. Он был написан на C и был разработан как портативная операционная система, способная выполнять несколько задач одновременно.
- Linux: Linux был построен Linux Torvalds и в значительной степени вдохновлен MINIX (Unix-подобный дистрибутив). Он многое унаследовал от Unix, но это совершенно другая система как внутри, так и снаружи. Исходное ядро было выпущено в 1991 году, и после добавления таких вещей, как драйверы и графический интерфейс, а также некоторой столь необходимой доработки, полноценная ОС была выпущена в 1992 году.
2. развитие
- Юникс: Unix не обязательно является проектом с полностью открытым исходным кодом. Части этого есть, но по своему духу это проприетарная система. Существует несколько версий Unix, таких как BSD, macOS и т. Д. Первоначальная разработка выполняется AT&T и несколькими другими коммерческими поставщиками.
- Linux: В отличие от Unix, Linux процветает в экосистеме с открытым исходным кодом. Весь проект активно финансируется и контролируется Linux Foundation. Разработка по-прежнему контролируется Линусом, который решает вопрос о новом дополнении. Но практически любой человек с опытом программирования может бесплатно загрузить исходный код и внести изменения.
3. архитектура
- Юникс: Unix был разработан для использования на Системы RISC и иранские машины, но позже он был портирован для работы на архитектурах x86 и x64.
- Linux: Linux изначально создавался для архитектуры Intel x86, но на сегодняшний день он поддерживает почти все основные платформы, включая ARM, ARM64 и т. Д., Благодаря активному сообществу разработчиков.
4. Интерфейс командной строки
- Юникс: Начал с поддержки Борн Шелл. Теперь также поддерживает Korn и C Shell.
- Linux: Linux в основном использовал BASH (Bourne Again Shell).
5. Цена
- Юникс: Некоторые дистрибутивы бесплатны с платной поддержкой (например, Solaris); другие полностью оплачены.
- Linux: По большей части бесплатные (не считая корпоративных версий с приоритетной поддержкой и т. Д.).
Хорошо, теперь, когда мы выяснили, что такое Linux и чем он отличается от Unix. Давай запачкаем руки, не так ли?
Поскольку мы пытаемся охватить широкую аудиторию этим постом, и для начала работы с Linux не требуется никакого предшествующего опыта работы с Linux, я собираюсь максимально упростить задачу, чтобы вы могли быстро присоединиться к ней. По мере прохождения серии статей мы будем постепенно повышать сложность поста, чтобы вы чувствовали, что каждую неделю узнаете что-то новое. В то же время было принято решение сделать этот сериал еженедельно, а не выпускать что-то сразу. Таким образом, у вас будет достаточно времени, чтобы поиграть и попробовать что-то на себе без присмотра. Лучший способ чему-то научиться — это сломать это самостоятельно и создать заново.
Чтобы узнать, как использовать Linux, вы должны сначала запустить Linux в вашей системе. Есть несколько способов сделать это, некоторые из них могут использовать Live USB и загружаться на него, устанавливать его физически на вашем компьютере, создавать мультизагрузочную систему с двумя операционными системами, устанавливать ее на виртуальную машину (Virtual Machine), а также аренду Linux-сервера и подключения к нему SSH. Я уверен, что эксперты расширили бы этот список еще несколькими вариантами, но для краткости давайте остановимся на вышеизложенном. Хотя конечным результатом использования всех вышеперечисленных настроек будет получение доступа к консоли для выполнения команд Linux, шаги для этого зависят от каждого из них по количеству и сложности.
Поскольку это пилотный пост, мы выберем, вероятно, самый простой из них, который никоим образом не сломает вашу машину или текущую операционную систему, и тот, который не требует опыта работы с расширенными операциями, такими как разбиение жесткого диска на разделы или настройка удаленный сервер. Согласен, они классные, но я обещаю, что мы расскажем об этом, как только вы познакомитесь с основами.
Мое единственное предположение, которое я буду продвигаться вперед, будет следующее.
- У вас есть приличный компьютер (4-8 ГБ ОЗУ, относительно недавний процессор, такой как Intel Core i3 как минимум, как минимум 30 ГБ свободного места на SSD / HDD).
- Вы подключены к приличному интернет-соединению (вам понадобится это, чтобы загрузить пару вещей).
- Вы знаете базовые вещи, такие как установка прикладной программы в Windows или macOS (в зависимости от того, что вы используете).
Если вы можете отметить все вышеперечисленное, вы определенно в лиге. Хорошо, для начала нам понадобится пара вещей (в буквальном смысле).
- Дистрибутив Linux (здесь мы будем использовать Ubuntu).
- Гипервизор (приложение, которое позволяет нам установить дополнительную ОС поверх нашей основной ОС), мы будем использовать Virtual Box.
Отлично, теперь, когда все формальности позади, приступим к интересным вещам!
Шаг 1: Зайдем Веб-сайт Ubuntu и загрузите Ubuntu 16.04.x LTS (мы используем это только для стабильности, так что вы не получите ненужных ошибок по пути).
Как только вы закончите загрузку, у вас должен быть .iso файл в вашей системе. Вот как бы это выглядело.
Как только вы закончите загрузку, у вас должен быть .iso файл в вашей системе. Вот как бы это выглядело.
Шаг 2: Теперь отправляйтесь в Страница загрузок VirtualBox и скачать Пакет платформы VirtualBox 5.x в зависимости от того, какую ОС вы используете в настоящее время. Например, если вы используете Windows, получите первую, в которой написано Хосты Windows.
Шаг 3: Теперь, когда у вас есть оба необходимых файла, просто установите VirtualBox. Просто дважды нажмите на .exe or .dmg файл, который был загружен, и следуйте инструкциям на экране. Убедитесь, что вы не делаете там ничего особенного, просто принять значения по умолчанию и завершите установку.
После этого запустите VirtualBox. Ваш экран должен выглядеть почти так же, как мой, как показано ниже, за вычетом списка виртуальных машин, которые у меня есть. (поскольку я уже использую Virtual Box, у меня настроено несколько виртуальных машин, ваш список будет пустым).
Шаг 3: Теперь, когда у вас есть оба необходимых файла, просто установите VirtualBox. Просто дважды нажмите на .exe or .dmg файл, который был загружен, и следуйте инструкциям на экране. Убедитесь, что вы не делаете там ничего особенного, просто принять значения по умолчанию и завершите установку.
После этого запустите VirtualBox. Ваш экран должен выглядеть почти так же, как мой, как показано ниже, за вычетом списка виртуальных машин, которые у меня есть. (поскольку я уже использую Virtual Box, у меня настроено несколько виртуальных машин, ваш список будет пустым).
Шаг 4: Теперь мы продолжим и начнем установку Ubuntu через VirtualBox. Нажмите Новинки в верхнем левом углу окна VirtualBox. Вы получите диалоговое окно с просьбой назвать операционную систему. Введите Ubuntu в Имя, выберите Тип as Linux и Версия as Ubuntu (64-разрядная) и нажмите Продолжить (более новые версии Virtual Box будут автоматически заполнять поля Тип и Версия в зависимости от того, что вы ввели в поле Имя).
Шаг 5: Теперь вас попросят указать объем оперативной памяти, который будет использовать эта гостевая ОС (Ubuntu); по умолчанию — 1 ГБ, что достаточно, поэтому оставьте его там и нажмите Продолжить.
Шаг 5: Теперь вас попросят указать объем оперативной памяти, который будет использовать эта гостевая ОС (Ubuntu); по умолчанию — 1 ГБ, что достаточно, поэтому оставьте его там и нажмите Продолжить.
Шаг 6: Здесь вам нужно указать жесткий диск, который будет использоваться операционной системой. Часто люди загружают предварительно сконфигурированные установки своих экземпляров виртуальных ящиков в форме чего-то известного как техника. Бытовая техника работает по принципу «включай и работай».
Таким образом, вы можете загрузить устройства, подключить их к экземпляру виртуального бокса, и у вас будет полностью функционирующая операционная система без какой-либо настройки. (Думайте об этом, как о двух жестких дисках с двумя операционными системами и просто их отключении без необходимости откручивать компьютер для этого).
Просто выберите Создайте виртуальный жесткий диск сейчас и продолжаем.
Шаг 7: Здесь укажите тип как ВДИ, который должен быть параметром по умолчанию, и нажмите Продолжить.
Шаг 7: Здесь укажите тип как ВДИ, который должен быть параметром по умолчанию, и нажмите Продолжить.
Шаг 8: Теперь выберите размер. Рекомендуется иметь динамически распределяется drive, потому что он масштабируется в соответствии с вашими потребностями по сравнению с опцией фиксированного размера, которая назначит всю сумму сразу, независимо от того, нужна она вам или нет.
Теперь выберите размер жесткого диска; это гарантирует, что жесткий диск никогда не превысит указанное количество. По умолчанию восемь, но убедитесь, что вы выбрали 9 ГБ на всякий случай.
Теперь выберите размер жесткого диска; это гарантирует, что жесткий диск никогда не превысит указанное количество. По умолчанию восемь, но убедитесь, что вы выбрали 9 ГБ на всякий случай.
Теперь, когда мы закончили настройку, давайте включим нашу машину. Выберите Ubuntu из списка слева и нажмите Start в строке меню окна VirtualBox. Сразу же появится диалоговое окно с просьбой вставить образ для загрузки Ubuntu. Здесь и понадобится образ Ubuntu, который мы скачали ранее. Нажать на кнопка папки (показано на изображении ниже) в диалоговом окне, перейдите и выберите образ Ubuntu и нажмите «Открыть». Как только изображение появится в раскрывающемся списке, нажмите «Пуск».
Теперь, когда мы закончили настройку, давайте включим нашу машину. Выберите Ubuntu из списка слева и нажмите Start в строке меню окна VirtualBox. Сразу же появится диалоговое окно с просьбой вставить образ для загрузки Ubuntu. Здесь и понадобится образ Ubuntu, который мы скачали ранее. Нажать на кнопка папки (показано на изображении ниже) в диалоговом окне, перейдите и выберите образ Ubuntu и нажмите «Открыть». Как только изображение появится в раскрывающемся списке, нажмите «Пуск».
Через пару секунд вы увидите варианты установки Ubuntu, как показано ниже. Мы можем идти вперед и «Попробуйте Ubuntu» без установки и установки. Сделаем последнее и нажмем на Установите Ubuntu.
Мы снова примем значения по умолчанию и продолжим. Снимите флажки для загрузки обновлений при установке параметров и параметров «Установить стороннее программное обеспечение» и нажмите «Продолжить». Затем проверьте Стереть диск и установить Ubuntu вариант и нажмите установить сейчас.
Появится диалоговое окно с просьбой подтвердить процесс стирания, нажмите Продолжить.
На этом шаге выберите свое местоположение и нажмите Продолжить. Затем выберите раскладку клавиатуры. И, как обычно, жмем Продолжить. Затем укажите свое имя, имя пользователя и тому подобное в полях.
А теперь подожди. Принеси себе кофе. Пройдет время, пока это будет сделано.
А теперь подожди. Принеси себе кофе. Пройдет время, пока это будет сделано.
После завершения установки вам будет предложено Restart, продолжайте и сделайте это, и как только это будет сделано, вас встретит экран входа в Ubuntu. Просто введите пароль, и готово, вы успешно настроили установку Ubuntu.
Похлопайте себя по спине. Теперь, когда у нас есть установленный дистрибутив Linux, мы собираемся перейти к некоторым основным командам Linux.
Основные команды Linux
Запустите терминал в Ubuntu следующим образом:
Похлопайте себя по спине. Теперь, когда у нас есть установленный дистрибутив Linux, мы собираемся перейти к некоторым основным командам Linux.
Основные команды Linux
Запустите терминал в Ubuntu следующим образом:
После запуска он должен выглядеть так.
После запуска он должен выглядеть так.
Хорошо, мы готовы начать, просто чтобы вы знали, текущие снимки экрана не будут похожи на терминал Ubuntu, потому что для большей наглядности я буду использовать терминал Linux на своем сервере. Не беспокойтесь об этом; просто сосредоточьтесь на командах и посмотрите, получите ли вы те же результаты, что и я на скриншотах.
Поскольку это самый первый пост в нашей серии практических занятий, мы ограничимся самыми основами команд Linux, чтобы вас не перегружали, и при этом следить за тем, чтобы ваш интерес не упал и вы ушли. Команды, которые мы рассмотрим в этом посте, будут разделены на пять разные категории; Oни следующие.
- Дата и время
- Навигация по файловой системе
- Создание каталогов / папок и их удаление
- Создание и удаление файлов
- Поиск помощи
Но прежде чем пройти через это, давайте проведем церемониальный тест «Hello World» для нашего терминала, не так ли? Хорошо, а затем введите следующую команду в терминал.
эхо "Hello World"
Как только вы нажмете клавишу ввода, ваш терминал отобразит Привет мир приветствие. Это не только начинает наш список команд, но также является хорошим тестом для проверки, все ли работает должным образом. В эхо Команда отобразит строку текста, указанную после команд. Кавычки необязательны, но принято использовать их вместе с кавычками.
1. Дата и время
Начнем с очень простой команды, которая проверяет дату и время через терминал. Эта команда с метко названной датой отображает дату и текущее время в 24-часовом формате вместе с вашим часовым поясом. Пожалуйста, введите следующее в свой терминал, чтобы убедиться в этом сами.
данные
1. Дата и время
Начнем с очень простой команды, которая проверяет дату и время через терминал. Эта команда с метко названной датой отображает дату и текущее время в 24-часовом формате вместе с вашим часовым поясом. Пожалуйста, введите следующее в свой терминал, чтобы убедиться в этом сами.
данные
2. Навигация по файловой системе
Важная вещь, которую мы, как пользователи, делаем в ОС, — это перемещаться из одной папки в другую. Итак, давайте узнаем, как это сделать на терминале, используя набор команд, предназначенных для этой цели.
- PWD — Прежде чем мы начнем прыгать из одной папки в другую, давайте узнаем, как узнать, в какой папке мы сейчас находимся. Вы можете сделать это с помощью PWD команда. Это означает Pечать Working Dкаталог. Просто введите следующую команду и проверьте результат.
PWD
- ls — Команда ls в основном используется для вывода списка всего содержимого, то есть файлов и папок в данном каталоге. Просто введите следующее в свой терминал, и он перечислит все, что есть в вашем текущем каталоге.
ls
- ls — Команда ls в основном используется для вывода списка всего содержимого, то есть файлов и папок в данном каталоге. Просто введите следующее в свой терминал, и он перечислит все, что есть в вашем текущем каталоге.
ls
По умолчанию ls перечисляет только имена файлов, чтобы получить подробную информацию о каждом файле, который вы можете использовать -l вариант вместе с ls следующим образом.
ls -l
Как видите, эта опция вместе с ls напечатала кучу дополнительной информации о каждом файле, которая включает режим файла, количество ссылок, имя владельца, имя группы, количество байтов в файле, сокращенный месяц, день месяца. файл был последний раз изменен, час последнего изменения файла, минута последнего изменения файла и путь. Я знаю, что большая часть этого сейчас может не иметь смысла, но не волнуйтесь. Все, что вам нужно знать прямо сейчас, это то, что каждая команда поставляется с набором параметров, которые вы можете подключить для точной настройки возвращаемых результатов.
- cd — Теперь, когда мы знакомы с тем, как составлять список файлов и проверять текущий каталог, давайте рассмотрим, как переключаться между каталогами. Команда cd означает «Изменить каталог» и используется следующим образом. Если вы находитесь внутри каталога и в нем больше каталогов, вы можете перейти в подкаталог следующим образом.
компакт-диск NAME_OF_DIRECTORY
Замените NAME_OF_DIRECTORY в приведенной выше команде с именем каталога, в который вы хотите перейти. Пример показан ниже.
Как видите, текущий каталог меняется, как только мы входим в подкаталог.
Как видите, эта опция вместе с ls напечатала кучу дополнительной информации о каждом файле, которая включает режим файла, количество ссылок, имя владельца, имя группы, количество байтов в файле, сокращенный месяц, день месяца. файл был последний раз изменен, час последнего изменения файла, минута последнего изменения файла и путь. Я знаю, что большая часть этого сейчас может не иметь смысла, но не волнуйтесь. Все, что вам нужно знать прямо сейчас, это то, что каждая команда поставляется с набором параметров, которые вы можете подключить для точной настройки возвращаемых результатов.
- cd — Теперь, когда мы знакомы с тем, как составлять список файлов и проверять текущий каталог, давайте рассмотрим, как переключаться между каталогами. Команда cd означает «Изменить каталог» и используется следующим образом. Если вы находитесь внутри каталога и в нем больше каталогов, вы можете перейти в подкаталог следующим образом.
компакт-диск NAME_OF_DIRECTORY
Замените NAME_OF_DIRECTORY в приведенной выше команде с именем каталога, в который вы хотите перейти. Пример показан ниже.
Как видите, текущий каталог меняется, как только мы входим в подкаталог.
Теперь, когда мы в каталоге, как нам выйти? Что ж, вы снова можете использовать опцию вместе с cd, чтобы выйти из подкаталога в родительский каталог. В моем примере я нахожусь в ~ / iOSProjects / 100DaysOfSwift , чтобы вернуться к ~ / iOSProjects Я буду использовать следующую команду.
CD ..
Это поднимет меня на 1 уровень. Теперь я в ~ / iOSProjects каталог, как показано ниже.
Если бы я хотел уйти от ~ / iOSProjects / 100DaysOfSwift вплоть до корня, то есть ~ , команда cd будет иметь следующую структуру.
CD ../ ..
Уровни вложенности каталогов будут определять количество ../ .. в ваших вариантах.
3. Создание и удаление папок / каталогов
Если бы я хотел уйти от ~ / iOSProjects / 100DaysOfSwift вплоть до корня, то есть ~ , команда cd будет иметь следующую структуру.
CD ../ ..
Уровни вложенности каталогов будут определять количество ../ .. в ваших вариантах.
3. Создание и удаление папок / каталогов
Еще одна простая задача, которую мы регулярно выполняем, — это создание и удаление папок. Это можно сделать с помощью следующих двух команд.
- mkdir — Команда mkdir расшифровывается как Make Directory и довольно проста в использовании. Просто введите его следующим образом.
mkdir ИМЯ_OF_DIRECTORY
Заменить NAME_OF_DIRECTORY с именем, которое вы хотите дать своему новому каталогу. После этого вы можете успешно перейти к нему, как показано ниже.
- rmdir — Команда rmdir означает «Удалить каталог» и используется для удаления каталогов / удаления каталогов. Чтобы удалить каталог, вам необходимо находиться вне его / на уровне выше него. Как только вы вне каталога и что каталог пуст, просто введите следующую команду.
rmdir NAME_OF_DIRECTORY
Заменить NAME_OF_DIRECTORY с именем каталога, который вы хотите удалить. Помните, что эта команда будет работать только в том случае, если удаляемая директория пуста.
Заменить NAME_OF_DIRECTORY с именем, которое вы хотите дать своему новому каталогу. После этого вы можете успешно перейти к нему, как показано ниже.
- rmdir — Команда rmdir означает «Удалить каталог» и используется для удаления каталогов / удаления каталогов. Чтобы удалить каталог, вам необходимо находиться вне его / на уровне выше него. Как только вы вне каталога и что каталог пуст, просто введите следующую команду.
rmdir NAME_OF_DIRECTORY
Заменить NAME_OF_DIRECTORY с именем каталога, который вы хотите удалить. Помните, что эта команда будет работать только в том случае, если удаляемая директория пуста.
4. Создание и удаление файлов.
Далее давайте узнаем о создании файлов. Поскольку здесь мы сосредоточены исключительно на терминале, а не на других приложениях, вам может быть интересно, как бы вы создавали файлы разных форматов (txt, docx и т. Д.), Верно? ну, вот где наша следующая команда появится на картинке.
- трогать — Хотя официальная цель использования сенсорного экрана — изменить время доступа к файлу и его модификации, его также можно использовать для создания нового файла. Он используется следующим образом.
нажмите FILENAME.EXTENSION
Заменить ИМЯ ФАЙЛА и РАСПРОСТРАНЕНИЕ с теми, кого вы хотите. Пример использования показан ниже. Если ваш терминал выполняет команду без сообщения, скорее всего, команда была успешной, и вы можете проверить, что файл был создан с помощью ls команда.
Теперь, когда мы знаем, как создавать файлы, можем ли научиться удалять их правильно? Следующая команда поможет вам в этом.
- rm — Команда rm означает «Удалить», и она выполняет то, что следует из названия, она используется для удаления файлов и каталогов. Он используется следующим образом.
rm ИМЯ ФАЙЛА.РАСШИРЕНИЕ
Заменить ИМЯ ФАЙЛА и РАСПРОСТРАНЕНИЕ с теми, кого вы хотите.
ЗАМЕТКА: Команда rm необратима, поэтому всегда проверяйте, удаляете ли вы нужные файлы. Более безопасный способ сделать это — использовать команду rm вместе с -i вариант; при этом терминал попросит вас подтвердить, хотите ли вы удалить файл или нет. Он используется следующим образом.
rm -i ИМЯ ФАЙЛА.РАСШИРЕНИЕ
Теперь, когда мы знаем, как создавать файлы, можем ли научиться удалять их правильно? Следующая команда поможет вам в этом.
- rm — Команда rm означает «Удалить», и она выполняет то, что следует из названия, она используется для удаления файлов и каталогов. Он используется следующим образом.
rm ИМЯ ФАЙЛА.РАСШИРЕНИЕ
Заменить ИМЯ ФАЙЛА и РАСПРОСТРАНЕНИЕ с теми, кого вы хотите.
ЗАМЕТКА: Команда rm необратима, поэтому всегда проверяйте, удаляете ли вы нужные файлы. Более безопасный способ сделать это — использовать команду rm вместе с -i вариант; при этом терминал попросит вас подтвердить, хотите ли вы удалить файл или нет. Он используется следующим образом.
rm -i ИМЯ ФАЙЛА.РАСШИРЕНИЕ
Мы создали файл и тоже удалили его, но как насчет редактирования файлов? Как добавлять и удалять данные? Что ж, как бы вы ни были взволнованы этими аспектами, поверьте мне, когда я это говорю, это слишком сложно и гладко, чтобы вас ошеломить, если вы начинаете. Здесь мы делаем минимальные, и по мере того, как мы продвигаемся каждую неделю, такие вещи, как редактирование файлов из терминала в сообщения. А пока идем дальше.
5. Обращение за помощью
Хорошо! Итак, мы проделали кучу вещей на терминале. Что делать, если вы забыли, какие параметры следует использовать с командой или что делает команда? Конечно, вы можете погуглить, но есть способ получше, когда вам даже не придется выходить из терминала.
В Linux есть команда man, что означает «Страницы руководства». Он используется для получения документации по конкретной команде, если вы не уверены в команде, выполните следующие действия.
человек COMMAND_NAME
Замените поле COMMAND_NAME именем фактической команды, и будет представлена полезная документация. Вы можете использовать Пробел прокручивать и к выход страница руководства нажмите q. Пример использования показан ниже.
Заключение
Хорошо, ребята, это было долгое задание, но я надеюсь, что вы достаточно хорошо усвоили основы. Теперь, когда у вас есть работающая установка Linux и у вас есть неделя времени, чтобы убедиться, что вы поиграете с командами, которые я упомянул выше. Не бойтесь испортить установку Linux, и вы всегда можете вернуться и переустановить его, если это необходимо. Исследуйте сколько душе угодно, и на следующей неделе я вернусь со второй частью этой серии, где мы опираемся на основы Linux, которые мы рассмотрели в этом посте.
Раскрытие информации: Контент, опубликованный на TechLila, поддерживается читателями. Мы можем получать комиссию за покупки, совершенные по нашим партнерским ссылкам, без каких-либо дополнительных затрат для вас. Читайте наши Страница отказа от ответственности чтобы узнать больше о нашем финансировании, редакционной политике и способах поддержки.
Содержание
- Осваиваем Linux за три недели
- Зачем сейчас нужно уметь обращаться с Linux?
- Как Linux связан с освоением других дисциплин?
- Почему для этого нужен отдельный курс?
- Что в Linux интересного?
- Как проверять решение задач на курсе по Linux? Это вообще возможно?
- А почему всё-таки Linux так хорош?
- Основные linux-команды для новичка
- Содержание
- Где я? Как понять, где находишься
- Как понять, что находится в папке
- Как перейти в другую директорию
- По абсолютному пути
- По относительному пути
- С автодополнением
- Подняться наверх
- Как создать директорию
- Как создать файл
- Как отредактировать файл
- Как перенести / скопировать файл
- Скопировать файл
- Скопировать директорию
- Переместить файл
- Переместить директорию
- Как удалить файл
- Как изменить владельца файла
- Как установить приложение
- Как запустить приложение
- Как понять, где установлено приложение
- Как создать архив
- Как посмотреть использованные ранее команды
- Как посмотреть свободное место
- Как узнать IP компьютера
- Как узнать версию OS
- Как узнать, как работает команда
- Как создать много тестовых папок и файлов
- Как протестировать IOPS на 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-команды для новичка
Linux — это операционная система. Как винда (windows), только более защищенная. В винде легко подхватить вирус, в линуксе это практически невозможно. А еще линукс бесплатный, и ты сам себе хозяин: никаких тебе неотключаемых автообновлений системы!
Правда, разобраться в нем немного посложнее… Потому что большинство операций выполняется в командной строке. И если вы видите в вакансии «знание linux» — от вас ожидают как раз умение выполнять простейшие операции — перейти в другую директорию, скопировать файл, создать папочку… В этой статье я расскажу про типовые операции, которые стоит уметь делать новичку. Ну и плюс пара полезняшек для тестировщиков.
Я дам кратенькое описание основных команд с примерами (примеры я все проверяла на cent os, red hat based системе) + ссылки на статьи, где можно почитать подробнее. Если же хочется копнуть еще глубже, то см раздел «Книги и видео по теме». А еще комментарии к статье, там много полезного написали)
Содержание
Где я? Как понять, где находишься
Очень полезная команда, когда у вас нет ничего, кроме командной строки под рукой. Расшифровывается как Print Working Directory. Запомните ее, пригодится.
Как понять, что находится в папке
Команда ls позволяет просмотреть содержимое каталога:
Хотя лучше использовать команду сразу с флагом «l»:
Такая команда выведет более читабельный список, где можно будет сразу увидеть дату создания файла, его размер, автора и выданные файлу права.
У команды есть и другие флаги, но чаще всего вы будете использовать именно «ls – l».
См также:
Команда ls Linux — подробнее о команде и всех ее флагах
Команда ls – просмотр каталога — о команде для новичков (без перечисления всех флагов)
Как перейти в другую директорию
С помощью команды cd:
Путь может быть абсолютным или относительным.
По абсолютному пути
Либо у вас где-то записан путь, «куда идти», либо вы подсмотрели его в графическом интерфейсе (например, в WinSCP).
Вставляем путь в командную строку после «cd»
Ну вот, мы переместились из домашней директории (обозначается как
По относительному пути
Относительный путь — относительно вашей текущей директории, где вы сейчас находитесь. Если я уже нахожусь в /home/student, а мне надо в /home/student/log, команда будут такой:
Если мне из надо из /home/student/photo в /home/student/photo/city/msk/2017/cat_1, команда будет такой:
Я не пишу /home/student/photo, так как я уже там.
В линуксе можно задавать путь относительно домашней папки текущего пользователя. Домашняя директория обозначается
/. Дальше вы уже можете указывать подпапки:
Эта команда будет работать отовсюду. И переместит нас в /home/user/log.
Вот пример, где я вошла под пользователем students. Исходно была в директории /var, а попала в /home/students/log:
С автодополнением
Если вы начнете набирать название папки и нажмете Tab, система сама его подставит. Если просто нажмете Tab, ничего не вводя, система начнет перебирать возможные варианты:
— (cd tab) Может, ты имел в виду папку 1?
— (tab) Нет? Может, папку 2?
— (tab) Снова нет? Может, папку 3?
— (tab) Снова нет? Может, файл 1 (она перебирает имена всех файлов и директорий, которые есть в той, где вы сейчас находитесь)?
— (tab) У меня кончились варианты, поехали сначала. Папка 1?
cd lon(Tab) → cd long-long-long-long-name-folder — начали вводить название папки и система сама подставила имя (из тех, что есть в директории, где мы находимся).
cd (Tab)(Tab)(Tab) — система перебирает все файлы / папки в текущей директории.
Это очень удобно, когда перемещаешься в командной строке. Не надо вспоминать точное название папки, но можно вспомнить первую букву-две, это сократит количество вариантов.
Подняться наверх
Подняться на уровень выше:
Если нужно поднять на два уровня выше, то
И так до бесконечности =) Можно использовать файл, лежащий на уровне выше или просто сменить директорию.
Как создать директорию
Используйте команду mkdir:
Можно и в другом месте создать папку:
Когда это нужно? Например, если вам надо сделать бекап логов. Создаете папку и сохраняете туда нужные логи. Или если вы читаете инструкцию по установке ПО и видите там «создать папку». Через командную строку это делается именно так.
Как создать файл
Такая команда создаст пустой файл с названием «app.log». А потом уже можно открыть файл в редакторе и редактировать.
Как отредактировать файл
Вот честное слово, лучше делать это через графический интерфейс!
Но если такой возможности нет, чтож… Если использовать программы, которые есть везде, то у вас два варианта:
Для перемещения по файлу используйте кнопки со стрелками. После того, как закончите редактировать файл, нажмите:
А вот с vim с этим сложнее. В него легко зайти:
Войти вошли, а как выйти то, аааа? Тут начинается легкая паника, потому что ни одна из стандартных комбинаций не срабатывает: Esc, ctrl + x, ctrl + q… Если под рукой есть второй ноутбук или хотя бы телефон / планшет с интернетом, можно прогуглить «как выйти из vim», а если у вас только одно окно с терминалом, которое вы заблокировали редактором?
Делюсь секретом, для выхода надо набрать:
Исходно, когда мы открываем файл через vim, то видим его содержимое, а внизу информацию о файле:
Когда нажимаем двоеточие, оно печатается внизу:
Если не печатается, не паникуем! Тогда попробуйте нажать Esc (вернуться в нормальный режим), потом Enter (подтвердить команду), а потом снова печатайте. Фух, помогло, мы вышли оттуда.
На самом деле сейчас всё не так страшно. Даже если вас заслали работать в банк, где нет доступа в интернет, а вы вошли в vi и не знаете как выйти, всегда можно погулить выход с телефона. Слава мобильному интернету! Ну а если вы знаете логин-пароль от сервера, то можно просто закрыть терминал и открыть его снова.
Если нужно выйти, сохранив изменения, используйте команду
Ну а про возможности редактирования см статьи ниже =)
Как перенести / скопировать файл
Допустим, у нас в директории /opt/app/log находится app.log, который мы хотим сохранить в другом месте. Как перенести лог в нужное место, если нет графического интерфейса, только командная строка?
Скопировать файл
Если мы находимся в директории /opt/app/log:
В данном примере мы использовали относительный путь для «что копировать» — мы уже находимся рядом с логом, поэтому просто берем его. А для «куда копировать» используем абсолютный путь — копируем в /home/olga.
Можно сразу переименовать файл:
В этом случае мы взяли app.log и поместили его в папку /home/olga, переименовав при этом в app_test_2020_03_08.log. А то мало ли, сколько логов у вас в этом папке уже лежит, чтобы различать их, можно давать файлу более говорящее имя.
Если в «куда копировать» файл с таким именем уже есть, система не будет ничего спрашивать, просто перезапишет его. Для примера положим в папку log внутри домашней директории файл «app.log», который там уже есть:
Никаких ошибок, система просто выполнила команду.
Скопировать директорию
Команда остается та же, «cp», только используется ключ R — «копировать папку рекурсивно»:
Так в директории /home/olga появится папка «log».
Переместить файл
Если надо переместить файл, а не скопировать его, то вместо cp (copy) используем mv (move).
Можно использовать относительные и абсолютные пути:
Можно сразу переименовать файл:
Переместить директорию
Аналогично перемещению файла, команда mv
Как удалить файл
С помощью команды rm (remove):
Если нужно удалить все файлы в текущей директории (скажем, вычищаем старые логи перед переустановкой приложения), используйте «*»:
Если нужно удалить папку, надо добавить флаг -r (recursive):
Если вы пытаетесь удалить файлы, которые уже используются в программе или доступны только для чтения, система будет переспрашивать:
А теперь представьте, что вы чистите много файлов. И на каждый система переспрашивает, и надо постоянно отвечать «да, да, да. » (y – enter, y – enter, y – enter)… Чтобы удалить все без вопросов, используйте флаг -f (force):
Но учтите, что это довольно опасная команда! Вот так надоест подстверждать удаление и введешь «-rf», а директорию неправильно укажешь… Ну и все, прости-прощай нужные файлы. Аккуратнее с этой командой, особенно если у вас есть root-полномочия!
Опция -v показывает имена удаляемых файлов:
Тут вы хотя бы можете осознать, что натворили )))
Как изменить владельца файла
Если у вас есть root-доступ, то вы наверняка будете выполнять все действия под ним. Ну или многие… И тогда любой созданный файл, любая папка будут принадлежать root-пользователю.
Это плохо, потому что никто другой с ними работать уже не сможет. Но можно создать файл под root-ом, а потом изменить его владельца с помощью команды chown.
Допустим, что я поднимаю сервис testbase. И он должен иметь доступ к директории user и файлу test.txt в другой директории. Так как никому другому эти файлики не нужны, а создала я их под рутом, то просто меняю владельца:
В итоге был владелец root, а стал testbase. То, что надо!
Как установить приложение
Если вы привыкли к винде, то для вас установка приложения — это скачать некий setup файлик, запустить и до упора тыкать «далее-далее-далее». В линуксе все немного по-другому. Тут приложения ставятся как пакеты. И для каждой системы есть свой менеджер пакетов:
Давайте посмотрим на примере, как это работает. В командной строке очень удобно работать с Midnight Commander (mc) — это как FAR на windows. К сожалению, программа далеко не всегда есть в «чистом» дистрибутиве.
И вот вы подняли виртуалку на centos 7, хотите вызвать Midnight Commander, но облом-с.
Ничего страшного, установите это приложение через yum:
Он там будет что-то делать, качать, а потом уточнит, согласны ли вы поставить программу с учетом ее размеров. Если да, печатаем «y»:
И система заканчивает установку.
Вот и все! Никаких тебе унылых «далее-далее-далее», сказал «установи», программа установилась! Теперь, если напечатать «mc» в командной строке, запустится Midnight Commander:
Как запустить приложение
Чтобы запустить скрипт, нужно указать полный путь к нему:
Это важно! Даже если вы находитесь в той папке, где и скрипт, он не будет найден, если просто указать название sh-скрипта. Надо написать так:
Поиск идет только в каталогах, записанных в переменную PATH. Так что если скрипт используется часто, добавляйте путь туда и вызывайте просто по названию:
Если же приложение запускается как сервис, то все еще проще:
Чтобы сервис test запускался автоматически при рестарте системы, используйте команду:
Она добавит службу в автозапуск.
Как понять, где установлено приложение
Вот, например, для интеграции Jenkins и newman в Jenkins надо прописать полный путь к ньюману в параметре PATH. Но как это сделать, если newman ставился автоматически через команду install? И вы уже забыли, какой путь установки он вывел? Или вообще не вы ставили?
Чтобы узнать, куда приложение установилось, используйте whereis (без пробела):
Как создать архив
Стандартная утилита, которая будет работать даже на «голой» системе — tar. Правда, для ее использования надо запомнить флаги. Для создания архива стандартная комбинация cvzf:
В данном примере мы упаковали директорию /home/test, внутри которой было две картинки — 502.jpg и 504.jpg.
Для распаковки меняем флаг «c» на «x» и убираем «z»:
Хотя система пишет, что распаковала «/home/test», на самом деле папка «test» появляется там, где мы сейчас находимся.
Давайте разберемся, что все эти флаги означают:
Если очень хочется использовать rar, то придется изгаляться. Через yum установка не прокатит:
Говорит, нет такого пакета:
Придется выполнить целую пачку команд! Сначала скачиваем, разархивируем и компилируем:
Как посмотреть использованные ранее команды
Вот, допустим, вы выполняли какие-то сложные действия. Или даже не вы, а разработчик или админ! У вас что-то сломалось, пришел коллега, вжух-вжух ручками, magic — работает. А что он делал? Интересно же!
Или, может, вы писали длинную команду, а теперь ее надо повторить. Снова набирать ручками? Неохота! Тем более что есть помощники:
Если надо «отмотать» недалеко, проще через стрелочку пролистать команды. Один раз нажали — система показала последнюю команду. Еще раз нажали — предпоследнюю. И так до 1000 раз (потому что именно столько хранится в истории).
Большой бонус в том, что линукс хранит историю даже при перезапуске консоли. Это вам не как в винде — скопировал текст, скопировал другой, а первый уже потерялся. А при перезагрузке системы вообще все потерялось.
Если тыкать в стрелочку не хочется, или команды была давно, можно напечатать «history» и внимательно изучить команды.
См также:
История команд Linux — больше о возможностях history
Как посмотреть свободное место
Сколько места свободно на дисках
Сколько весит директория
Как узнать IP компьютера
Если у вас настроены DNS-имена, вы подключаетесь к linux-машине именно по ним. Ведь так проще запомнить — это testbase, это bugred… Но иногда нужен именно IP. Например, если подключение по DNS работает только внутри рабочей сети, а коллега хочет подключиться из дома, вот и уточняет айпишник.
Чтобы узнать IP машины, используйте команду:
Также можно использовать ifconfig:
Как узнать версию OS
Сидите вы у Заказчика на линуксовой машине. Пытаетесь что-то установить — не работает. Лезете гуглить, а способы установки разные для разных операционных систем. Но как понять, какая установлена на данной машине?
На этой виртуалке стоит CentOs 7.
Если нужна версия ядра:
Как узнать, как работает команда
Если вы не знаете, как работает команда, всегда можно спросить о ней саму систему, используя встроенную команду man:
Закрыть мануал можно с помощью клавиши q. Для того, кто первый раз в линуксовой консоли, это совсем не очевидно, а подсказки есть не везде.
Команда удобна тем, что не надо даже уходить из командной строки, сразу получаешь всю информацию. К тому же это всегда актуальная информация. А что вы там нагуглите — неизвестно =))
Хотя лично мне проще какую-то команду прогуглить, ведь так я получу русское описание + сначала самые главные флаги (а их может быть много). Но я сама новичок в линуксе, это подход новичка. А лучше сразу учиться прокачивать навык поиска по man-у. Он вам очень пригодится для более сложных задач!
Если man у программы нет, используйте флаг -h (—help):
Как создать много тестовых папок и файлов
Допустим, у нас есть некая папка test. Создадим в ней сотню директорий и кучу файликов в каждой:
Вот и все, дальше можно играться с ними!
Ага, в домашней директории. Создам себе песочницу:
Вот в ней и буду творить!
А потом можно проверить, что получилось:
Как-то так! Имхо, полезные команды.
Я нашла их в книге «Командная строка Linux. Полное руководство», они используются для того, чтобы создать песочницу для прощупывания команды find. Я, как и автор, восхищаюсь мощью командной строки в данном случае. Всего 2 строчки, а сколько боли бы принесло сделать похожую структуру через графический интерфейс!
И, главное, тестировщику полезно — может пригодиться для тестов.
Как протестировать IOPS на Linux
Это очень полезно делать, если машину вам дает заказчик. Там точно SSD-диски? И они дают хороший iops? Если вы разрабатываете серверное приложение, и от вас требуют выдерживать нагрузку, нужно быть уверенными в том, что диски вам выдали по ТЗ.
Наше приложение активно использует диск. Поэтому, если заказчик хочет видеть хорошие результаты по нагрузке, мы хотим видеть хорошие результаты по производительности самих дисков.
Но верить админам другой стороны на слово нельзя. Если приложение работает медленно, они, разумеется, будут говорить, что у них то все хорошо, это «они» виноваты. Поэтому надо тестировать диски самим.
Я расскажу о том, как мы тестировали диски. Как проверили, сколько IOPS они выдают.
1) Скачиваем последнюю версию, распаковываем, переходим в каталог. В командах ниже нужно заменить «fio-3.19» на актуальную версию из списка
2) Должны стоять пакеты для сборки
Какие должны быть результаты:
Если должно быть 50 тысяч, а диск выдает сильно меньше, то:
— он не SSD;
— есть сетевые задержки;
— неправильно примонтирован;
— с ними что-то еще плохое случилось и стоит поднять алярм.
И это все?
Еще полезно изучить команду find и регулярные выражения. Тестировщику как минимум надо уметь «грепать логи» — использовать grep. Но это уже остается на самостоятельный гуглеж.
База, которая всегда нужна — pwd, cp, mv, mkdir, touch. Остальное можно легко гуглить, как только возникает необходимость.
Вот вам еще пара ссылочек от меня:
Книги и видео по теме
Где тренироваться
Можно поднять виртуалку. Правда, тут сначала придется разбираться, как поднимать виртуалку )))
А можно купить облачную машину. Когда мне надо было поиграться с линуксом, я пошла на SimpleCloud (он мне в гугле одним из первых выпал и у него дружелюбный интерфейс. Но можно выбрать любой аналог) и купила самую дешманскую машину — за 150 руб в месяц. Месяца вам за глаза, чтобы «пощупать-потыркать», и этой машины с минимумом памяти тоже.
У меня был когда-то план самой платить эти 150р за то, чтобы дать машину в общий доступ. Но увы. Как я не пыталась ее огородить (закрывала команды типа ssh, ping и прочая), у меня не получилось. Всегда есть люди, которых хлебом не корми, дай испортить чужое. Выложил в общий доступ пароли? На тебе ддос-атаку с твоего сервера. Ну и сервер блокируют. После N-ой блокировки я плюнула на это дело. Кто хочет научиться, найдет 150р.
Чтобы подключиться к машине, используйте инструменты:
Источник
Как показывает читательский отклик, интерес к решениям на базе Linux весьма и весьма велик, в тоже время уровень подготовки администраторов в этой области оставляет желать лучшего. Свидетельство тому, бесконечно повторяющиеся простейшие вопросы в комментариях. Во многом, это следствие того, что наши инструкции можно выполнить «дословно» и получить работающий, результат. Но есть и обратная сторона медали, такой подход не предусматривает появлению системных знаний, оставляя знание предмета на фрагментарном уровне.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Да, кроме практических материалов, мы всегда стараемся публиковать обзоры, посвященные какой-либо технологии в целом, или делаем обширные теоретические отступления, для того, чтобы читатель имел необходимый минимум знаний. Однако все они подразумевают, что читатель обладает базовыми знаниями системы в которой работает.
А как быть с теми, кто только делает свои первые шаги? К сожалению, в IT-сообществе существует некоторый снобизм, мол, чего об этом говорить, это и так все знают, или «гугл в помощь», забывая, что каждый из нас когда-то был новичком и с мистическим ужасом смотрел в черный экран Linux-консоли, абсолютно не понимая, куда он попал и что ему делать.
В итоге новичок, столкнувшись с первыми трудностями, вынужден идти искать знания в другом месте и хорошо если такое место удастся быстро найти. Поэтому мы решили выпустить небольшой цикл материалов, в котором на доступном уровне изложить основы администрирования Linux систем, буквально объясняя на пальцах «общеизвестные вещи», опытные пользователи могут пропустить данный цикл, а могут и прочитать, заодно обновив свои знания.
Итак, вы решили стать Linux администратором…
Немного перефразируем Маяковского «я б в Linux-админы пошел, пусть меня научат», именно так дело в большинстве случаев и обстоит. Есть необходимость, есть желание, есть базовый набор знаний по работе с Windows системами — все это пригодится при работе с Linux системами. Гораздо хуже если какая-либо составляющая отсутствует, тогда, наверное, стоит задуматься о неправильном выборе профессии.
Сразу о том, что нужно раз и навсегда забыть. Это «религиозные войны» и «религиозный фанатизм». Одинаково плохо отрицать возможности Linuх-систем, как и превозносить их, стремясь перевести на Linux все что нужно и не нужно. Запомните — операционная система — это инструмент, хороший специалист берет для каждой задачи наиболее подходящий, фанатик будет забивать гвозди микроскопом, потому что взять в руки молоток ему «религия не позволяет».
Даже больше, сама по себе операционная система не имеет никакой ценности, это всего лищь среда для запуска и выполнения некоторых служб и сервисов. Без софта система мертва. Возьмем для примера клон BeOS — Haiku, ну поставили, ну посмотрели — прикольно… А дальше что?
Итак, вы решили стать… Прежде всего будьте готовы воспринимать новое, в частности новый подход к администрированию, постаравшись на время забыть о сложившихся привычках. На долгое время вашим основным инструментом станет консоль.
Для привыкшего к графическим инструментам Windows-администратора это может показаться сложным. Но следует твердо усвоить одну истину — консоль является единственным полноценным инструментом администрирования Linux и совсем не означает ограниченность в возможностях или неполноценность системы. Даже наоборот, командная строка позволяет выполнить многие задачи намного быстрее и проще, чем графические инструменты администрирования.
Но существуют же графические инструменты администрирования, скажет иной читатель, панели там разные, или можно же поставить графическую оболочку. Можно, но не нужно. Почему? Внимательно посмотрите на схему ниже:
Linux, создававшийся по образу и подобию UNIX-систем, является полноценной системой и без графической оболочки, более того мы можем запустить, закрыть или вообще сменить графическую оболочку без какого-либо влияния на работоспособность системы и даже без ее перезагрузки. Завершили сеанс Gnome, запустили KDE, а потом и вовсе вышли в консоль. Поэтому все инструменты управления системой разработаны для использования в режиме командной строки. А все панели и графические инструменты являются всего лишь надстройкой над ними.
Windows долгое время разрабатывался по принципиально иной технологии, графическая оболочка была поставлена в основу системы и долгое время даже выполнялась на уровне ядра (семейство Win 9x). Поэтому все инструменты администрирования были изначально графическими, а инструменты командной строки скорее их дополняли, чем заменяли. Любой, кто занимался восстановлением Windows, знает, что возможности инструментов командной строки там существенно ограничены и предназначены в первую очередь для восстановления системы, а не для ее администрирования.
Ситуация стала меняться с выходом PowerShell и Core-версий Windows Server. Несмотря на то, что сегодня графическая оболочка продолжает играть существенную роль в Windows-системах, администраторы получили в руки альтернативный инструмент — консоль PowerShell, которая позволяет полноценно администрировать Windows в режиме командной строки. При этом возможности PowerShell сразу завоевали популярность в среде специалистов, так как позволяют выполнять многие задачи быстрее и проще, чем графические инструменты.
А еще режим командной строки дает неограниченные возможности в создании собственных скриптов и сценариев, позволяющих выполнять сложные последовательности действий в автоматическом режиме или по расписанию.
После этого, как нам кажется, вы должны будете посмотреть на консоль Linux совсем с другой стороны. Что касается панелей и графических инструментов, то тут есть существенные отличия от Windows-систем. В Windows графические инструменты являются полноценной альтернативой PowerShell. В Linux графические инструменты являются надстройкой над консолью, по факту используя те-же самые инструменты, но через дополнительную прослойку. Поэтому мы категорически не рекомендуем использовать разного рода панели и иные графические инструменты, по крайней мере до тех пор, пока вы не освоите консоль. После этого вы уже сможете самостоятельно решить, нужна ли вам панель или вы способны сделать все проще и быстрее через консоль.
Увлечение панелями на раннем этапе знакомства с системой приводит к тому, что навыки администрирования системы будут подменены навыками работы с панелью, что черевато проблемами, когда панель по какой-либо причине окажется недоступной, а работать с системой надо. Это можно сравнить с тем, что человек учившийся вождению автомобиля с механической коробкой без проблем пересядет на автомат, а человек изначально умеющий ездить только на автомате вряд-ли сможет без дополнительного обучения поехать на машине с механикой.
Если вы еще не передумали становиться Linux-администратором, то поедем дальше и рассмотрим отличия в архитектуре системы.
Ядро и драйвера
Основу любой операционной системы составляет ядро. Существует несколько различных архитектур ядра, Linux, как и подавляющее большинство UNIX систем, использует монолитное ядро, Windows наоборот использует концепцию микроядра, хотя по-настоящему архитектура Windows микроядерной не является, принято считать, что Windows использует гибридное ядро.
Особенностью монолитного ядра является то, что все драйвера оборудования также являются частью ядра. Ранее, при изменении аппаратной части, ядро надо было пересобирать, сегодня монолитные ядра используют модульную схему, т.е. динамически позволяют загружать необходимые модули, отвечающие за тот или иной функционал. Т.е. добавив в систему новое устройство, мы должны динамически загрузить соответствующий модуль ядра, а если такого модуля нет, то работа с устройством окажется невозможной. В качестве решения мы можем собрать модуль самостоятельно, но при этом модуль будет скомпилирован под текущую версию ядра и при его смене модуль нужно будет перекомпилировать.
В микроядерной и гибридной архитектурах, драйвера, хоть могут и работать на уровне ядра, его частью не являются и от версии ядра не зависят. Поэтому мы можем без проблем обновлять ядро или использовать один и тот-же драйвер для всех версий систем с общей структурой ядра. Например, в Windows для всего семейства современных ОС, от Windows Vista до Windows 8.1, часто используется один и тот-же драйвер.
Это не значит, что Linux в этом плане хуже, иная архитектура предусматривает иные подходы. Практически это означает только одно — к выбору оборудования для серверов надо относиться более внимательно, стараясь чтобы все основные устройства поддерживались ядром вашего дистрибутива. Особенно это касается сетевых карт. Будет очень неприятно, если после каждого обновления ядра вам придется бегать в серверную, подключать к серверу монитор и клавиатуру и заново собирать модуль ядра.
По сути, такого понятия как драйвер, в Linux системах не существует. Оборудование либо поддерживается ядром, либо нет. Несомненный плюс монолитного ядра — оно самодостаточно. Если все оборудование поддерживается — поставил и забыл, самое время вспомнить ситуацию, когда под Windows нет драйвера сетевой карты и диск утерян.
Файловая система
Мы не будем касаться конкретных файловых систем, тут проблем возникнуть не должно, если администратор работал с Windows системами, то что такое файловая система и чем FAT отличается от NTFS он знает, поэтому разобраться в разнице между ext3, ext4 и, скажем, ReiserFS для него особого труда не составит. А поговорим о фундаментальных отличиях. В отличие от Windows, файловая система Linuх иерархична. Она начинается от корня, который обозначается знаком / (слеш), и имеет древовидную структуру. При этом абсолютно не имеет значения, что отдельные части файловой системы могут находиться на других разделах или вообще физических дисках.
Рассмотрим еще одну схему.
В Windows каждый раздел имеет собственную файловую систему и обозначающую его букву. Все пути к файлам и папкам начинаются с буквы, т.е. от корня раздела. Так если у нас на первом физическом диске, на втором логическом разделе была папка DATA, то путь к ней соответственно будет как D:DATA, если мы захотим перенести ее на второй жесткий диск, то ее пусть изменится на E:DATA. В ряде случаев это жутко неудобно, так как путь надо изменить во всех местах ее использования и даже существуют соответствующие утилиты.
В Linux подход кардинально иной. Самое время познакомиться с термином точка монтирования, который означает место файловой системы, куда подключается устройство хранения данных. Например, мы хотим вынести домашние каталоги пользователей на отдельный раздел, как на схеме выше, для этого нам нужно смонтировать второй логический раздел первого физического диска sda2 в /home. После чего перенести туда все пользовательские данные. Для системы и программ это произойдет абсолютно прозрачно, они как использовали абсолютный путь, скажем /home/andrey/data, так и будут его использовать. Добавили еще один диск и хотим вынести туда директорию /var? Нет проблем, останавливаем использующие каталог службы, монтируем sdb1 в /var и переносим данные, запускаем службы.
Всё есть файл
Еще один основополагающий принцип, который унаследован от UNIX-систем. В Linux всё есть файл: устройства, диски, сокеты и т.д., например, открыв /var/run мы увидим pid-файлы, соответствующие каждой запущенной службе в системе, а в /dev файлы каждого подключенного к системе устройства:
Что это дает? Не будем вдаваться в подробности, а разберем несколько простых примеров. Скажем, нужно создать образ оптического диска. В Windows нам понадобится для этого специализированное ПО, в Linuх все проще, CD-ROM — это блочное устройство, но в тоже время — это файл, файл блочного устройства. Берем соответствующий инструмент и копируем содержимое файла устройства в файл ISO образа:
dd if=/dev/cdrom of=/home/andrey/image.iso
Хотим заменить жесткий диск? Нет ничего проще, копируем содержимое одного файла блочного устройства в файл другого блочного устройства:
dd if=/dev/sda of=/dev/sdb
И не нужно никаких Partition Magic.
Другая ситуация, какое-либо ПО настоятельно ищет библиотеку lib-2-0-1.so, а у нас есть совместимая с ней, но более новая, lib-2-1-5.so, как быть? Создаем символическую ссылку на lib-2-1-5.so с именем lib-2-0-1.so и все будет работать. Потому что все есть файл и символическая ссылка тоже тип файла. А теперь попробуйте подсунуть Windows приложению lib-2-0-1.lnk вместо lib-2-1-5.dll…
Или нам нужно сохранить вывод какой-либо команды. Например, команда
ifconfig
выведет на экран сведения о сетевых адаптерах системы:
А теперь вспоминаем, что все есть файл, в том числе и устройство отображения (экран), поэтому просто перенаправим стандартный поток вывода вместо экрана в нужный нам файл:
ifconfig > ~/123.txt
После чего вывод команды будет сохранен в файл 123.txt в корневой директории пользователя:
Потоки и конвейер
В прошлом примере мы затронули стандартный поток вывода. В Linux существуют стандартные для всех процессов потоки ввода-вывода данных stdin, stdout и поток вывода ошибок stderr. Что это значит? Как минимум то, что процесс обмена данными между различными процессами стандартизован. Это позволяет создавать конвейеры, когда стандартный поток вывода одной команды передается стандартному потоку ввода другой. Например, мы хотим посмотреть список установленных пакетов в системе, в частности пакеты squid. Для этой цели есть команда:
dpkg -l
Ээээ… Это что такое и как тут что-то понять? На экране быстро промелькнули сведения о всех установленных в системе пакетах и все что мы можем видеть, это «хвост» этого вывода:
Но ведь нам и не нужен весь вывод этой команды, нас интересуют исключительно пакеты squid. Поэтому направим вывод этой команды на ввод другой, которая уже отберет и покажет то, что нам нужно:
dpkg -l | grep squid
Вот это совсем другое дело!
Причем конвейер может быть сколь угодно длинным, результат работы одной команды можно передавать второй, от второй к третьей и т.д. Еще один пример из жизни. Вам надо получить все строки вашего конфигурационного файла squid, но без комментариев и пустых строк, чтобы, например, выложить на форуме или отправить другу. Можно конечно скопировать все, но вряд-ли кто-то захочет вам помогать, прокручивая полотно стандартного файла squid.conf, большая часть которого комментарии и примеры. Делаем проще:
cat /etc/squid3/squid.conf | grep -v '^#' | sed '/^$/d' > ~/mysquid.conf
И вот что у нас получилось:
Просто и понятно, все опции как на ладони. Это стало возможным в результате использования конвейера трех команд, первая вывела в поток содержимое файла, вторая отобрала все строки кроме комментариев, а третья удалила пустые, результат мы направили в файл.
Буквы большие, буквы маленькие
Linux, как и UNIX, является регистрозависимой системой. И это надо помнить! Потому что, в отличие от Windows, myfile.txt, Myfile.txt и myfile.TXT — это три разных файла. В целях совместимости с другими системами не стоит этим злоупотреблять и хранить файлы, имя которых отличается только регистром, а хорошим тоном считается использование в именах только строчных букв.
Расширения и типы файлов
В Windows системах тип файла определяется его расширением, если мы переименуем exe-файл в jpg, то он не запустится, и система будет пытаться обработать его как картинку. В Linux тип файла определяется по его содержимому и расширение используется исключительно для совместимости с другими системами или для удобства пользователя. Возможность исполнения файла обеспечивается установкой соответствующего атрибута. Так в Windows чтобы сделать скрипт исполняемым, надо было изменить расширение с txt на bat, в Linux для этого нужно сделать файл исполняемым. Непонимание этого момента приводит к ситуациям, когда начинающий администратор не понимает, почему его скрипт myscript.sh не выполняется. На самом деле расширение .sh нужно только для удобства, чтобы сразу было ясно, это скрипт Bash Shell, а чтобы он работал, ему надо поставить атрибут исполняемого, а называться он может как угодно, хоть myscript.pupkin-vasya.
Стесняюсь спросить…
Позвольте, скажет иной читатель, это ведь сколько всего надо помнить: синтаксис команд, ключи, опции и т.д., и т.п. Тут нужно справочник покупать или всегда интернет под рукой держать… Вовсе нет, достаточно помнить названия команд, это как раз несложно, по сложившимся в UNIX традициям, командам дают короткие и удобные имена. А все остальное можно спросить у системы. Вопреки распространенному мнению, Linux системы прекрасно документированы. Посмотреть синтаксис и ключи любой команды можно запустив ее с ключом —help, а так как описания обычно не помещаются на один экран, то следует перенаправить вывод справки утилите more, которая выведет информацию поэкранно. Допустим, нас интересует команда grep:
grep --help | more
Более подробную информацию можно получить с помощью команды man:
man grep
К сожалению, информация на английском, но знание технического английского, хотя бы на уровне «читаю со словарем» необходимое требование к системному администратору. Вам ничего не напоминает последний скриншот? Правильно, OpenNET.
Нисколько не умаляя значение этого ресурса, можно сказать, что взяв на вооружение команду man и базовые познания в английском, OpenNET вы будете посещать гораздо реже.
Заключение
Надеемся, что после прочтения данной статьи начинающие администраторы будут лучше себе представлять устройство Linux-систем и их принципиальные отличия от привычного им Windows. Это позволит в дальнейшем правильно интерпретировать получаемую информацию и складывать из нее целостную картину функционирования системы, которая перестанет быть «черным ящиком», а команды «китайской грамотой».
Также хотим обратить внимание, что в наших примерах мы использовали только стандартные инструменты, что еще раз показывает все богатство инструментов администрирования, несмотря на то, что они работают только в командной строке. Вернемся к последнему примеру — выводу конфига squid, а теперь подумайте, каким образом это можно было бы сделать при помощи графических инструментов и сколько времени бы это заняло?
Не нужно бояться командной строки, Linux предоставляет в руки администратора очень мощный набор инструментов, который позволяет успешно решать все возникающие задачи без привлечения сторонних средств. Когда вы освоите хоть часть этих возможностей, то Linuх перестанет казаться вам сложным, а консоль мрачной, наоборот, даже располагая графической оболочкой вы будете запускать терминал, окунаясь в привычную и понятную среду, понимая, что системой управляете именно вы и делаете именно то, что хотите, а не что, что задумали разработчики очередной панели.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.