Линукс обучение с чего начать
Уроки по Linux
Linux — это семейство Unix-подобных операционных систем (сокр. «ОС»), использующих ядро Linux, которое разработал финно-американский программист Линус Торвальдс. ОС, использующие ядро Linux, называются дистрибутивами Linux, и они являются такими же операционными системами как Microsoft Windows и Apple macOS, но с одной очень важной особенностью, а именно: их исходные коды являются открытыми, так как они распространяются под лицензией GNU GPL, которая подразумевает создание свободного и открытого программного обеспечения (open source software).
Linux существует вокруг нас с середины 1990-х годов. Вы можете встретить его повсюду: в телефонах, ноутбуках, наручных часах, суперкомпьютерах, автомобилях и даже в холодильниках. Он обрел известность как среди разработчиков, так и среди обычных пользователей компьютеров.
Операционные системы на базе ядра Linux пользуются популярностью в разработчиков, так как поддерживают почти все наиболее часто используемые языки программирования: C/C++, Java, Python, Ruby и др. Кроме того, они облегчают работу с широким спектром полезных приложений для разработки ПО.
Целью данных уроков — Уроки по Linux для начинающих — является помочь новичкам разобраться в теме Linux.
Примечание: Уроки регулярно добавляются и обновляются. В процессе построения логической структуры и последовательности тем для изучения Linux, расположение уроков может меняться, и вы можете видеть, что последовательность уроков на этой странице отличается от последовательности в конце каждой статьи. Это не ошибка, а лишь временное явление.
Поделиться в социальных сетях:
Руководство Linux для начинающих
Если собираетесь впервые перейти на Linux, есть некоторые вещи, которые вы должны знать. Это руководство содержит важную информацию, которая поможет вам начать ей пользоваться.
Вы узнаете, что такое Linux, почему вы должны использовать его, какие бывают дистрибутивы, как их установить, как использовать терминал, как настроить аппаратное обеспечение и многие другие ключевые аспекты.
Что такое Linux?
На Linux работает все: от вашего телефона до вашего умного холодильника.
В пользовательской среде Linux является альтернативой коммерческим операционным системам, таким как Windows.
Зачем использовать Linux вместо Windows?
Есть много причин, почему стоит использовать Linux вместо Windows, и вот лишь некоторые из них.
Какой дистрибутив Linux стоит использовать?
Первый вопрос, которым стоит задаться “что такое дистрибутив Linux?” Просто ядро Linux похоже на движок. Дистрибутив – это фактически транспортное средство, в котором находится двигатель.
Так какой дистрибутив Linux выбрать? Вот основные из них:
Более подробно про лучшие дистрибутивы для новичков вы можете прочесть в этой статье.
Что такое среда рабочего стола?
Типичный дистрибутив Linux состоит из нескольких компонентов.
Существует менеджер дисплея, который используется, чтобы помочь вам войти в систему, менеджер окон, который используется для управления окнами, панели, меню, основных интерфейсов и приложений.
Многие из этих элементов объединены вместе, чтобы создать так называемую среду рабочего стола.
Некоторые дистрибутивы Linux поставляются только с одной средой рабочего стола (хотя другие доступны в репозиториях программного обеспечения), в то время как другие имеют различные версии дистрибутива для различных сред рабочего стола.
Наиболее распространенные среды рабочего стола включают Cinnamon, 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.
Каждый дистрибутив предоставляет свой графический инструмент. Существуют общие средства командной строки, используемые в различных дистрибутивах.
Более подробно об установке приложений в Linux вы можете узнать из этой статьи.
Командная Строка Linux
Что бы ни говорили пользователи Linux, именно необходимость использовать терминал, не дает системе стать массово популярной. Впрочем, это бесполезная дискуссия.
Хотя полезно изучить основные команды Linux (то же самое можно сказать и о командах DOS в Windows), нет необходимости делать это.
Первое, что вам нужно знать, конечно, как открыть терминал, и, разумеется, есть, множество способов сделать это.
Почему это называется терминалом? Терминал на самом деле короткое имя для эмулятора терминала, и оно возвращает нас в то время, когда люди входили в систему на физических терминалах. Теперь все, что вам нужно знать, это то, что терминал – это место, где вы вводите команды Linux.
Как только вы откроете терминал, вы должны действительно в нем разбираться. Сперва вам стоит узнать о правах. Подробней об этом вы сможете прочесть в этой статье.
Команда, которую пользователи обычно узнают на ранней стадии – это команда sudo, но не начинайте бездумно вводить команды с помощью sudo, не понимая, что она делает, потому что все это может закончиться катастрофой.
В то время как вы работаете в терминале, вы должны также понимать в переключении пользователей с помощью команды su.
По сути, команда sudo позволяет повысить уровень прав, так что вы можете запускать команды от имени другого пользователя. По умолчанию другой пользователь является пользователем root.
Команда su переключает контекст таким образом, что вы работаете от имени указанного пользователя. От имени этого пользователя можно выполнить ряд команд.
Еще несколько фактов о Linux
Резюме
В этом руководстве мы рассказали вам, что такое Linux, почему вам стоит использовать его, какие существуют дистрибутивы Linux и как выбрать из них, как попробовать Linux, как установить его, как настроить Linux, как перемещаться по Linux, рассказали о лучших приложениях, как установить приложения и как использовать командную строку.
Это должно дать вам хорошую основу для дальнейшего движения.
Linux за 30 минут. Руководство по выбору и использованию Linux для новичков
Содержание статьи
Огромное количество хакерского софта работает только на Linux и собрано в специализированных дистрибутивах вроде Kali. К тому же при пентесте ты часто будешь сталкиваться с системами на Linux и должен уметь с ними обращаться. Да и просто полезно иметь опыт работы с этой мощной, абсолютно бесплатной системой. В жизни пригодится, поверь!
В этой статье мы попытаемся рассказать все, что сами хотели бы знать, когда начинали интересоваться «Линуксом» много лет назад. Это и теоретические сведения, которые помогут ориентироваться, и вполне практичные советы.
Важное предупреждение
По уровню сложности это не вполне характерная для «Хакера» статья — она рассчитана на совсем‑совсем новых пользователей. Мысль о ней появилась, когда мы стали компоновать подборку материалов об использовании Linux и обнаружили, что у нас нет ничего, что подошло бы в качестве самого начала. А если и есть, то покрыто толстыми мхами.
Если ты против таких статей в «Хакере», можешь, конечно, отметиться в комментариях, но, право слово, лучше иди почитай про эксплуатацию ядра или про то, как писать минималистичный бэк‑шелл на ассемблере. Благо таких статей у нас большинство и менять в этом плане мы ничего не собираемся.
Если же тема кажется тебе в самый раз, то пристегивайся — наш звездолет отправляется, чтобы пронестись по основам Linux со сверхсветовой скоростью.
Какой бывает Linux
Первое, с чем сталкивается человек, желающий установить Linux, — это огромное разнообразие дистрибутивов. Все эти названия просто невозможно упомнить, но в реальности и не нужно.
Три основных семейства дистрибутивов, о которых нужно знать в первую очередь, — это Debian, Red Hat и Arch. Еще можно вспомнить SUSE, Mandriva и Gentoo, но деньки их славы уже позади, да простят нас их пользователи!
Chrome OS — это тоже внутри вполне настоящий Linux, и в новых версиях поддерживается запуск программ для Linux. Но в один ряд с другими дистрибутивами эту ОС все же не поставишь.
Из семейства Debian в первую очередь стоит обратить внимание на Ubuntu. Это и есть самый очевидный выбор, если ты раздумываешь, с чего начать. Компания Canonical, стоящая за Ubuntu, прикладывает огромные силы для того, чтобы этот дистрибутив хорошо работал и был дружелюбен к пользователю. Для этого дистрибутива имеется широчайший выбор стабильно работающих программ — ты точно не будешь испытывать в них недостатка.
Свежеустановленный Ubuntu
Стандартный набор приложений в Ununtu
К тому же у Ubuntu огромное сообщество, что значительно упрощает решение проблем: в 99% случаев ты будешь не первый, кто испытывает ту или иную сложность. Просто копируй сообщение об ошибке, и наверняка найдешь ветку форума, где более опытные товарищи объясняют другим пострадавшим, как с этим справиться.
Есть и другие популярные дистрибутивы, основанные на Debian, — к примеру, Raspberry Pi OS, MX Linux или Kali Linux. А на Ubuntu базируются Linux Mint, elementary OS и многие другие. Кстати, Mint и elementary тоже неплохие варианты для новичков.
Ставить Kali в качестве первой системы обычно не рекомендуют: этот узкоспециализированный хакерский дистрибутив плохо приспособлен для повседневной работы, и устанавливать его предполагается в виртуалку или в качестве второй ОС. К тому же он под завязку забит хактулзами вместо обычных приложений, что будет сбивать с толку. Но если ты ставишь Linux специально, чтобы заполучить все это богатство, то кто мы такие, чтобы тебя останавливать?
Что до самого Debian, то его главная фишка — это лицензионная чистота. Разработчики внимательно следят за тем, чтобы в него не попало ни строчки кода, который распространяется не по свободной лицензии. Что может быть и похвально с точки зрения идеологии, но, когда ты хочешь освоиться с Linux, скорее всего, обернется разного рода сложностями.
К семейству дистрибутивов Red Hat относятся в первую очередь Fedora, Red Hat Enterprise Linux (RHEL) и Rocky Linux. На обычный ПК есть смысл ставить «Федору», тогда как RHEL — это коммерческое решение для серверов, а Rocky Linux — его некоммерческий клон, созданный сообществом.
Fedora Linux
И наконец, Arch — это крайне интересный «гиковский» дистрибутив, который ты можешь сам собрать по кирпичикам и настроить как тебе захочется. Однако нырять в это без предварительных познаний в Linux не советуем. Решая проблемы, ты, конечно, приобретешь много ценных знаний, но это далеко не самый простой путь, и лучше отложить хождение по нему на потом.
У Arch есть и менее суровые вариации — Manjaro и EndeavourOS. В обеих хотя бы присутствуют заранее настроенные и подготовленные к работе окружения, но тоже аскетичные. С другой стороны, отсутствие необузданного разнообразия может быть плюсом при первом знакомстве, так что начинать с Manjaro — не такая плохая идея. Особенно если ты планируешь ставить Linux на слабый компьютер.
Manjaro для ARM
Not Unix
В чем отличие Linux от Unix? Если очень‑очень упростить, то можно сказать, что Unix — это предок Linux. Более сложный и развернутый ответ требует немного углубиться в историю.
В семидесятые годы Ричард Столлман придумал клонировать коммерческий и по тем временам дорогостоящий Unix и создать свою операционку, которую он назвал GNU is not Unix или просто GNU. Столлман и компания переписали все компоненты Unix и опубликовали их под придуманной ими «вирусной» лицензией GPL.
Изначально словом Linux называли только созданное Линусом Торвальдсом ядро. Но название Linux и маскот‑пингвин быстро прижились, и ими теперь обозначают всю ОС — несмотря на возражения Столлмана и просьбы писать только GNU/Linux.
Linux в эпоху интернета стал быстро набирать популярность, и коммерческим вариантам Unix со временем просто не осталось места. Тем не менее до сих пор живы его потомки — операционные системы FreeBSD и OpenBSD, которые теперь бесплатны и многое заимствуют из современного «Линукса». Кстати, на FreeBSD основаны macOS и iOS.
Получается, что выбор дистрибутива — это в первую очередь выбор подхода и даже идеологии. Однако более приземленным ориентиром обычно служит набор основных компонентов, из которых строятся дистры. Давай обсудим главные из них.
Ядро, хоть и критически важно для работы системы, особо не интересно с точки зрения пользователя — взаимодействовать с ним напрямую тебе вряд ли придется, пока ты не станешь настоящим гуру.
Возможно, ты часто слышал про «сборку ядра» и можешь даже самостоятельно попробовать сделать это. Поскольку ядро Linux монолитное, в него должна входить поддержка множества вещей, которые касаются всех аспектов работы компьютера. Соответственно, перед сборкой можно и нужно задать кучу всяких настроек, но ничего особенно увлекательного в этом, поверь, нет, хотя процесс крайне познавательный.
В системе может одновременно присутствовать сколько угодно ядер, а какое именно будет использоваться, ты можешь выбрать в загрузчике. Апгрейд ядра до более новой версии — совершенно рутинное дело в Linux и обычно происходит автоматически.
Пакетный менеджер
Любой Linux состоит из тысяч мелких компонентов — программ, библиотек и ресурсов (например, файлов конфигурации, наборов иконок и так далее). Распространяются они в виде пакетов (package).
Пакетный менеджер — это специальная программа, которая выполняет установку, настройку, удаление, а также обновление как отдельных приложений, так и всей системы в целом или ее компонентов.
Очень часто один пакет требует для работы наличия других, и следить за этими зависимостями вручную на современной системе невозможно. Поэтому основа каждого дистрибутива — это пакетный менеджер, который рулит установкой и обновлением софта. В дистрибутивах, основанных на Debian, он называется APT, в Red Hat — DNF, а в Arch — pacman.
Пакеты менеджер берет из репозитория — большого склада, куда создатели дистрибутива загружают их. Репозиториев зачастую можно подключить сразу несколько. Например, в Ubuntu есть четыре основных: Main (поддерживаемый разработчиками), Universe (поддерживаемый сообществом), Restricted (с проприетарным ПО) и Multiverse (с ПО, на которые действуют несвободные лицензии).
Поскольку вскоре после установки Linux ты обнаружишь необходимость в драйверах для железа, дополнительных шрифтах, кодеках и тому подобных вещах, скорее всего, понадобится разрешить системе доступ к запятнанным коммерцией репозиториям. В Ubuntu это делается в меню «Программы и обновления».
Графическая система
Далеко не каждый Linux снабжен графической системой или вообще нуждается в ней — очень многие действия здесь можно делать и из командной строки. Однако современный рабочий стол — это все же иконки и окошки.
Чтобы работать с графикой, в Linux должны присутствовать сервер дисплея X.Org (традиционный вариант) либо новомодный композитор Wayland, на который сейчас переходят наиболее передовые дистрибутивы. Плюс требуется оконный менеджер — программа, которая отвечает за то, как выглядят и работают элементы интерфейса.
Впрочем, это всё довольно низкоуровневые подробности, нырять в которые с ходу не обязательно. Куда скорее тебе придется задуматься о выборе рабочей среды (Desktop Environment, DE). Это совокупность оконного менеджера и разного рода программ, мелких (например, рисующих разные панели, рабочий стол, виджеты) и крупных — вроде файлового менеджера. Сюда же обычно входит и набор базового софта: календарь, почтовик и прочее в таком духе.
Самые известные оконные среды — это GNOME и KDE. Но в реальности их список гораздо длиннее. Любители минимализма могут присмотреться к Xfce или LXDE, а Ratpoison, dwm, i3 и xmonad предоставляют среду с неперекрывающимися окнами, что некоторые находят удобным.
А еще от GNOME отвалились проекты MATE и Cinnamon — их разработчикам не понравился интерфейс GNOME 3, и они продолжили развивать вторую ветку. А в elementary OS используется своя среда под названием Pantheon, которую не встретишь больше нигде. В общем, разнообразие огромно!
Создатели дистрибутивов, в которые входит графическая среда, обычно выбирают одну или несколько сред, которые будут поддерживать официально. Но при этом тебе ничто не мешает поменять DE или установить одновременно больше одной, чтобы переключаться между ними или использовать программы одной среды из другой. Пробуй, экспериментируй, и сам поймешь, что тебе ближе.
Командный интерпретатор
В Linux командных интерпретаторов существует множество, и, если для Windows они лишь вспомогательное средство администрирования, здесь это один из основных и очень мощных инструментов работы с системой.
Собственно, сама история Linux началась именно с командной строки, точнее терминала или даже телетайпа. Графический интерфейс к нему приделали уже значительно позже. Именно поэтому командную строку в Linux часто называют «эмулятор терминала», а процессы с ними носят префикс tty (teletype).
Как ты знаешь, с использованием команд в Windows можно писать скрипты, автоматизирующие какие‑либо действия: пакетные файлы (batch files) были в ходу еще со времен MS-DOS, а PowerShell заметно расширил и углубил эту технологию. В Linux можно делать то же самое: собранный в файл набор команд интерпретатора может работать как сложная программа, а сами команды являются по большому счету языком программирования.
Наборы команд, сохраненные одним файлом, принято называть сценариями или скриптами. Все скрипты в Linux начинаются с символов #! (это сочетание называется «шебанг») и пути к интерпретатору — команде, которая будет исполнять скрипт.
Стандартным командным интерпретатором в Linux является bash — обновленная и модернизированная версия командной оболочки Bourne shell, которая была изобретена Стивеном Борном в 1978 году и использовалась еще в классическом Unix.
Прожженные линуксоиды предпочитают ставить вместо bash более продвинутый интерпретатор — Z shell (ZSH), обратно совместимый с bash, но имеющий по сравнению с ним множество улучшений. Для этой оболочки сообществом был разработан специальный открытый и бесплатный фреймворк Oh My ZSH, который содержит множество плагинов для автоматизации работы с командами и скриптами. Как минимум Oh My ZSH позволяет использовать красивые темы оформления окна командной строки, благодаря которым окружающие точно сочтут тебя гениальным хакером.
Предупредим о проблеме, с которой моментально сталкивается каждый новый пользователь Linux. Если ты зайдешь в какой‑то каталог и попытаешься написать название исполняемого файла, чтобы запустить его, то ничего не получится. Почему?
И еще один очень важный момент. В Windows тип файла определяется его расширением — в зависимости от него командный интерпретатор и оболочка определяют, как они будут обрабатывать файл. В Linux все устроено немного по‑другому: у bash полностью отсутствует какое‑либо уважение к расширениям файлов. Исполняемый файл отличается от обычного не расширением, а наличием права на его исполнение: если оно есть, система считает такой файл программой (или скриптом) и пытается выполнить. О правах на файлы мы подробнее поговорим чуть дальше в соответствующем разделе.
Домашний каталог и скрытые файлы
Поскольку Linux изначально задумывался как многопользовательская операционная система, все пути к «домашним» папкам, переменные окружения, программы, которые запускаются при открытии терминала, и другие настройки задаются в профиле пользователя. У разных юзеров они, соответственно, разные. Благодаря этому ты можешь, например, настроить системное окружение так, как комфортно именно тебе.
Чтобы указывать на домашний каталог, очень удобно использовать символ
. Так, вместо / home/ vasya/ можно писать просто
Необходимый минимум команд
Итак, запоминай самые важные команды, если еще не знаешь их:
Несколько важных сетевых команд:
Помимо этого, в Linux обычно есть несколько утилит, которые сильно облегчат тебе жизнь. Если их нет, то стоит их установить:
Ввод-вывод и пайпы
Большинство программ, работающих из командной строки, принимают данные на вход и что‑то выдают на выходе. При этом вывод одной программы можно направить на ввод другой и таким образом достичь какой‑то более сложной цели или автоматизировать какой‑то процесс. Давай разберемся подробнее.
Продолжение доступно только участникам
Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».
Присоединяйся к сообществу «Xakep.ru»!
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее