Начало работы с линукс. Всё есть файл

15.04.2019 Проблемы

Что такое Ubuntu ? Ubuntu - это современная полнофункциональная операционная система, основанная на ядре Linux. В переводе с южноафриканского языка зулу слово Ubuntu примерно означает «человечность».

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

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

О ресурсе

Цель этого ресурса - помочь новичкам установить Ubuntu на свой компьютер и освоиться в этой системе. Скажу сразу, все статьи написаны исходя из предположения, что читатель немного разбирается в компьютерах и сможет отличить файл от папки. Хотя никаких специфических знаний вам не потребуется - лишь общая компьютерная грамотность.

Этот ресурс представляет собой руководство для новичков, поэтому если вы ещё не работали в Ubuntu, рекомендую вам прочитать все статьи по порядку. Если же вы уже что-то знаете про Ubuntu и про Linux в общем, возможно что-то покажется вам знакомым. В этом случае можете читать статьи по своему усмотрению, для навигации используйте меню справа. Кстати, если вам неудобно читать руководство в интернете, вы можете загрузить PDF-версию .

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

Небольшая аннотация

Что же вы сможете узнать из этого руководства? Ну во-первых я расскажу, как поставить Ubuntu на ваш компьютер - единственной операционной системой или же рядом с Windows. Далее я немного коснусь пользовательского интерфейса и основных элементов управления системой. А затем постараюсь последовательно рассказать про все необходимые основы использования Ubuntu. Кстати, во многих статьях присутствует достаточно много сносок . В них содержится дополнительная информация или же просто различные комментарии к основному содержимому. Вы вполне можете пропускать их при прочтении. Они не нужны для понимания основного материала руководства, но зачастую полезны в качестве разъяснения некоторых специфических вопросов, которые вполне могут у вас возникнуть.

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

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

В руководстве описывается версия Ubuntu с долгосрочной поддержкой - Ubuntu 10.04 LTS «Lucid Lynx» .

Современные версии Ubuntu сильно отличаются от «Lucid Lynx» пользовательским интерфейсом и предустановленными программами, так что для них это руководство практически не актуально.

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

