Основы линукс для начинающих


Linux для начинающих или чему может научить девушка? / Хабрахабр

Приветствую, коллеги. Долгое время проект NetSkills был посвящен исключительно сетевым технологиям — Курс молодого бойца, Основы GNS, UNetLab. Однако от подписчиков все чаще звучал вопрос: “А что еще должен знать сетевой инженер или системный администратор?”. Тут можно привести большой список технологий/направлений и в итоге сделать вывод, что знать только сети — недостаточно! Совершенно очевидно, что для успешной карьеры нужно намного больше. Поэтому было принято решение расширить проект и для начала выпустить курс “Linux для начинающих”.

Немаловажная деталь, преподаватель — девушка, которая совсем недавно примкнула к проекту NetSkills. Чему же может научить девушка? Если вы заинтересовались, добро пожаловать под кат…Цель курса – изучить основы администрирования операционных систем Linux. Материал по большей части практический и содержит минимальное количество теории. Курс подойдет как для начинающих системных администраторов, которые занимаются настройкой серверов компании, так и для сетевых инженеров, т.к. бОльшая часть сетевого оборудования работает под управлением Linux (особенно если учитывать тенденцию импортозамещения), поэтому навыки работы с этой системой им однозначно не помешают. Да и вообще, каждый уважающий себя ИТ-шник просто обязан обладать базовыми навыками работы с Linux системами. Ценность такого сотрудника сразу вырастает.

Для тех, кому лень читать выкладываю первый видео урок:

Весь курс будет разделен на две части: базовый и расширенный курс. В базовом курсе мы рассмотрим основные понятия, научимся производить первоначальную настройку сервера, а также настроим шлюз доступа в Интернет. В расширенном курсе мы рассмотрим, как развернуть серверную инфраструктуру компании на основе Linux.

В план базового курса вошли следующие темы: 1.Цели изучения операционной системы Linux, ее основные преимущества. 2.Создание виртуальных машин. 3.Установка операционной системы CentOS. 4.Структура файловой системы Linux. 5.Основные команды, необходимые для работы в консоли Linux (cd, ls, man, grep, find, cp, mv, rm и т.д.). 6.Настройка сети в CentOS. Утилиты Putty, WinSCP. 7.Основы безопасности. Заведение новых пользователей в системе. 8.Установка пакетов. Пакетный менеджер. Репозитории. 9.Файловый менеджер mc, текстовый редактор nano и сетевые утилиты (ifconfig, nslookup, arp, telnet). 10.Настройка шлюза доступа в Интернет. Iptables. NAT. DHCP.

Итак, зачем изучать линукс и каковы его преимущества? Полагаю, стоит начать с определения. GNU/Linux – это семейство unix-подобных операционных систем, основанных на ядре Linux. ОС из этого семейства распространяются обычно бесплатно в виде так называемых дистрибутивов, содержащих помимо самой ОС еще и набор прикладного ПО (т.е. по сути сборка). Дистрибутивов Linux на сегодняшний день существует огромное количество, но почти все они являются потомками трех основных дистрибутивов: Debian, Slackware и Red Hat. Подробнее о GNU/Linux и дистрибутивах можно прочитать здесь и здесь.

Возможно, у кого-то возник вопрос: почему GNU/Linux, а не просто Linux. Все дело в том, что Linux – это всего лишь ядро, в то время как GNU/Linux – это операционная система. Однако, Linux’ом можно называть как ядро так и ОС – и так и так будет правильно.

Условно говоря, ОС состоит из двух частей: kernel space и user space. Kernel space это ядро, которое непосредственно взаимодействует с устройствами в системе, обслуживает их и производит настройку. В нашем случае – это ядро Linux, разработка которого началась в 1991 году Линусом Торвальдсом, являвшимся на тот момент студентом. Оно поддерживает многозадачность, динамические библиотеки, виртуальную память, отложенную загрузку, большинство сетевых протоколов и производительную систему управления памятью и распространяется по лицензии GNU GPL, т.е. свободно. Подробнее про само ядро и его «увлекательную» систему нумерации версий можно узнать здесь. Пользователи же работают в пространстве user space (пространстве приложений), а это в свою очередь файлы. Вообще говоря, все в Linux’е представлено файлами — настройки, сами приложения, даже процессы. Это очень удобно при настройке и когда пытаешься выяснить почему же все поломалось.

Дистрибутивы Linux распространяются в основном по лицензии GNU General Public License – лицензии на свободное программное обеспечение. Цель GNU GPL — предоставить пользователю права копировать, модифицировать и распространять (в том числе на коммерческой основе) программы, а также гарантировать, что и пользователи всех производных программ получат вышеперечисленные права.

Помимо выше указанных неоспоримых плюсов данной ОС, она обладает еще рядом особенностей: 1.Безопасность 2.Производительность 3.Надежность 4.Масштабируемость 5.Аппаратная совместимость 6.Не требуется импортозамещение 7.Зарплата Linux администраторов выше, чем у обычных администраторов

Благодаря выше перечисленным особенностям, Linux получил широкое распространение и используется во многих сферах: критические сервисы (скоростные поезда в Японии, CERN, системы контроля воздушного трафика), социальные сети, поисковые сервисы, а так же в мобильных телефонах, планшетах, ПК, банкоматах и автомобильной электронике.

Вообще говоря, на основе Linux можно сделать много чего, но мы остановимся на более повседневных вещах. Предположим, в некоторой компании, где работает большое количество пользователей, нужно развернуть серверную инфраструктуру, т.е. пользователям нужно дать доступ в Интернет, запретить в рабочее время сидеть в социальных сетях, организовать корпоративную почту, файловый сервер, и т.д. Что мы можем сделать на основе Linux? На самом деле очень даже многое.

