Elettracompany.com

Компьютерный справочник
3 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Уроки по linux

Руководство по Linux для начинающих (часть 1)

Меня очень часто спрашивают, чего такого конкретного можно почитать про линукс. Обычно я отвечаю, что вся литература не подходит и нужно просто решать проблемы по мере их поступления. Решать путем гугления или доебывания меня/не меня в ЛС — дело вкуса.

Про линукс действительно, нет такой годной, написанной легким языком литературы, которая бы подошла нубам и всем, кто хочет поставить линукс, но сам не знает зачем и какой и на что и куда и когда.

Данное руководство принципиально отличается от остальных тем, что я пишу его основываясь на простом опыте помощи неопытным пользователям линукса, рассматриваю тривиальные задачи и самые распространенные проблемы.

Какой дистрибутив выбрать?

Этот вопрос заебал всех. Действительно, огромным недостатком современного мира линукса является обилие дистрибутивов, сборок и говносборок.

Привычно для всех форумов — ткнуть новичка носом в говно убунту/минт и вздохнуть с облегчением, потому что установка и использование убунты вопросов не должны бы вызывать. Однако мой личный опыт подсказывает, что убунта всегда может выкинуть финт из-за печки и вообще от настоящего мира линукса тихонько отодвигается. Лично я не одобряю платные приложения в Центре Приложений, Амазон и прочие «плюшки» убунты. На убунте вы научитесь пользоваться только убунтой и линуксоидом вас можно будет назвать с натяжкой.

Минт, не смотря на то, что является говносборкой убунты, работает вроде как стабильнее, да и линуксом его назвать проще: форк гнома 2 за DE вместо экзотической юнити, «изкоробки» все ПО швободное и установка/использование чуть ли не проще, чем у Винды, нооо… все же, на минте вы научитесь пользоваться только минтом и убунтой.

Есть такие теории, что новичкам нужно хуярить с вертушки в щи хэнбуком генты в лоб и отправлять чрутиться в стейж3 из ливок.

Я не согласен. Прежде, чем осиливать полноценные дистрибутивы, которые представляют собой именно линукс, нужно запастись хоть какими нибудь базовыми знаниями. Поэтому я предлагаю Debian. Это удобный, стабильный дистрибутив, на котором можно практиковаться, экспериментировать, изучить мир открытого ПО и приобщится к сообществу линуксоидов.

Не хотите Дебиан? Ну, собственно, как хотите, я пишу руководство не по дебиану, но достаточно много примеров я буду приводить именно по нему. Ниже краткий экскурс по дистрибутивам для новичков, которые вас, возможно, заинтересуют.

Ubuntu

Выглядит примерно так. Включает в себя Unity (как бы гном 3, но как бы уже и не гном 3 и не гном шелл), существует в таких редакциях как Kubuntu (c KDE), Xubuntu (c Xfce4), Lubuntu (c LXDE) и так далее, хз что они еще напридумывали.

Платформа для покупки хуйни в Центре Приложений, Амазоне, Стиме и где то еще. Мне не нравится. Самый, пожалуй, не линуксовый дистрибутив.

Предельно прост и юзер-френдли до тех пор, пока у вас что нибудь не сломается.