Операционная система Linux является достойным аналогом Windows. Если Вы до этого не работали в ее среде, то следует учесть несколько нюансов, свойственных только ей.
Во время выполнения процедуры регистрации в операционной системе Linux, она автоматически производит следующие операции:
начинается процесс стандартно с проверки логина пользователя и пароля;
затем определяется вся палитра набора, состоящего из переменных окружения;
завершает этот процесс запуск интерпретатора команд. Именно он и именуется оболочкой операционной системы.
Основная масса дистрибутивов Linux по умолчанию использует два типа оболочек:
sh;
bash.
На самом деле палитра оболочек намного шире, но используются они гораздо реже, чем описанные выше. Сменить установленную по умолчанию не сложно, а можно и просто запускать ее с помощью командной строки.
Команда в операционной системе Linux является строкой символов. Она состоит из имени команды и необходимых аргументов, которые разделяются пробелами. Аргументы позволяют команде использовать добавочные параметры, диктующие характер ее поведения. Для примера приведем стандартную команду:
echo 12345
На экране возникнет цепочка символов 12345, которые являются аргументом данной команды.
Команды, которые входят в состав собственно оболочки, определяются как встроенные. Они бывают:
общие;
специфические.
Общие свойственны любой . Специфические не будут работать в рамках не родной ОС.
Существует целый спектр команд, не зависящих от действующей оболочки. Они реализуются в виде отдельных программных модулей, которые стандартны только для выбранного вами дистрибутива Linux. Аргументами могут служить также опции или ключи. Данные строки символов состоят из тире и одного или нескольких символов. В качестве примера можно привести следующую:
ls -l
Ключи позволяют объединять различные аргументы. В итоге вы получите идентичные команды:
ls -l -d
ls -ld
Работа в командной строке Linux требует неукоснительного соблюдения ряда правил, которые актуальны лишь в информационной среде этой операционной системы:
строчные и заглавные буквы для Linux - это разные символы. В Windows каталог TEMP и каталог Temp – то же самое, в Linux – нет. Это правила справедливо для всего: команд, их ключей, имен пользователей, паролей и т.п. Консольные команды:
ps -a
и
ps -A
выдадут вам разные результаты;
введя в командной строке ключ –help Вы сможете получить справку по большинству команд:
1. ps –help: выдаст вам справку по команде ps, именно она владеет полной информацией и работает с полным списком запущенных Вами процессов;
2. встроенная система для получения справок man – предоставит дополнительную справку;
3. man ps - выведет на экране полную по команде ps;
не забывайте, что результат отдельных программ напрямую зависит от ваших прав в рамках ОС. Команда su ответственна в операционной системе прав root используйте. Она отвечает за смену пользователя в текущем сеансе работы с ОС. Если пользователь не задан, то автоматом выбирается root.
Для всех пользователей ОС Linux большую помощь окажет файловый менеджер mc. Это аналог FAR или Norton Commander. В настоящее время этот полезный модуль есть во всех дистрибутивах Linux. Есть одно но: установка его по умолчанию есть не везде. Он поможет Вам решить многие периодически возникающие проблемы.
Вывод информации на экран в ОС Linux, также имеет свои особенности. Рассмотрим основные:
если текст ушел за пределы экрана, то исправить положение легко с помощью комбинации клавиш SHIFT и PAGE UP или PAGE DOWN;
если требуется приостановить вывод информации на экран – CTRL-S;
если требуется приостановки отмена – CTRL-Q;
если Вам требуется вывести большой объем текста в постраничном режиме, то используйте команду less, которую добавляют к основной командой:
у нас в наличие текстовый файл mytxt размером на 12 экранов. Для стандартного вывода текста на экран можно воспользоваться командой cat < имя файла>
cat mytxt
После выполнения этой команды вы увидите быстро промелькнувший текст и
последний (двенадцатый) экран вывода. Можно применить комбинации клавиш
SHIFT-PAGEDOUN или SHIFT-PAGEUP для просмотра текста, но можно
воспользоваться и less. Получим цепочку:
cat mytxt | less
Символ | означает объединение в цепочку выполнения команды выдачи текста cat и команды управления постраничным выводом less. После отображения на экране первой страницы текста, вывод будет приостановлен до нажатия PAGE DOWN или ENTER. Последняя комбинация приведет к постраничному перемещению;
клавиша Q Для отвечает за завершение постраничного вывода.
Linux позволяет формировать цепочки из нескольких команд. Если нужно вывести на экран в постраничном режиме все строки, содержащие слово mail. Для поиска можно воспользоваться командой
grep <строка поиска>
Получим союз из трех команд:
cat mytxt | grep mail | less
Многие дистрибутивы ОС Linux позволяют вместо less применять more.
Если Вам необходимо использовать одновременно несколько дистрибутивов, то существуют закрепленные для переключения комбинации клавиш: CTRL - ALT - F1...F6. Чтобы перейти в графическую оболочку смело жмите CTRL-ALT-F7.
Если требуется запустить второй графический сервер в ОС Linux на одном компьютере примените команду startx 1 -- :1.
За переход во второй графический терминал отвечает комбинация Alt+F8., а Alt+F7 возвращает в первый. Linux позволяет работать за раз с до 64 графических терминалов (startx 2 -- :2 и т. д.).
exit завершенит текущий сеанс работы с терминалом.
Linux позволяет создать специальный журнал текущей консольной сессии. В нем отпечатается все, что Вы вводили в рамках отдельной сессии. Вы сможете проверить, что вводилось посредством клавиатуры и что отображалось в итоге на экране .
Используется следующую команду:
script < имя файла журнала >
exit прекратит запись в журнале.
Если Вам необходимо выключить или перезагрузить Ваш компьютер в ОС Linux, то сделать эту процедуру можно по-разному:
shutdown: она может похвалиться широкой палитрой опций, что позволяет Вам сделать:
1. быструю перезагрузку без проверки файловой системы;
2. процедуру перезагрузки в требуемое время;
3. имитировать и отменять уже запущенный или ранее отложенный процесс перезагрузки;
shutdown --help выведет весь список возможностей;
restart приведет к перезагрузке ОС сразу же:
shutdown -r now;
halt – выключение питания:
shutdown -h now.
Для основной массы дистрибутивов существует целый ряд короткие команды:
reboot – перезагрузка;
halt – выключение;
init – изменяет текущий уровень запуска ОС командой, отвечающей за запуск и завершение процессов в Linux; для тех же целей разработаны и специальные скрипты. Они хранятся в /etc/inittab. Уровень 0 – обеспечит выключение, а уровень 6 – перезагрузку. Соответственно:
для выключения:
init 0;
для перезагрузки:
init 6;
init используется и для изменения уровня запуска ОС. Рассмотрим уровни более детально:
1 – однопользовательский режим. Доступ разрешен пользователю root;
2 –многопользовательский режим без поддержки сетевых функций;
3 – с поддержкой сети;
4 – зарезервировано;
5 – с использованием графической оболочки.
init 3 позволит завершить действие графической оболочки. В итоге она закроется и система перейдет на уровень запуска 3. Для возврата нужно ввести:
init 5
По умолчанию уровень запуска определяется initdefault из /etc/inittab. Для запуска системы в случае необходимости поддержки графической оболочки применяйте команду:
id:5:initdefault:
Если 5 заменить на 3, то графическая оболочка при старте системы не запустится. Никогда не устанавливайте уровень запуска системы по умолчанию со значениями от 0 до 6.
В ОС Linux доступен просмотр списка задач с помощью команды ps. Без уточняющих параметров она отобразит список процессов, запущенных во время текущего сеанса работы. ps --help стандартно выдаст полный список опций.
Пример:
Cписок всех процессов, запущенных в системе:
ps -A - выдаст список процессов с идентификаторами (PID) и их именами
или:
ps -ax - выдаст тот же список процессов, но с полной строкой запуска
список задач, порожденных пользователем user:
ps -U user
список задач, связанных с текущим терминалом:
ps T
список задач, связанных с терминалом N:
ps t ttyN
Если список задач большой, а нас интересует состояние одной или нескольких задач, можно воспользоваться grep:
ps -U root | grep ppp - выдать список задач, содержащих "ppp" в имени
top отображает на экране данные об использовании ресурсов компьютера.