Мы можем:1.Настроить программный маршрутизатор/ шлюз доступа в Интернет с функциями межсетевого экрана и DHCP сервера 2.Ограничить доступ пользователей к сети Интернет с помощью proxy сервера 3.Организовать почтовый сервер для корпоративной почты 4.Создать веб сервер для корпоративного сайта и внутренних веб ресурсов 6.Настроить первичный и вторичный DNS сервера 7.Развернуть файловый сервер 8.Собирать резервные копии с остальных серверов 9.Развернуть сервер логирования для сбора событий с других серверов

Такую схему мы и будем разворачивать в рамках данного курса.

Полагаю, на этом первый урок можно закончить.

habrahabr.ru

Ликбез по OS Linux для начинающих - Linux - это просто - Каталог статей

Linux это не операционная система, а только основа, ядро. На базе этой основы существует множество ответвлений и разновидностей, так называемые дистрибутивы. Дистрибутив переводится как доступный для распространения. Существует несколько основных дистрибутивов Debian, Red Hat, Gentoo, Slackware и множество других которые основываются на основные. Так скажем в основе Mandriva лежит Red Hat, а Mint на Ubuntu который в свою очередь базируется на Debian.

                                               Файловая система

   В отличие от Windows, которая предлагает отформатировать диск в NTFS или FAT32, а в последних версиях — только в NTFS, в Linux выбор гораздо больше. Современное ядро поддерживает следующие файловые системы, на которых можно установить Linux, — ext2, ext3, ext4, ReiserFS, XFS и JFS. А список всех файловых систем, разделы которых может монтировать Linux, еще больше, в том числе в этом списке находятся и файловые системы, считающиеся родными для других операционных систем, в частности Windows.

   Файловая система ext2 (сокр. Extended File System) долгое время была стандартной для Linux, ее характеризует высокая надежность и высокое быстродействие, которое, в свою очередь, достигается очень эффективным механизмом кэширования дисковых операций. По мере роста размеров раздела и количества файлов ext2 перестала удовлетворять современным требованиям по управлению такими большими объемами, устойчивости к сбоям и восстановлению после сбоя. Например, чтобы указать

   Файловая система ext3 Основной недостаток ext2 — долгое время проверки после сбоя — исправили в файловой системе ext3, которая является дальнейшим развитием ext2. Разработана ext3 в компании Red Hat доктором Стивеном Твиди. Чтобы не изобретать колесо, в данном случае поступили просто: добавили к стандартной ext2 журнал. Таким образом, основные характеристики ext2 и ext3 аналогичны, за исключением того, что ext3 является журналируемой файловой системой. Утилиты проверки файловой системы для ext2 поддерживают и ext3. К тому же идентичность файловых систем позволяет оперативно переходить как с ext2 на ext3, так и наоборот, просто изменив параметры монтирования.

   Файловая система ext4 Файловая система ехtЗ заслужила репутацию надежной, ей доверяют свои данные многие пользователи и корпорации. Но наиболее существенным ограничением является максимальный размер хранилища 16 Тбайт. Чтобы снять это ограничение, в середине 2006 г. была выпущена серия заплаток (patch), которые, в свою очередь, нарушали обратную совместимость. Поэтому было принято решение на основе заплаток создать новую файловую систему, которая получила название ext4.

             Системные каталоги

  Системные каталоги в Linux имеют иерархическое строение. Вершиной является безымянный каталог обозначающийся " / ", ниже располагаются каталоги:

  • root- каталог суперпользователя
  • boot- ядро системы
  • etc- (et cetera- прочие) содержит конфигурационные файлы
  • home- каталог пользователя
  • mnt- содержатся смонтированные устройства
  • proc- данные ядра
  • sys- оборудование
  • dev- (devices-устройства) каталог устройств
  • bin- (binares- двоичные файлы) находится информация командах Linux
  • sbin- исполняемые файлы, эквивалент \windows\system
  • lib- библиотеки
  • user- исполняемые файлы
  • tmp- временные файлы

   Для начинающих пользователей главным каталогом является home. Остальные можно просматривать но не трогать, пока не приобретете более полные знания об Ос Linux

                                                           Оконный менеджер 

   В отличие от Windows, в Linux пользователь не привязан к одному интерфейсу и может выбирать оконный менеджер (то есть рабочее окружение) в зависимости от личных предпочтений, наличия свободных системных ресурсов и настроения, а то и вовсе обойтись без графической среды. Это возможно потому, что графическая подсистема Х Window System, обеспечивающая все необходимые инструменты и протоколы, не интегрирована в ядро системы, а является отдельным (и необязательным) компонентом. Более того, Х Window обеспечивает лишь базовые функции графической среды, такие как отрисовка и перемещение окон на экране, взаимодействие с устройствами ввода, мышкой и клавиатурой. Некоторые дистрибутивы, к примеру Mandriva позволяют пользователю выбирать графическую среду на выбор. В других дистрибутивах графическую среду нужно выбирать заранее перед установкой. Например Ubuntu- gnome, Kubuntu- KDE, Xubuntu- Xfce.

Наиболее популярны KDE и Gnome но они требуют более производительного компьютера. Для старых и малопроизводительных лучше воспользоваться Xfce.