[dl url=»http://ubuntovod.ru/skachat-ubuntu-linux.html» title=»Скачать Ubuntu»]

Сделан на убунте (правда, есть еще Mint Debian на дебиане, но все эти извращения подробно рассматривать блога не хватит).

Якобы стабильнее, чем убунта, за DE используется Mate (форк второго гнома, работает хорошо и пиздато). Если вы ставите минт, то скорее всего обрекаете себя на использование минта. Все же ближе к линуксу, чем убунта. Есть редакции со всеми окружениями рабочего стола.

[dl url=»http://www.linuxmint.com/download.php» title=»Скачать Mint»]

OpenSuSe

Не справедливо погребенный под тонной говносборок убунты дистрибутив.

Создан для KDE, все остальное там уебищно. Если вы хотите попробовать дистрибутив с KDE, то Суся для вас. Главный минус — отсутствие нормальной документации и в отличии от убунты мало форумов и прочих центров бесплатной поддержки лентяев.

Стабильная, простая, умная. Мне нравится.

[dl url=»http://software.opensuse.org/123/ru» title=»Скачать OpenSuSe»]

Fedora

Федора мне не нравится. Она не стабильная, никто ничего про нее не знает, работает через жопу и нужна никому. Единственный резон попробовать ее — Гном Шелл изкоробки, который мне не нравится. Попробуйте Федору на свой страх и риск. А она, кстати, уже вовсе не такая нубястая.

Читать еще:  Полиглот 4 урок

[dl url=»http://fedoraproject.org/ru/get-fedora» title=»Скачать Fedora»]

Mageia

Магеиа (маджеиа?) — форкнутая Мандрива (дистрибутив из прошлого, которым пользовались от безысходности) категорически не нужна. По дефолту тут тоже идет KDE, пакетная система рпм (как в сусе или федоре) но все это ведро с гайками работает через зад и вообще черт ногу сломит в системе. Короче, изобрели велосипед с передним приводом и без тормозов.

Мне не нравится.

[dl url=»http://www.mageia.org/ru/downloads/» title=»Скачать Mageia»]

Debian

Возможно, самый непростой (но не сложный) дистрибутив из всех перечисленных выше. Зато самый стабильный и самый подходящий для первого знакомства с линуксом. По дефолту идет Гном 2, но дефолт у дебиана — штука сомнительная, лично я всегда ставлю Netinstall и прикручиваю любое графическое окружение уже в процессе установки.

Мне очень нравится.

[dl url=»http://www.debian.org/index.ru.html» title=»Скачать Debian»]

Теперь небольшой, ознакомительный обзор по дистрибутивам, требующим от пользователя красноглазия и подробного изучения вопроса.

Gentoo

Мне нравится генту. Она повышает мое ЧСВ и заставляет мозг работать. Генту действительно ОЧЕНЬ гибкая в настройке и позволяет повыкидывать из дистрибутива ненужности самым простым образом. Ставить из стейж3, загружаясь с минималСД. Генту — это интересно. Но, если быть честным с самим собой — на десктопе не нужно.

Slackware

Олдскульна. На этом ее плюсы закончились, увы. Я люблю слаку, П-г Б-г, но делать там совершенно нечего. Она настолько олдскульна, что даже в 14-ой версии слакопакеты представляют из себя все ту же помойку, контроля за зависимостями нет (а зависимости таки есть) и все… слишком олдскульно. Мне это не мешает пользоваться слакой время-от времени, но все же, когда от компьютера требуется постоянная, напряженная работа, мобильность, скорость и стабильность, я предпочитаю другие дистрибутивы (дебиан, например).

Archlinux

Не такой уж красноглазый, в самом деле. Если разобраться, он не принципиально сложнее того же дебиана. Мне не нравится. Мне не нравится пакман (пакетный менеджер), мне не нравится общее устройство системы, недозакос под генту и логотип. Арч я никому не советую.

В целом, на этом краткий экскурс по дистрибутивам закончен. Следующая глава будет более подробной, посвящена X11, различный графическим оболочкам и оконным менеджерам. Напишу я ее совсем скоро.

Указывайте, пожалуйста, на ошибки (особенно грамматические) в комментарии и ждите следующей части. Спасибо за внимание. :3

Гайд по необходимому минимуму в Linux и Bash

Разные операционные системы длительное время обслуживают различные аудитории: Windows — бизнес-профессионалов, Mac — творческих, а Linux — разработчиков. Разработчикам ОС такой тип рыночного спектра сильно упростил концепцию продукта, технические требования, пользовательский опыт и направление рынка. Однако, он также ужесточил нормы рабочего пространства, что деформировало отдельных пользователей под узкие, непересекающиеся области: у бизнесменов нет возможности заглянуть в творческий процесс, а у разработчиков нет представления о проблемах бизнеса.

В реальности знания и опыт — динамичны, они охватывают несколько дисциплин и сфер деятельности. Представление о том, что “можно иметь способности только к чему-то одному” — это не руководство к овладению мастерством, а попытка справиться с преждевременной оптимизацией. Узнать о том, в чём вы хорошо разбираетесь можно только когда вы попробовали себя в нескольких разных вопросах. И может оказаться, что у вас есть способности ко многим видам деятельности .

Для современных бизнес-аналитиков особенно актуален вопрос ликвидации пробела между бизнесом и разработкой. Бизнес-аналитики должны быть двухплатформенными, способными использовать командную строку, доступную только на Linux (или в macOS), но при этом уметь извлекать широкие возможности из Microsoft Office в Windows. Очевидно, что мир Linux пугает тех, у кого образование в сфере бизнеса. К счастью, как и в большем количестве вопросов, вам необходимо изучить 20% информации, чтобы выполнить 80% работы. Вот мои 20%.

Читать еще:  Unity уроки скачать

Почему современные бизнес-аналитики должны знать Linux

Благодаря своим open source корням, Linux выиграл от вкладов тысяч разработчиков за всё время его существования. Они построили программы и утилиты, чтобы упростить работу не только себе, но и тем программистам, которые последовали за ними. В результате open source разработка создала эффект сетевой выгоды: чем больше разработчики строили утилиты на оригинальной платформе, тем больше других разработчиков могло влиять на эти утилиты, чтобы писать собственные программы.

В результате получился огромный пакет программ и утилит (то есть софт), который был написан на Linux и под Linux. Большая часть его никогда не портировалась в Windows. Один из примеров — популярная система контроля версий (VCS), которая называется git . Разработчики могли написать софт под Windows, но они этого не сделали. Они написали его для работы в командной строке, для Linux, потому что Linux — экосистема, в которой уже были все необходимые инструменты.

Если вдаваться в подробности, разработка на Windows ведёт к двум основным проблемам:

  • Базовые задачи, вроде парсинга файлов, рабочего планирования и поиска текста используются чаще, чем запуск утилиты командной строки.
  • Языки программирования (Python, C++) и связанные с ними библиотеки выкидывают ошибки, потому что они ожидают конкретных параметров Linux или специфических локаций файловой системы.

Если собрать всё вместе, это выльется в трату времени на переписывание базовых инструментов, которые уже доступны в Linux, они позволят избежать ошибок совместимости с ОС. Тут нет никаких сюрпризов — экосистема Windows просто не была задумана и спроектирована под нужды разработки софта.

Теперь давайте рассмотрим базовые идеи Linux.

Фундаментальная единица Linux: “оболочка”

Shell (оболочка, также известная как терминал, консоль или командная строка) — это текстовый интерфейс пользователя, через который команды отправляются машине. На Linux, по-умолчанию, язык оболочки называется bash . В отличие от Windows-пользователей, которые в своём большинстве используют навигацию “навести-кликнуть” по окну, Linux-разработчики привязаны к клавиатуре и пишут команды в оболочке. Хоть этот переход далёк от естественного для тех, у кого нет бэкграунда в программировании, плюсы разработки в Linux сильно перевешивают изначальное вложение в обучение.

Изучаем несколько важных концептов

В сравнении с достаточно зрелым языком программирования, bash имеет всего несколько основных концептов, которые необходимо выучить. Как только вы охватите это, остаток bash — простое запоминание. Я переформулирую понятней: хорошо разбираться в bash значит запомнить 20–30 команд и их часто используемые аргументы.

Linux кажется непроницаемым для тех, кто не касается разработки, из-за способа, которым разработчики (не напрягаясь) извергают эзотерические команды терминала, когда им захочется. Правда в том, что они хорошо знают только несколько десятков команд — за всем более сложным они так же (как и все смертные) обращаются в Google.

Опуская мелкие загвоздки, стоящие на пути, вот главные концепты в bash.

Командный синтаксис

Команды соответствуют синтаксису:

Например, в ‘grep -inr’, grep — это команда (для поиска текстовой строки) и -inr это флаги/аргументы, которые меняют то, что grep выполняет по умолчанию. Единственный способ понять, что это значит, поискать что-то о них через Google или просто ввести ‘man grep’. Я рекомендую выучить команды и их самые используемые аргументы: слишком обременительно помнить, что делает каждый флаг.

Псевдонимы директорий

  • Текущая директория (где я?): .
  • Родительская директория текущей директории: ..
  • Домашняя директория пользователя:
  • Корень файловой системы (или родитель всех родителей): /
  • Например, чтобы поменять текущую директорию на родительскую директорию нужно ввести: cd ..

    Таким же способом, чтобы скопировать файл, расположенный в “/path/to/file.txt” в текущую директорию, нужно ввести cp /path/to/file.txt . (заметьте, что в конце команды точка). Поскольку это всего лишь псевдонимы, вместо них может использоваться реальное имя пути.

    Читать еще:  Фейс фитнес для лица упражнения видео уроки

    STDIN / STDOUT

    Всё, что вы пишите в окне и подтверждаете (с помощью ENTER), называется стандартным вводом (STDIN).

    Всё, что программа выводит в ответе в терминал (например текст из файла), называется стандартным выводом (STDOUT)

    Конвейер (piping)

    Pipe принимает STDOUT от команды слева от pipe и превращает его в STDIN для команды справа от pipe.

    пример : echo ‘test text’ | wc -l

    Символ “больше” принимает STDOUT от команды слева и записывает/перезаписывает в новый файлу справа

    пример : ls > tmp.txt

    Два символа “больше” принимают STDOUT от команды слева и добавляют к новому или существующему файлу справа.

    пример : date >> tmp.txt

    Шаблоны поиска (wildcards)

    Можете представить это как символ % в SQL. Например, можно написать WHERE first_name LIKE ‘John%’, чтобы найти любые позиции, где данные начинаются с имени John.

    В bash можно написать John*. Если вы хотите вывести список всех файлов в какой-то папке, заканчивающихся на «.json», пишете : ls *.json

    Завершение с помощью tab

    Bash часто завершает команды сам, по определённой логике, если вы начинаете вводить команду и нажимаете TAB.

    Однако, стоит попробовать что-то вроде zsh или fish для автозаполнения, потому что запоминать команды и все их параметры очень сложно. Более того, эти инструменты применят автозаполнение, основываясь на вашей истории используемых команд.

    Выход

    Иногда вы застреваете в какой-нибудь программе и не можете оттуда выйти. Это очень часто повторяющееся событие для новичков в Linux, которое невероятно демотивирует. Часто выход происходит с помощью чего-то, содержащего q . Хорошо бы запомнить то, что будет написано ниже и использовать, когда вы в ловушке.

    Что я помню из команд bash

    Это те команды, которые я использую чаще всего в Linux (начиная от самых часто используемых к самым редко используемым). Как я уже писал раньше, знание всего горстки команд поможет выполнять большой набор необходимых программируемых задач.

    • cd изменить директорию
    • ls -lha вывести директорию в виде списка (подробного)
    • vim или nano редактор командной строки
    • touch создать новый пустой файл
    • cp -R скопировать файл или директорию (и всё их содержимое)
    • mv переместить или переименовать файл
    • rm удалить файл
    • rm -rf удалить файл или папку без возможности восстановления [использовать аккуратно!]
    • pwd вывести текущую рабочую директорию
    • catилиlessилиtailилиhead -n10 вывести в STDOUT содержимое файла
    • mkdir создать пустую директорию
    • grep -inr найти строку в любом файле этой директории или дочерних директориях
    • column -s, -t отобразить разделенный запятыми файл в виде столбцов
    • ssh @ соединиться с удалённой машиной
    • tree -LhaC 3 показать структуру директории на 3 уровнями вглубь (с размерами файлов и включая скрытые директории)
    • htop (или top ) диспетчер задач
    • pip install —user пакетный менеджер Python для установки пакетов в

    /.local/bin

  • pushd . ; popd ; dirs; cd — push/pop/view директорию в стек + изменить обратно на последнюю директорию
  • sed -i «s///g» заменить строку в файле
  • find . -type f -name ‘*.txt’ -exec sed -i «s///g» <> ; заменить строку для каждого файла в этой и дочерней папках с именем типа *.txt
  • tmux new -s session, tmux attach -t session создать новую сессию терминала без создания нового окна [продвинутый уровень]
  • wget загрузить веб-страницу или веб-ресурс
  • curl -X POST -d «» http://www.google.com отправить HTTP-запрос на веб-сервер
  • find вывести список всего содержимого директории и её дочерних директорий рекурсивно
  • Продвинутые и не часто используемые команды

    Я считаю хорошей практикой хранить список команд, которые полезны в определённых ситуациях, даже если подобные ситуации случаются редко (например, какой процесс блокирует конкретный сетевой порт). Вот несколько нестандартных команд, которые у меня всегда под рукой:

    0 0 голоса
    Рейтинг статьи
    Ссылка на основную публикацию
    ВсеИнструменты 220 Вольт