Верхняя часть окна сообщит Вам итоговые данные о состоянии системы:
текущее время;
время с момента загрузки системы;
число пользователей в системе;
число процессов в условиях разных состояниях;
данные об использовании памяти и процессора.
Ниже выводится таблица, характеризующая отдельные процессы. Число строк, отображаемых в этой таблице, определяется размером окна. Содержимое окна обновляется каждые 3 секунды. Нажатие клавиши h выводит справку по командам, которые позволяют изменить формат отображаемых данных и управлять некоторыми параметрами процессов в системе:
s или d - изменить интервалл обновления окна.
z - цветное/черно-белое отображение
n или # - количество отображаемых процессов
Можно отсортировать список процессов по использованию процессора (P), памяти (M), времени выполнения (T) и т.п.
Однако, есть и более полезные команды, которые позволяют управлять процессами в интерактивном режиме:
k - снять (kill) задачу. По этой команде будет запрошен идентификатор процесса (PID), после ввода которого, процесс будет завершен.
r - изменить текущий приоритет задачи (renice). Как и при выполнении предыдущей команды, будет запрошен PID, и затем, новое значение приоритета (отображается в колонке NI). Диапазон значений приоритетов - от минус 20 (наивысший) до плюс 19. Отрицательные значения и 0 может устанавливать только пользователь root.
Для выхода из top нажмите q
Команда kill
Принудительное завершение процесса и изменение его приоритета можно выполнить и без команды top.
Процессы в Linux позволяют обмениваться "сигналами" с ядром и другими процессами. При получении сигнала процессом, управление запускает подпрограмму для его обработки. Если ее нет, то или ядру. Linux оперирует специальной командой kill. Именно она делает возможной опцию послать заданному процессу любой сигнал. Список сигналов можно получить по команде:
kill -l
В результате выполнения этой команды вы увидите список номеров и названий сигналов. Послать определенный сигнал выбранному процессу с помощью ввода в командной строке:
kill <-номерсигнала> номер PID выбранного процесса
Например, нам нужно завершить работу приложения Midnight Commander (mc).
Определим идентификатор процесса mc:
ps -A | grep mc
Пусть PID= 11597.
Посылаем сигнал SIGQUIT (номер 3):
kill -3 11597
После чего процесс mc обработает сигнал GIGQUIT и нормально завершится. Однако, если mc "завис", то, естественно, завершиться он не сможет, поскольку подпрограмма обработки сигнала SIGQUIT не получит управления. В таких случаях используется сигнал под номером 9 (SIGKILL), обрабатываемый ядром операционной системы, и принудительно завершающий указанный процесс:
kill -9 11597
Если в команде kill номер сигнала не указан, то тогда используется SIGKILL, предыдущую команду можно было ввести как kill PID:
kill 11597
Завершение процесса прерывает и запущенные в нем процессы.
Для завершения процесса по имени используется команда killall:
killall mc - завершить процесс, в имени которого есть "mc";
killall -u user - завершить процессы, порожденные пользователем user.
Команды nice и renice измененяют приоритет процессов. При запуске процесса, его приоритет задается значением родительского процесса, например, терминала xterm или командной оболочки shell. Команда nice позволяет запустить процесс с приоритетом, равным сумме родительского (например 8) и числа, задаваемого в качестве опции команды nice:
nice -<число> команда
nice -4 mc - запустит mc с приоритетом = 8+4=12
Команда renice используется для изменения приоритета уже запущенного процесса:
renice <число> -p PID
renice 4 -p 11597 - установить значение приоритета для процесса mc (PID=11597) равным 4.
После выполнения, renice выдаст строку результата:
11597: old priority 12, new priority 4 - старый приоритет 12, новый приоритет 4
Задание нулевого и отрицательного числа приоритета допустимо лишь для пользователя с правами root.