Разделы жесткого диска в Linux

   Что такое разделы? Жесткий диск можно разбить на несколько разделов. С каждым из них можно работать как с отдельным диском. Разделы в Windows обозначаются латинскими буквами. Так диск С является системным где устанавливается сама операционная система. Так как при переустановке ОС все данные на диске С уничтожаются, желательно создать еще один раздел где вы будете хранить свои данные. 

   Обозначение дисков в Linux  отличается от Windows. Так первый жесткий диск обозначается- hda, второй диск если он есть будет- hdb . Дисковод гибких дисков- fd0, второй дисковод будет- fd1. Разделы на первом жестком диске обозначаются hda1 (в windows он С), второй раздел на этом диске соответственно hda2 (в Windows он D). Если есть второй жесткий диск, а на нем скажем пара разделов то они будут обозначатся hdb1 и hdb2 (в Windows D, E). Жёсткие диски и флешеакопители представлены файлами в каталоге /dev.

   Для управлением, созданием, изменением разделов существуют специальные дисковые утилиты. Gparted, Partitionmanager.

   Обычно в linux диск делят на:

  •  /- (корень) раздел где разместится операционная система.
  • /Home- (домашний) раздел с домашними файлами, фильмами, документами и тд..
  • Swap- (подкачка) для быстродействии системы, обычно берется в два раза больше чем оперативная память, но не более 2 гб.

wine или windows программы в linux

   Все же количество и качество программ в linux меньше чем в Windows. Существует программа позволяющая работать с программами Windows не выходя из linux. Это программа Wine. Wine- это свободное программное обеспечение, позволяющее пользователям Linux запускать программы Windows. «Wine — не эмулятор» (имеется в виду, что Wine не является эмулятором компьютера, как, например, qemu или VirtualBox, Wine — это альтернативная реализация Windows API).   Проект был основан Бобом Амштадтом (Bob Amstadt) в 1993 году как средство запуска 16-битных приложений Windows 3.1 в системе Linux. С 1994 года лидером проекта стал Александр Жульярд (англ.). Изначально Wine был выпущен под лицензией MIT, но в марте 2002 года она была сменена на GNU LGPL.17 июня 2008 года, после 15 лет разработки, вышла версия Wine 1.0, первая, которую разработчики называют стабильной.16 июля 2010 года вышла следующая стабильная версия Wine под номером 1   Для своей работы Wine не требует наличия установленной ОС Windows, хотя и может использовать её библиотеки.Wine, безусловно, не является стабильным продуктом, и нельзя сказать, что любую программу для Windows удастся запустить с его помощью. Некоторые подсистемы Windows вообще практически не реализованы. Тем не менее, уже сейчас многие из повсеместно используемых Windows-приложений полноценно запускаются и работают в linux-подобных ОС при помощи Wine. Особенно это касается приложений, которые не используют недокументированные возможности Windows.

  Программа Wine создает привычный для Windiows диск С, Programm Files. Для просмотра созданной папки Windows надо во вкладке "вид" отметить "показывать скрытые файлы". Программы устанавливаются по умолчании в привычную папку Programm Files.

Установка Wine (на примере linux Mint)

  • Подключится к интернету
  • Меню
  • Менеджер пакетов
  • Межплатформенные
  • Wine
  • Отмечаем пакет для установки и запускаем процесс установки пакета.

Всё программа установлена, можно начинать работать с ней.

Настройка

Перед использованием Wine для запуска приложений нужно запустить программу настройки, которая создаст в вашей домашней директории каталог .wine с необходимыми для работы файлами. Для этого либо выберите пункт главного меню Приложения→Wine→Configure Wine, либо выполните в терминале команду winecfg

Работа с Wine (на примере Linux Mint)

  • Запустить установочный файл программы
  • При появлении ошибки
  • Правой кнопкой открываем свойство файла
  • Права
  • Поставить галочку в пункте "выполнение файла как программы"
  • Опять запустить установочный файл exe
  • При появлении виндоуского установщика, установить программу как в windows
  • После окончания установки переходим..
  • Меню
  • Wine
  • Запускаем нужную программу

http://freesource.info/wiki/WINE  русскоязычный сайт посвященный wine

Программы работающие в wine:

Компиляция программ

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

  • Для начала распакуем tar архив (или «тарбол»), одной из двух команд:tar xvzf foo1.2.3.tar.gztar xvjf foo1.2.3.tar.bz2Обычно исходники помещаются в каталог с тем же име нем, что и архив; зайди те в него командой cd foo1.2.3.
  • Находим файлы с названием README или INSTALL и читаем их. В нихобычно содержатся инструкции по установке.Типовая инструкция такова:
  • ./configure
  • make
  • su c "make install”

Первая команда проверяет систему, убеждается в наличии нужных зависимостей и настраивает всевозможные опции программы. Неплохо так же вначале запустить ./configure help, чтобы увидеть доступные опции.Вторая команда проводит компиляцию, помещая создаваемые файлы в текущий каталог.Что бы сконфигурировать или собрать программу, не обязательно иметь права root, но третий шаг – копирование собранных файлов в системныекаталоги, и тут эти права понадобятся, поэтому мы и прибегаем к su, что бы запустить из под root только одну эту команду. Пользователи Ubuntu должны заменить ее на sudo make install.Собранная программа, как правило, устанавливается в каталог /usr/local/bin. Если вы работаете в системе на базе RPM, и configure жалуется на отсутствующую библиотеку, а вы точно знаете, что она есть в системе – тогда установите соответствующий develпакет, например, libbardevel.

Что такое Live CD?

Live CD — операционная система, загружающаяся со сменного носителя (CD, DVD, USB-накопитель и т. д.), не требующая для своего функционирования установки на жёсткий диск.

Live CD позволяют быстро начать работу с компьютером, избегая длительного процесса установки ОС в постоянную память (винче́стер). Запуск Live CD занимает обычно несколько минут, в то время как первый запуск (установка) традиционных ОС зачастую требует от одного до нескольких часов.

Большинство используемых Live CD созданы на основе операционной системы GNU/Linux, существуют также Live CD на основе других операционных систем семейства Unix: FreeBSD, OpenBSD, NetBSD, OpenSolaris.