Мы собрали для вас 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

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

Идея вводного курса по работе с 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 и с какой стороны к нему подойти), пользователь встречает такой термин как Терминал. Кого-то он отпугивает, а у кого-то наоборот появляется желание попробовать

Иллюстрация linuxformat.com

Здравствуйте! Я Анатолий Гусляков, модератор сайта Comss.ru. С сегодняшнего дня мы открываем серию интересных тем под общим названием «Вместе изучаем Linux». Темы обсуждений будут в виде статей или сообщений, в которых будут рассматриваться различные материалы по изучению Ubuntu и его производных систем. Материал будет выкладываться не только администрацией ресурса, но и пользователями, желающими поделится своими знаниями (интересны именно личные знания, без копипаста со сторонних ресурсов). Если будут выкладываться объемные темы, предварительно необходимо обговорить с администрацией ресурса, возможно предложенная тема будет выложена в виде отдельной статьи.

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

Начнем первое обсуждение!

Терминал и полезные команды

Еще на этапе предварительного изучения Linux системы (этап: что такое Linux и с какой стороны к нему подойти), пользователь встречает такой термин как Терминал. Кого-то он отпугивает, а у кого-то наоборот появляется желание попробовать (а почему бы не попробовать себя в роли программиста? 🙂) .

Что такое Linux

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

Терминал — графическая программа эмулирующая консоль, говорит нам пользовательская документация с сайта help.ubuntu.ru.

Все команды терминала работают и в консоли. Консоль работает без графической оболочки и как правило необходима при проблемах с запуском системы.

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

Примеры наиболее популярных команд (терминал можно запустить с помощью горячих клавиш: Ctrl+Alt+T):

(обновление индекса пакетов)

(непосредственное обновление программ)

Рассмотрим составляющие команды:

  • sudo — команда запуска с правами администратора (после ее ввода необходимо ввести пароль администратора, сам пароль не виден, но пугаться не стоит, он вводится и затем жмем клавишу enter);
  • apt-get — является мощным инструментом по установке и обновлению пакетов;
  • update — обновление списка пакетов, upgrade — обновление самих пакетов.

— установка программы;

— удаление программы;

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

Для большинства команд можно получить справку, введя после команды дополнительную команду —help.

И напоследок несколько интересных команд:

— команда выводит на экран версию ядра Linux;

— список активных сетевых соединений;

— команда хорошего настроения

Популярные эмуляторы терминала

Как оказывается есть различные эмуляторы терминала. Каждый их них по-своему интересен.

Рассмотрим наиболее популярные эмуляторы терминала:

Guake — ниспадающий терминал, напоминающий консоль из популярной игры Quake. Терминал загружается в память, поэтому вызов терминала происходит быстрее стандартного терминала. Доступен в репозитории Ubuntu, поэтому установить можно из Центра приложений Ubuntu.

Final term — «умный» эмулятор терминала. Запоминает вводимые команды и при следующем наборе предлагает их в выпадающем меню. Как и большинство эмуляторов терминала, Final term поддерживает работу горячих клавиш, но через редактирование файла настроек. К сожалению, при ознакомлении он завис, но на это есть объяснение, Final term длительное время не выходит из этапа альфа тестирования.

Переходим к установке. На момент написания данной статьи репозиторий программы не работал, поэтому устанавливать будем из исходников. Дополнительный инструмент Git, который установим для установки Final term нам пригодится в дальнейшем для установки других программ.

(необходимые довольно популярные инструменты)

(дополнительные пакеты для GTK)

(загружаем исходники)

(переходим в папку finalterm)

(создаем папку build)

(переходим в папку build)

(инструмент для автоматической сборки программы из исходного кода)

(непосредственно установка)

Terminator — кроссплатформенный эмулятор терминала, поддерживающий системы Microsoft Windows, Mac OS X, Linux , Unix X11. Удобный эмулятор терминала, позволяет создать горизонтальные и вертикальные вкладки, настроить отображение интерфейса, множество горячих клавиш и подключить дополнительные плагины.

Установить можно из Центра приложений Ubuntu.

RXVT (цветной терминал с поддержкой unicode) — очень легковесный эмулятор терминала. Никаких настроек не обнаружил. По минимализму напоминает встроенный XTerm, однако в RXVT удалены некоторые функции, такие как: эмуляция Tektronix 4014 и конфигурирование в инструментальном стиле.

Доступен в родном репозитории Ubuntu.

Ну а тем, кто продолжает использовать стандартный Терминал предлагаю его немного украсить рисунком, например пингвином по имени Tux (официальный талисман Linux).

Всем отличного настроения. До встречи в обсуждениях темы.

Комментарии и отзывы

Добавляя комментарий, ознакомьтесь с Правилами сообщества

В этой статье пойдет речь об освоении ОС Linux. Других UNIX подобных систем, таких как FreeBSD, AIX и Solaris, мы коснемся в следующей статье.

Прежде всего вам нужно запастись терпением и желанием изучать новое. Нового будет очень много, особенно если ранее вы не сталкивались с консолью. Первое с чего нужно начать — это выбор дистрибутива, и не спешите ставить Ubuntu, толку будет 0, совсем. Я вас уверяю, что поставив его вы не освоите консоль, Ubuntu слишком дружелюбная.

Пути изучения

Сложный путь

Мой опыт изучения начинался с Gentoo — это сложно, муторно, интересно и дает огромный опыт. Если есть много времени и желания изучать как устроены ОС на ядре Linux — в путь. Другой дистрибутив который вам даст опыт — Slackware. Оба изучать смысла нет, стоит остановится на одном. По сложности они схожи, но Gentto сложно ставится и работает с лучшим установщиком программ — Portage, а Slackware — имеет некоторые сложности с нормальными пакетными установщиками.

Нормальный путь

В промышленно применении вы вряд ли встретите Gentoo или Slackware, скорее всего вы увидите Red Hat Enterprise Linux, Centos или иногда Debian, реже это будут производные дистрибутивы на rpm пакетах (OpenSuse). Собственно их и нужно по-хорошему изучать.

Бесполезный путь