Чаще всего Live CD используются для ознакомления с возможностями операционных систем. Многие Live CD также предоставляют возможность установки на жёсткий диск. Таким образом, можно быстро запустить и попробовать в использовании ту или иную ОС, и, если система понравится, установить её.Другое применение Live CD — восстановление данных и/или работоспособности основной операционной системы после сбоя. Live CD позволяют работать с компьютером в тех случаях, когда основная операционная система не работоспособна.Другим преимуществом Live CD является удобство при перемещении. Например, вы можете взять Live CD с собой, если вам нужно некоторое время работать на чужом компьютере. Таким образом, вы можете на любом компьютере (имеющем CD-ROM) быстро получить доступ к привычной операционной системе и не бояться навредить чужой системе и чужим данным во время работы.Live CD можно применять на компьютерах, не имеющих жёсткого диска и на компьютерах, имеющих жёсткий диск очень небольшого объёма.

Поскольку запись информации на CD-диски невозможна, пользователи Live CD сталкиваются с проблемой хранения своих данных и настроек. Для этого приходится использовать различные дополнительные носители данных, например Flash-накопители или сетевые диски. Многие Live CD предоставляют специальные программы для организации хранения настроек и данных на подобных носителях. Также некоторые Live CD позволяют дописывать свои данные на тот же CD-диск с помощью так называемого мультисессионного режима записи. Один из таких дистрибутивов PuppyLinux.

Наибольшей известностью и популярностью пользуются Live CD на базе ОС GNU/Linux.Knoppix — первый Live CD (ныне DVD) дистрибутив GNU/Linux;Ubuntu — один из наиболее популярных дистрибутивов GNU/Linux не только среди Live CD, но и в целом;Fedora — популярный дистрибутив GNU/Linux, испытательный полигон Red Hat;Mandriva One — Live CD и установочный CD; выходит с каждой версией дистрибутива Mandriva Linux;Debian Live — Live CD на базе Debian GNU/Linux;Damn Small Linux — очень маленький Live CD на основе Debian;Slax — Live CD на базе Slackware;PuppyLinux — Live CD с возможностью сохранения пользовательских настроек.SystemRescueCD — Live CD для восстановления после сбоев;

                                                  

segelor.ucoz.ru

Linux для начинающих

 

Что такое Linux?