В промышленном применении вы не найдете Fedora, Ubuntu или других пользовательских дистрибутивов. И вообще не рекомендую с них начать изучение, они не для серверов. Fedora, например, после обновления может перестать работать, а Ubuntu может виснуть, но потом приходит следующее обновление и баг исправляют. Сейчас столкнулся с 16.04, нет, не стоит.

Как изучать

Для начала нужно установить выбранные дистрибутив, желательно на реальное железо. После установки (а если это Gentoo дистрибутив в процессе) сделайте конфигурацию ядра под ваше железо, это даст вам понимание как собирается ядро, и зачем. Вы запомните что делают команды lspci и lsusb, и многие другие. Так же это вам позволит освоить работу в консоли. Лучше всего если у вас будет стоять операционная система на компьютере для каждодневного использования.

Ошибки

Коллекционирование материалов

Не надо этого делать, вы не прочитаете ни одну из скаченных книг. Очень часто люди начиная что то изучать скачивают «100 книг по Linux».

Как начинающим Линуксойдам начать использовать Linux терминал

Не повторяйте эту ошибку.

Курсы

Нет. Если вы пойдете на курсы за 50000 рублей, то это не значит что вас там чему то научат. Единственное что вы вынесете с них — диплом. И да, всем на него будет пофиг.

Возможно статья будет наполнятся еще, я пока не знаю.

Заучивание команд

Жрет много времени толку мало, если кратко.

Вывод

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

Учитесь новому каждый день, это полезно.

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

Первый этап — загрузка ядра — не зависит от типа операционной системы. Выбор устройства, с которого будет происходить загрузка (жёсткий диск, лазерный диск, дисковод), выполняют подпрограммы из ПЗУ компьютера — BIOS. Поиск ядра системы (возможно, нескольких) и настройку параметров ядра выполняет загрузчик , находящийся на выбранном для загрузки устройстве. Ни то, ни друге не нуждается в дополнительной настройке, пока не возникнет нештатная ситуация. Загрузчик (LInux LOader, LILO) распознаёт несколько способов загрузки и несколько вариантов настройки ядра, поэтому при старте он предлагает выбрать один вариант из нескольких. В меню LILO следует выбрать «linux-up».

Загрузка системы происходит автоматически на основании параметров, переданных загрузчиком, и информации, полученной при самонастройке. Каждая системная служба при запуске выводит на консоль диагностику («готово»), («пропущено») и («сбой»). Если всё в порядке, все сообщения должны иметь вид. Сообщения возникают в случаях, когда система решает, что данную службу запускать не за чем: например, при попытке загрузить драйвер несуществующего устройства. Сообщение означает, что системную службу запустить по каким-то причинам не удалось.

Сообщения и не сигнализируют о том, что операционная система «испорчена», скорее — о том, что настройка или окружение компьютера изменились неожиданным для него образом. Например, если система настроена получать сетевой адрес автоматически, однако сервер, выдающий адреса, в сети отсутствует, сетевая служба выдаст сообщение, а система продолжит обычную загрузку. Проконтролировать загрузку системы можно, изучив системные журналы , прежде всего тот, что выдаётся командой dmesg .

В процессе работы активно несколько виртуальных консолей . Каждая виртуальная консоль доступна по нажатию Alt и функциональной клавиши с номером этой консоли. Так, в ALT Linux после загрузки системы функции системной консоли берёт на себя 12-я виртуальная консоль (Alt F12 ). Если запущена графическая подсистема X11, она занимает седьмую консоль, а для переключения в текстовый режим описанные клавиши нужно нажимать вместе с Ctrl : Ctrl Alt F1 , Ctrl Alt F2 и т. д.

нельзя выключать, просто лишив компьютер электропитания. Множество информации, которая должна располагаться на диске, система держит в оперативной памяти для повышения быстродействия. Неожиданное выключение питания приводит к потере этой информации. Останавливать систему следует с помощью команды shutdown -h now . При этом сначала будут остановлены системные службы, затем размонтированы файловые системы, а затем (если это возможно) компьютер отключится. Если программное отключение невозможно, на экран выведется соответствующее сообщение, и питание можно отключить кнопкой Power .