Коротко говоря, Linux - это операционная система. ОС Linux была создана в октябре 1991 г. студентом университета Хельсинки Линусом Торвальдсом (Linus Torvalds, название Linux образовано от словосочетания Linus's UNIX - "UNIX Линуса"). Сам по себе Linux - это ядро системы. В нем реализована поддержка многозадачности, многопользовательского режима, управления устройствами, памятью и выполнением приложений.

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

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

Самое главное, что должны знать начинающие программисты для Linux - это то, что нечетные номера версий (2.3, 2.5, 2.7 и т.д.) присваиваются экспериментальным ядрам, находящимся в разработке. Стабильные выпущенные ядра всегда имеют четные номера версий (2.4, 2.6, 2.8 и т.д.).

Типичный дистрибутив Linux включает не только ядро, но и множество прикладных программ и утилит. При этом большинство программ, как прикладных, так и системных, являются частью проекта GNU - фонда свободного программного обеспечения (Free Software Foundation). GNU - это рекурсивная аббревиатура, означающая "GNU's Not UNIX" (GNU - не UNIX).

Ядро Linux и приложения GNU распространяются под открытой лицензией GNU (General Public License - GPL). Лучший способ разобраться с GNU GPL - это прочитать условия лицензионного соглашения. Возможно, это будет чрезмерным упрощением, но основная идея GPL заключается в том, что пользователи кода, распространяемого под этой лицензией, могут с ним свободно экспериментировать.

  • Настоятельно рекомендуется прочитать интересный очерк История Linux (EN), написанный Ларсом Вирзениусом (Lars Wirzenius), работавшим вместе с Линусом Торвальдсом.
  • На сайте Linux Online представлены новости и материалы из независимых источников.
  • IBM LinuxLine - это выходящая раз в две недели новостная рассылка, в которой приводится сводная информация о важных тенденциях, рыночных и ситуационных исследованиях, а также инициативах IBM, имеющих отношение к Linux.

 

В чем различия между Linux и UNIX?

Linux - это не UNIX, хотя она создавалась в строгом соответствии принципам UNIX. IBM предоставляет продукты как для Linux, так и для UNIX (а также многих других платформ). Созданная в лаборатории Bell Labs компании AT&T в 1969 г. UNIX (название происходит от более ранней операционной системы Multics) представляет собой надежную, гибкую и дружественную к разработчикам вычислительную среду. Изначально она была разработана для семейства микрокомпьютеров PDP компании Digital Equipment Corporation (DEC), но со временем превратилась в наиболее популярную операционную систему общего назначения, которой нашлось применение во всех вычислительных задачах, включая те, для решения которых исторически использовались мэйнфреймы.

IBM выпускает версии продуктов для Linux, UNIX и множества других систем.

  • На странице Продукты IBM приведены ссылки на аппаратное и программное обеспечение, услуги по поддержке, консалтингу и многое другое.
  • Просмотр основного сайта IBM удобно начать с главной страницы.

Спустя 20 с лишним лет с момента появления UNIX ее постепенно начала вытеснять из некоторых областей применения операционная система Linux. Linux - это не UNIX, она лишь очень на нее похожа. Для ряда задач лучше подходит Linux, для других же по-прежнему предпочтительнее UNIX. Между Linux и UNIX поддерживается хорошая совместимость, поэтому приложения, написанные по определенным принципам, достаточно легко переносить с одной системы на другу. Обратитесь по ссылкам, приведенным ниже, за более подробной информацией о месте UNIX в ряду продуктов и услуг IBM.

 

Зачем следует изучать Linux?

Будучи свободным программным обеспечением, выпускаемым под лицензией GNU GPL, Linux избавляет разработчиков от дублирования функциональности в каждом новом проекте. Образно выражаясь, семейство приложений GNU представляет собой бесплатный строительный материал, из которого можно создавать независимые проекты. Критики свободного программного обеспечения часто заявляют, что низкие начальные затраты на свободное ПО могут обернуться экономической катастрофой для ИТ-индустрии. Однако есть и другая, не менее, а возможно, и более вероятная гипотеза, заключающаяся в том, что свободное ПО сыграет в ИТ такую же роль, какую первый печатный станок Гутенберга сыграл в книгопечатании.

 

Чем Linux может быть мне полезен?

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

Linux - это идеальная платформа для изучения программирования под Linux, экспериментирования с ядром и даже для разработки под UNIX. Кроме того, для нее существует множество приложений, в том числе игр, клиентов электронной почты, Web-браузеров, настольных издательских систем и т.д.

Благодаря своей гибкости и конфигурируемости Linux также является превосходной платформой для профессионального программного обеспечения - как свободного, так и закрытого. Она пользуется широкой популярностью во многих областях, от серверов связующего уровня и встроенного программного обеспечения до кластеров, суперкомпьютеров и портативных устройств. IBM участвовала в проектах по созданию контрольно-кассовых аппаратов и даже наручных часов, работающих под управлением Linux. Другие компании использовали Linux на таких устройствах, как мобильные телефоны, Sony PlayStation, TiVo и Sharp Zaurus.

По условиям GNU GPL все изменения в исходном коде приложения должны быть открыты для его пользователей. Однако это не означает, что модифицированный код должен быть доступен для общего пользования (именно этот важный нюанс часто упускают критики свободного программного обеспечения). Например, в случае контрольно-кассовых аппаратов на базе Linux было бы небезопасно открывать код для всех заинтересованных лиц. Вместо этого лицензия GNU GPL лишь требует, чтобы изменения были предоставлены пользователям данного программного обеспечения.

  • Раздел Linux на сайте developerWorks - это незаменимый источник руководств и статей, охватывающих все аспекты работы с Linux, от основ системы до тонкостей разработки и развертывания приложений.
  • Прочитайте о Linux в наручных часах (EN) - успешном экспериментальном проекте IBM Research, получившем широкую известность.
  • Ознакомьтесь с проектом IBM по созданию интеллектуального торгового автомата (EN).
  • Посетите страницу Linux в IBM, на которой описываются решения на базе Linux и проекты по предоставлению вычислительных ресурсов по требованию (on-demand computing).
  • Подразделение IBM Global Services предлагает весь спектр услуг по поддержке и консалтингу, начиная от внедрения новых систем до миграции и обновления существующих решений. Посетите страницу услуг для пользователей Linux (EN) для получения информации о деятельности IGS в сфере Linux.

 

Как начать работать с Linux?

Если вы ранее не работали с Linux или использовали ее только в качестве настольной операционной системы, вам следует ознакомиться хотя бы с основами системного администрирования и обеспечения безопасности. В отличие от коммерческих операционных систем, которые стараются автоматизировать эти действия, Linux не обещает защиту от возможных необдуманных действий, а также приведение системы в порядок после вашей работы; вам придется позаботиться об этом самому. К счастью, основные действия по администрированию и обеспечению безопасности довольно просты. Во многом администрирование современных систем семейств Linux и UNIX значительно проще, чем администрирование популярных коммерческих настольных операционных систем благодаря своей прозрачности.

Несмотря на то, что для Linux существует несколько графических сред, поддерживающих функции администрирования, проще всего управлять системой из командной строки. При работе с командной строкой вы получаете в свое распоряжение десятки полезных команд и несколько систем текстовой документации.

Существует немало электронных и печатных ресурсов для тех, кто делает первые шаги в мире Linux. Вы можете обращаться к Web-сайтам, статьям, книгам, группам пользователей Linux (Linux User Group - LUG), которые собираются вместе в разных городах и странах и при этом отличаются исключительной доброжелательностью по отношению к новым пользователям Linux.

 

Как использовать Linux в процессе разработки приложений?

Linux - это превосходная платформа для программирования. Она соответствует стандартам GCC, поэтому вы можете загрузить весь набор средств проекта GNU для программирования и отладки и использовать их по вашему усмотрению в пределах условий лицензии GNU GPL. В свою очередь, коммерческие средства разработки, подобно закрытым операционным системам, могут обойтись в немалую сумму. Хотя они действительно могут быть необходимы в отдельных проектах, где их приобретение обосновано, они не способны заменить бесплатное программное обеспечение для начинающих, а также многих профессионалов. Если вы рассчитываете использовать Linux в качестве платформы для создания приложений, не забудьте предварительно разобраться с администрированием и системой безопасности. Разработчик, не знающий тонкостей работы с собственным компьютером - это абсурд.

Соответствие стандартам - неотъемлемое качество Linux. Разработчики этой системы уделяют особое внимание тому, чтобы функциональный и базирующиеся на нем слои системы оставались открытыми, поддерживали взаимодействие с приложениями и удовлетворяли стандартам.

  • Организация Linux Standard Base (LSB) предоставляет спецификации и программы сертификации, ориентированные на Linux. LSB является рабочей группой вконсорциуме открытых стандартов (Free Standards Group - FSB).
  • Организация The Open Group, которую часто ассоциируют с UNIX, - это независимый от компаний-поставщиков и технологий консорциум, задачей которого является безопасное и надежное взаимодействие в мире вычислительных технологий.
  • Комитет по стандартам для переносимых приложений IEEE (Portable Application Standards Committee - PASC) отвечает за UNIX-стандарты семейства POSIX.
  • Документы серии "Request for Comments" (EN) (запросы комментариев - RFC) представляют собой технические и организационные замечания по вопросам, касающимся сети Интернет. Процесс их публикации, осуществляемый секретариатом IETF, играет важную роль в стандартизации Интернета.

 

Какие языки программирования можно использовать в Linux?

В дополнение к таким бессмертным гигантам, как Fortran и C/C++, существует множество скриптовых и других языков программирования, для которых Linux является родной или наиболее подходящей операционной системой. Наиболее популярными из них являются Perl, Python, PHP и Tcl.

Динамично развивающиеся новые языки и технологии, такие как Java и XML, прекрасно совместимы с Linux. То же относится и к менее широко распространенным языкам, в том числе Logo, Rebol, Smalltalk и многим другим.

 

Как развивать навыки работы с Linux?

Если вы планируете использовать Linux в качестве платформы для сложного приложения или программного комплекса, то вас заинтересуют такие аспекты, как редактирование ядра, различия между файловыми системами и другие подробности работы системы.

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

Подразделение IBM Learning Services предлагает обучающие курсы, охватывающие широкий круг вопросов, начиная от основ Linux и заканчивая самыми специализированными аспектами, а также программы сертификации (о последних речь пойдет ниже). На сайте IBM Developer Solutions представлены статьи и путеводители по продуктам IBM, а на главном сайте IBM можно найти множество материалов по программному обеспечению, большая часть которого работает в Linux. Наконец, на сайте IBM developerWorks содержатся статьи, руководства и другие материалы по Linux и ряду других открытых и бесплатных технологий, в том числе XML, Web-сервисы, Java, вычислительным сетям и беспроводным устройствам.

  • Лучшим источником образовательных материалов по Linux является раздел Linux на сайте developerWorks, на котором можно найти сотни статей и руководств (EN) для разработчиков любого уровня.
  • Технические мероприятия и Web-трансляции IBM developerWorks (EN) - это отличный способ получения информации о технологиях IBM.
  • ITSO (международная организация технической поддержки) занимается не только изданием книг IBM Redbook (EN), но и организацией семинаров (EN) по всему миру.
  • Сайт IBM developerWorks поможет вам отслеживать события и изменения в мире технологических решений, даже если у вас нет времени на образовательные курсы.

 

Как подтвердить свои навыки работы с Linux?

Для сертификации специалистов в Linux существуют программы консорциума, независимые тесты, а также экзамены, спонсируемые отдельными компаниями. Сайт IBM developerWorks и подразделение IBM Training предлагают ряд образовательных программ для получения необходимых для аттестации навыков.

  • Некоммерческая организация Linux Professional Institute (LPI) предлагает три степени сертификации для системных администраторов. Для получения сертификата первой степени необходимо сдать экзамены LPIC-1 (101 и 102), а второй степени - экзамены LPIC-2 (201 и 202). Для сертификата третьей степени обязательно иметь действительный сертификат второй степени, а также успешно сдать базовый экзамен 301 (LPIC-3). Для аттестации старшего уровня могут также потребоваться дополнительные специализированные экзамены.
  • Перед тем как сдавать сертификационные экзамены LPI рекомендуется изучитьобширную коллекцию пособий по сдаче тестов (EN) на сайте developerWorks.

 

Какие продукты IBM имеют версии для Linux?

Linux отлично подходит для работы стандартных программ, начиная от офисных приложений, таких как текстовые процессоры и электронные таблицы, до систем управления базами данных, средств публикации в Интернете и серверов. Такие продукты IBM, как DB2, Lotus, Tivoli и WebSphere, способны работать в Linux, причем IBM - далеко не единственная передовая компания-разработчик, считающая, что Linux - превосходная платформа для связующего программного обеспечения. Несмотря на недопонимание и злословие, особенно со стороны самопровозглашенной киберэлиты, связующее ПО - это одна из важнейших, а для многих пользователей - важнейшая причина, по которой им необходимы компьютеры. Открытость Linux позволяет компаниям-разработчикам связующего ПО тонко настраивать свои решения для удовлетворения запросов пользователей в степени, недостижимой в случае закрытых систем.

  • Поддержка Linux со стороны IBM исчисляется миллиардами долларов и широко известна. В свою очередь поддержка разработчиков для Linux облегчает задачу создания приложений для этой системы. Вне зависимости от того, занимаетесь вы рутинной работой или инновационным проектом, ознакомьтесь с перечнем связующего программного обеспечения IBM для Linux (EN) и другими материалами сайта Linux в IBM.
  • Вы можете загрузить ознакомительные версии программного обеспечения для Linuxнепосредственно с сайта developerWorks.
  • Обратите внимание на Rational - многофункциональный пакет продуктов под Linux для поддержки всех стадий жизненного цикла проектов по создания программного обеспечения. Решения Rational используют Eclipse в качестве инструментальной платформы и могут применяться компаниями-разработчиками для повышения качества и сокращения временных затрат при создании приложений.
  • На Web-сайте DB2 для Linux (EN) содержатся информация, программное обеспечение и ссылки на материалы о флагмане линейки решений IBM для управления базами данных в Linux.
  • В разделе WebSphere (EN) вы найдете ответы на все ваши вопросы об этом сервере приложений и связующей инфраструктуре.
  • Программное обеспечение Lotus, известное в основном благодаря поддержке коллективной работы и обмена сообщениями, включает интегрированные решения для сетевых конференций, онлайнового обучения, управления знаниями и многое другое.
  • Технологии Tivoli расширяют функции системного администрирования и помогают интегрировать компьютеры под управлением Linux с другими компонентами IT-инфраструктуры.

 

Каковы перспективы Linux?

Благодаря своей открытости и гибкости Linux получила широкое распространение в лабораториях и других исследовательских организациях, разрабатывающих самые передовые технологические решения. В IBM исследования ведутся во всех областях информационных технологий, начиная от физических аспектов до когнитивных наук и инновационных подходов к созданию приложений. При этом ученые в IBM также занимаются фундаментальными исследованиями. Во всех этих областях часто используется Linux.

Компьютеры под управлением Linux можно легко объединять в кластеры для проведения беспрецедентных экспериментов, создания прототипов, моделирования и тестирования. Более того, аналогичным образом можно использовать широкий спектр бесплатного программного обеспечения, созданного для Linux. Потенциал и возможности современных вычислительных ресурсов в значительной степени остаются неисчерпанными, несмотря на такие захватывающие инновационные технологии, как вычислительные сети, беспроводные приложения с голосовым управлением, искусственный интеллект и квантовые вычисления. Надежность, открытость и гибкость Linux - залог того, что эта система будет и впредь занимать передовые позиции в области создания новых технологий.

ikt.gymn11.ru

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

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

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

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

Итак...

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

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

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

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

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

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

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

Ubuntu

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

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

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

Скачать Ubuntu

Mint

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

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

Скачать Mint

OpenSuSe

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

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

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

Скачать OpenSuSe

Fedora

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

Скачать Fedora

Mageia

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

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

Скачать Mageia

Debian

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

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

Скачать Debian

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

Gentoo

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

Slackware

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

Archlinux

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

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

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

Вторая и третья часть руководства.

ubuntovod.ru

10 лучших видеокурсов для изучения Linux

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

1. Linux для начинающих

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

Посмотреть весь плейлист

2. Серия уроков «Научись Линукс»

Данный видеокурс предназначен для начала работы с Линукс. Поможет в установке данной системы на ваш ПК. Аудитория данного видеокурса — это люди, которые немного, но слышали про Линукс.

Посмотреть весь плейлист

3. Курс лекций по администрированию Линукс

Подробный видеокурс по администрированию Линукс. Он рассматривает разные вопросы: от предназначения данной системы до администрирования MySQL. Подходит как новичкам, так и уже опытным пользователям Линукс.

Посмотреть весь плейлист

4. Программирование на Bash

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

Посмотреть весь плейлист

5. Администрирование Линукс

Данный курс обеспечит вас базовыми знаниями Линукс и поможет получить сертификат LPIC-1. Если вы хотите подкрепить свои знания сертификатом LPIC-1, то этот курс точно для вас.

Посмотреть весь плейлист

6. Основы Линукс

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

Посмотреть весь плейлист

7. Основы работы с командной строкой

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

Посмотреть весь плейлист

8. Видеокурс по GNU/Linux Владимира Моженкова

Видеокурс по основам работы с GNU/Linux, простой и понятный. Данный видеокурс нацелен как на новичков, так и на опытных пользователей Линукс.

Посмотреть весь плейлист

9. Серия уроков «Ваш путь в мир Линукс!»

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

Посмотреть весь плейлист

10. Администрирование Linux

Последним в нашем списке идет видеокурс, в котором подробно рассказываются все аспекты работы с Линукс. Данный видеокурс расширит знания опытных пользователей, курс рассчитан на тех, кто уже как-то знаком с Линукс, но хочет знать о нём больше.

Посмотреть весь плейлист

proglib.io

Осваиваем 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, будем рады увидеть ссылки на них в комментариях.

habrahabr.ru

Основы BASH | Самоучитель LINUX

.

Цель  статьи — познакомить поближе  с bash, рассказать про синтаксис, основные приемы и фишки языка, для того чтобы даже обычный пользователь смог быстренько написать простой скрипт для выполнения ежедневной (-недельной, -месячной) рутинной работы или, скажем, «на коленке» наваять скриптик для бэкапа директории.

Введение

BASH — Bourne-Again SHell (что может переводится как «перерожденный шел», или «Снова шел Борна(создатель sh)»), самый популярный командный интерпретатор в юниксоподобных системах, в особенности в GNU/Linux. Ниже приведу ряд встроенных команд, которые мы будем использовать для создания своих скриптов.

break выход из цикла for, while или untilcontinue выполнение следующей итерации цикла for, while или untilecho вывод аргументов, разделенных пробелами, на стандартное устройство выводаexit выход из оболочкиexport отмечает аргументы как переменные для передачи в дочерние процессы в средеhash запоминает полные имена путей команд, указанных в качестве аргументов, чтобы не искать их при следующем обращенииkill посылает сигнал завершения процессуpwd выводит текущий рабочий каталогread читает строку из ввода оболочки и использует ее для присвоения значений указанным переменным.\return заставляет функцию оболочки выйти с указанным значениемshift перемещает позиционные параметры налевоtest вычисляет условное выражениеtimes выводит имя пользователя и системное время, использованное оболочкой и ее потомкамиtrap указывает команды, которые должны выполняться при получении оболочкой сигналаunset вызывает уничтожение переменных оболочкиwait ждет выхода из дочернего процесса и сообщает выходное состояние.

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

Что необходимо знать с самого начала

1. Любой bash-скрипт должен начинаться со строки:

#!/bin/bash

в этой строке после #! указывается путь к bash-интерпретатору, поэтому если он у вас установлен в другом месте(где, вы можете узнать набрав whereis bash) поменяйте её на ваш путь.

2. Коментарии начинаются с символа # (кроме первой строки).3. В bash переменные не имеют типа(о них речь пойдет ниже)

Переменные и параметры скрипта

Приведу как пример небольшой пример, который мы разберем:

#!/bin/bash #указываем где у нас хранится bash-интерпретатор parametr1=$1 #присваиваем переменной parametr1 значение первого параметра скрипта script_name=$0 #присваиваем переменной script_name значение имени скрипта echo "Вы запустили скрипт с именем $script_name и параметром $parametr1" # команда echo выводит определенную строку, обращение к переменным осуществляется через $имя_переменной. echo `Вы запустили скрипт с именем $script_name и параметром $parametr1` # здесь мы видим другие кавычки, разница в том, что в одинарных кавычках не происходит подстановки переменных. exit 0 #Выход с кодом 0 (удачное завершение работы скрипта)

Результат выполнения скрипта:

[email protected]:~$ ./test.sh qwerty

Вы запустили скрипт с именем ./test.sh и параметром qwertyВы запустили скрипт с именем $script_name и параметром $parametr1

После того как мы познакомились как использовать переменные и передавать скрипту параметры, время познакомиться с зарезервированными переменными:

$DIRSTACK — содержимое вершины стека каталогов$EDITOR — текстовый редактор по умолчанию$EUID — Эффективный UID. Если вы использовали программу su для выполнения команд от другого пользователя, то эта переменная содержит UID этого пользователя, в то время как…$UID — …содержит реальный идентификатор, который устанавливается только при логине.$FUNCNAME — имя текущей функции в скрипте.$GROUPS — массив групп к которым принадлежит текущий пользователь$HOME — домашний каталог пользователя$HOSTNAME — ваш hostname$HOSTTYPE — архитектура машины.$LC_CTYPE — внутренняя переменная, котороя определяет кодировку символов$OLDPWD — прежний рабочий каталог$OSTYPE — тип ОС$PATH — путь поиска программ$PPID — идентификатор родительского процесса$SECONDS — время работы скрипта(в сек.)$# — общее количество параметров переданных скрипту$* — все аргументы переданыне скрипту(выводятся в строку)[email protected] — тоже самое, что и предыдущий, но параметры выводятся в столбик$! — PID последнего запущенного в фоне процесса$$ — PID самого скрипта

Условия

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

#!/bin/bash source=$1 #в переменную source засовываем первый параметр скрипта dest=$2 #в переменную dest засовываем второй параметр скрипта if [[ "$source" -eq "$dest" ]] # в ковычках указываем имена переменных для сравнения. -eq - логическое сравнение обозначающие "равны" then # если они действительно равны, то echo "Применик $dest и источник $source один и тот же файл!" #выводим сообщение об ошибке, т.к. $source и $dest у нас равны exit 1 # выходим с ошибкой (1 - код ошибки) else # если же они не равны cp $source $dest # то выполняем команду cp: копируем источник в приемник echo "Удачное копирование!" fi #обозначаем окончание условия.

Результат выполнения скрипта:

[email protected]:~$ ./primer2.sh 1 1 Применик 1 и источник 1 один и тот же файл! [email protected]:~$ ./primer2.sh 1 2 Удачное копирование!

Таким образом оператогр условия имеют следующий вид:if [[ «что-то» <оператор логического сравнения «с чем-то»]]thenкакое-то действие, если сравнение выполнено успешноelseдействие если сравнение выполнено не успешноfiВ некоторых случаях оператор else может быть опущен.

Условия. Множественный выбор

Если необходимо сравнивать какоую-то одну переменную с большим количеством параметров, то целесообразней использовать оператор case.

#!/bin/bash echo "Выберите редатор для запуска:" echo "1 Запуск программы nano" echo "2 Запуск программы vi" echo "3 Запуск программы emacs" echo "4 Выход" read doing #здесь мы читаем в переменную $doing со стандартного ввода case $doing in 1) /usr/bin/nano # если $doing содержит 1, то запустить nano ;; 2) /usr/bin/vi # если $doing содержит 2, то запустить vi ;; 3) /usr/bin/emacs # если $doing содержит 3, то запустить emacs ;; 4) exit 0 ;; *) #если введено с клавиатуры то, что в case не описывается, выполнять следующее: echo "Введено неправильное действие" esac #окончание оператора case.

Результат работы:

[email protected]:~$ ./menu2.sh Выберите редатор для запуска: 1 Запуск программы nano 2 Запуск программы vi 3 Запуск программы emacs 4 Выход

После выбор цифры и нажатия Enter запуститься тот редактор, который вы выбрали(если конечно все пути указаны правильно, и у вас установлены эти редакторы 🙂 )Прведу список логических операторв, которые используются для конструкции if-then-else-fi:

-z # строка пуста-n # строка не пуста=, (==) # строки равны!= # строки неравны-eq # равно-ne # неравно-lt,(< ) # меньше-le,(<=) # меньше или равно-gt,(>) #больше-ge,(>=) #больше или равно! #отрицание логического выражения-a,(&&) #логическое «И»-o,(//) # логическое «ИЛИ»

С основами языка и условиями мы разобрались,

https://studylinux.ru/osnovy-bash.html2016-01-12T09:50:59+00:00adminC чего начать?ЛитератураОбзорыРуководстваСправочники командСтатьиbash,Linux,программирование,Программы,Руководства,скрипты,Справочник команд

  Цель  статьи - познакомить поближе  с bash, рассказать про синтаксис, основные приемы и фишки языка, для того чтобы даже обычный пользователь смог быстренько написать простой скрипт для выполнения ежедневной (-недельной, -месячной) рутинной работы или, скажем, 'на коленке' наваять скриптик для бэкапа директории. Введение BASH - Bourne-Again SHell (что может переводится как...

[email protected]Самоучитель LINUX

studylinux.ru


Смотрите также