Если компьютер поддерживает протокол работы ACPI, нажатие на кнопку Power приводит не к выключению электропитания, а к передаче системе ACPI-сообщения о том, что кнопка Power была нажата. При получении такого сообщения система выполняет те же действия, что и shutdown . Только в этом случае допустимо выключение кнопкой Power .

Третий вариант — нажать на клавиатуре Ctrl Alt Del , после чего система пойдёт на перезагрузку (останов и немедленная повторная загрузка). Эти клавиши не имеют никакого собственного действия на систему, такая реакция — свойство ядра, которое можно отключить. Дождавшись начала загрузки (например, меню LILO), вы можете выключить компьютер.

Останов системы и выключение компьютера

Включение и выключение компьютера

В существует ровно один пользователь, права которого существенно выше прав остальных пользователей системы. Он называется («корень»), или суперпользователь . Ему соответствует учётная запись с именем и идентификатором пользователя 0. Для выполнения административных действий следует зарегистрироваться в системе под этим именем. Никаких других работ, кроме администраторских, выполнять от имени пользователя не рекомендуется, так как цена ошибки возрастает в несколько раз.

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

Для временного выполнения действий с правами существует команда su — . Выполнять эту команду могут только члены группы («штурвал»). Членство в группе определяется содержимым файла. В случаях, когда требуется передать пользователю только часть полномочий, рекомендуется применять пакет sudo.

Добавить нового пользователя можно при помощи команды useradd входное_имя с необязательными дополнительными параметрами. Результат работы этой команды может быть весьма различен в зависимости от схемы хранения учётных записей. В ALT Linux используется схема TCB, в которой при добавлении новой учётной записи добавляется новая строка в файл, новый подкаталог и файл shadow в нём. Для совместимости с другими схемами может содержать только латинские буквы, цифры и символ подчёркивания. Для задания полного имени пользователя можно использовать ключ.

Изменить пароль пользователя может либо сам пользователь, либо суперпользователь. Не задавайте пароль, который легко угадать или подобрать! В ALT Linux применена довольно строгая система проверки паролей. Эта схема различает строчные и прописные латинские буквы, цифры, и прочие символы.

Новичку о Linux. FAQ

Хороший пароль должен быть не короче восьми символов, содержать символы хотя бы трёх видов, причём большие буквы в начале и цифры в конце в счёт не идут. Так, например, пароль считается слабым, а — сильным.

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

teacher# useradd -c «Аксён Викулович Омметров» axen teacher# passwd axen Enter new password: Re-type new password: passwd: all authentication tokens updated successfully.

Удалить учётную запись, домашний каталог и почтовый ящик пользователя можно с помощью команды userdel -r входное_имя . Если опустить, домашний каталог и почтовый ящик не удаляются.

Для изменения параметров существующей учётной записи используйте утилиту usermod . В частности usermod -L входное_имя временно запрещает использование соответствующей учётной записи, а usermod -U входное_имя — отменяет запрет.

Непосредственной установкой и удалением программных продуктов (пакетов ) в ALT Linux занимается утилита rpm. Однако администратору использовать её неудобно, потому что большинство пакетов не могут нормально работать, если в системе не установлены некоторые другие, поэтому требуется сначала установить их. Те, в свою очередь, могут зависеть ещё от каких-нибудь пакетов, и так далее. Решением этой проблемы занимаются утилиты семейства apt: при установке одного пакета вычисляются также все, от которых он зависит, после чего в систему добавляется набор пакетов, необходимый для работы.

Кроме того, apt может брать пакеты для установки из нескольких источников. Все источники перечисляются в файле. Для добавления каждого дистрибутивного CD в список источников пользуйтесь командой apt-cdrom add . Поиск в источниках пакета, описание которого содержит определённую подстроку осуществляется командой apt-cache search . Поиск лучше не производить от имени суперпользователя, так как, для совместимости с системными сценариями, пользователю устанавливается только английский язык интерфейса. Для установки пакета в систему служит команда apt-get install имя_пакета . Пример:

teacher$ apt-cache search CDR cdda2wav — Утилита для копирования треков с Audio CD cdrecord — Консольная утилита для записи CD/DVD k3b — Программа записи CD mkisofs — Утилита для создания образов ISO9660 xcdroast — Графическая программа для создания CD teacher$ su — Password: teacher# apt-get install xcdroast Reading Package Lists… Done Building Dependency Tree… Done The following extra packages will be installed: cdda2wav The following NEW packages will be installed: cdda2wav xcdroast 0 upgraded, 2 newly installed, 0 removed and 1 not upgraded. Need to get 0B/2056kB of archives. After unpacking 4749kB of additional disk space will be used. Do you want to continue? Get:1 cdrom://Junior2.3 ALT/main cdda2wav 5:2.0-alt4 Get:2 cdrom://Junior2.3 ALT/main xcdroast 6:0.98alpha15-alt2 Fetched 2056kB in 0s (11.8MB/s) Committing changes… Preparing… ###################################################### 1: cdda2wav ###################################################### [ 50%] 2: xcdroast ###################################################### Done.

Для работы с пакетами с помощью графического интерфейса можно использовать программу synaptic.

При использовании системы с профилем перед выполнением каких-либо административных действий необходимо остановить использование удалённого с помощью системного сценария /etc/init.d/etcmount stop .

Установка программных продуктов

Если в домашних каталогах пользователей (особенно сетевых) накопится слишком много ненужных файлов, места для нужных файлов может не хватить. Информация по заполненности файловых систем выводится командой df (disk free, свободное место на диске). Если поле или содержат нулевое или отрицательное значения, изменять такую файловую систему разрешено только суперпользователю. Рекомендуется выявить, в каком подкаталоге содержится больше всего ненужных данных, и попросить хозяина почистить его (а не то сделать это в приказном порядке, применив права суперпользователя). Для определения размера каталогов можно использовать утилиту df .

Пример анализа файловой системы:

teacher$ df Файловая система Разм Исп Дост Исп% смонтирована на /dev/hda1 2,3G 1,5G 728M 67% / /dev/hda3 1,5G 1,4G 48M 96% /home $ su — Password: # du —max-depth=1 /home/chroot/nethome 5.4M /home/chroot/nethome/alex 2.7G /home/chroot/nethome/greedy 4.0M /home/chroot/nethome/netuser 2.7G /home/chroot/nethome # du —max-depth=1 -k /arc/home/george | sort -n | tail -4 25314 /home/chroot/nethome/greedy/Pass 56106 /home/chroot/nethome/greedy/.phoenix 2608536 /home/chroot/nethome/greedy/pictures 2764538 /home/chroot/nethome/greedy

В приведённом примере явным пожирателем свободного места выступает хозяин каталога (2,7 гигабайта) — скорее всего, пользователь — причём более 2,5 гигабайтов приходится на единственный подкаталог.

Переполнение файловых систем

Установленную и работающую на машине систему требуется обновлять только если обновления исправляют недостатки в системе безопасности (т. н. security updates). Кроме того, может потребоваться обновление достаточно старой системы для совместимости с новыми форматами файлов или сетевыми протоколами. Обновление списка пакетов производится с помощью команды apt-get update , а обновление самой системы в соответствии с обновлённым списком — с помощью apt-get dist-upgrade .

Linux: основы работы в Линукс

О чем курс

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

На занятиях будет предложено большое количество практических примеров.

После прохождения курса LINUX для начинающих, Вы получите следующие знания и умения:

  • Научитесь устанавливать Linux.
  • Изучите команды для работы в консоли с Unix-подобными операционными системами.
  • Научитесь управлять системными службами Linux.
  • Писать небольшие программы (скрипты) на командном интерпретаторе BASH
  • Читать и понимать логи системы, настройка службы логгирования.
  • Запускать WINDOWS приложения в Linux при помощи эмулятора wine

Знание LINUX помогут Вам создавать и поддерживать высокопроизводительные и надежные сервера. Сервера, которые смогут работать как в локальной сети, так и в Интернете