Linux для чайника – Telegram
Linux для чайника
20K subscribers
89 photos
4 files
80 links
Linux
- Разбор утилит / инструментов
- Новости / факты
- Опросы для проверки знаний, навыков
и многое другое.

Только по вопросам сотрудничества: @altmainf

Регистрация в перечне РКН https://clck.ru/3EpL9L
Download Telegram
эволюция_linux.png
4.2 MB
Инфографика дерева эволюции ОС Linux.
(открывать не в тг, тогда все видно)
Что такое дистрибутив?

Дистрибутив
это операционная система с набором приложений и тем, то есть прямо «с коробки» (установочного образа) вы получаете полностью готовую систему с различными программами для решения основных задач (создание документов, просмотр Web-сайтов, воспроизведение мультимедиа файлов и всех сопутствующих функций компьютера).
Так как Linux является свободным ПО, то любой человек может создать собственную версию Linux, поэтому и существует такое большое количество различных дистрибутивов.
Регистр символов в именах файлов

В отличие от Windows и Mac 0S в системе Linux имена файлов чувствительны к регистру символов. В частности, вы можете встретить в одном каталоге все три приведенных ниже файла.
bookstobuy.txt
BooksToBuy.txt
BoOkStObUy.txt
С точки зрения файловой системы Linux это различные имена. Если вы попытаетесь создать файлы с этими же именами в Windows или Mac OS, то для файла BooksToBuy.txt система предложит задать другое имя или отказаться от попыток создать его. Причина в том, что в каталоге на этот момент находится файл bookstobuy.txt.
Чувствительность к регистру символов также означает, что при вводе команд они должны в точности совпадать с именами файлов, поддерживающих их. Так, например, удаляя файл с помощью команды rm, нельзя вводить RM, Rm или rM. Надо также следить за написанием имен, задаваемых в качестве параметров. Если вы захотите удалить файл bookstobuy.txt , а укажете имя BooksToBuy.txt, вы лишитесь совсем не того файла, с которым предполагали расстаться.

Из сказанного можно сделать вывод, что Linux требует точности. Кстати, точность — это совсем не плохо. В то же время Linux обеспечивает такую степень гибкости, которую нельзя получить при работе с другими системами.
Подобное сочетание необходимой точности и предоставляемой гибкости делает Linux очень удобным в применении, однако некоторые ламеры поначалу испытывают неудобства при работе с этой системой.
Распространенные инструменты управления пакетам

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

□ dpkg. -- Низкоуровневый инструмент управления пакетами, используемый в качестве основы семейства инструментов PMS (Система управления пакетами) на базе дистрибутива Debian. Может применяться непосредственно для установки, управления и удаления пакетов ПО. Тем не менее его функциональность ограниченна. Например, инструмент dpkg не может загружать программные пакеты из хранилищ.

□ rpm. -- Еще один низкоуровневый инструмент управления пакетами, функции которого аналогичны функциям инструмента dpkg . Тем не менее он используется в качестве основы системы управления пакетами Red Hat Linux. Несмотря на то что вы можете задействовать инструмент rpm для управления пакетами, для этой цели лучше применить утилиту PMS более высокого уровня.

□ apt - get. -- Это ТПИ (Текстовый пользовательский интерфейс) -инструмент для PMS Debian. С помощью apt - get можно установить пакет ПО из хранилища и удалить его из локальной системы Linux. Кроме того, вы можете обновить отдельные пакеты, все пакеты в вашей системе или весь дистрибутив. Тем не менее вам придется использовать ТПИ-инструмент apt - cache для получения информации, касающейся программных пакетов.

□ yum. -- Это ТПИ-инструмент для PMS Red Hat. Применяется к таким дистрибутивам, как Red Hat Enterprise Linux (RHEL), Fedora и CentOS. С помощью инструмента yum вы можете устанавливать программные пакеты из хранилища, удалять их из локальной системы Linux, обновлять и т. д. Кроме того, вы можете использовать данный инструмент для получения информации, касающейся программных пакетов и управления ими, например для отображения списка сконфигурированных хранилищ PMS.
Интересные факты о Linux

-- Код ядра написан на языке программирования C с некоторыми расширениями GCC и ассемблере.

-- 17 сентября 1991 вышел Linux версии 0.01, который содержал всего 10’239 строк программного кода.

-- 9 мая 1996 в качестве символа Linux был выбран пингвин Tux. Его отличают желтые лапы и клюв.

-- Релиз Linux 1.0 состоялся 14 марта 1994 года, он содержал более 176’250 строк программного кода.

-- В 2011 году вышел релиз релиз Linux 3.0, который насчитывал уже более 14 млн. строк программного кода.

-- Linux стала первой операционной системой, в которой появились драйвера для поддержки USB 3.0. Код драйвера USB 3.0 впервые был включен в ядро 2.6.31.

-- Linux применяется в Голливуде. Например, визуальные эффекты для фильмов Титаник и Аватар были разработаны с использованием открытого ПО, работающего на Linux.

-- Linux широко используется в космической отрасли.

-- Более 500 самых быстрых суперкомпьютеров в мире работают на Linux.

-- В интервью изданию Wired Линус Торвальдс рассказал, что примерно в 2000 году Стив Джобс предложил ему место в Apple для работы над ядром на базе Unix и настаивал на том, чтобы Линус прекратил работу над Linux. Линус Торвальдс, конечно же отказался от предложения.
[ pingvinus.ru ]
htop

htop — продвинутый системный монитор для Linux. Он был предназначен заменить стандартную программу top. Htop показывает динамический список системных процессов, список обычно сортируется по использованию CPU. Htop, в отличие от top, показывает все процессы в системе. Также показывает время непрерывной работы, использование процессоров и памяти.
Htop часто применяется в тех случаях, когда информации, предоставляемой утилитой top, недостаточно, например, при поиске утечек памяти в процессах. Htop написан на языке Си и использует для отображения библиотеку Ncurses.

Установка: sudo apt-get install htop
После установки запускаем командой htop

PID - идентификатор процесса.
USER - владелец процесса.
PRI - текущий приоритет (влияет на процессорное время, отводимое процессу, значение по умолчанию - 20; чем меньше приоритет, тем больше времени отводится процессу => он выполняется быстрее).
VIRT - размер виртуальной памяти, выделенной под процесс.
CPU% - использование процессора в процентном отношении.
MEM% - использование процессом памяти в процентном отношении.
TIME+ - время работы процесса.
Command - указывает на команду, которой был запущен процесс.

Управление производится с помощью функциональных клавиш (F1 - F10):
F1 - справка;
F2 - настройки;
F3 - поиск процесса;
F4 - сортировка списка процессов (от большего к меньшему или от меньшего к большему);
F5 - устанавливает древовидное отображение (корни - родительские процессы, а листья - дочерние) и наоборот;
F6 - открывает панель с выбором параметра сортировки процессов;
F7 - увеличить приоритет выполнения текущего процесса (реализовано вычитанием единицы из текущего значения nice);
F8 - уменьшить приоритет выполнения текущего процесса. Добавляет единицу к текущему значению nice (увеличение или уменьшение приоритета процесса доступно только суперпользователям).
F9 - убить процесс (ИСПОЛЬЗУЙТЕ ТОЛЬКО ТОГДА, КОГДА ТОЧНО ЗНАЕТЕ, ЧТО ДЕЛАЕТЕ)
F10 - выйти из программы
Список пользователей системы хранится в файле
Anonymous Quiz
57%
/etc/users
33%
/etc/passwd
6%
/root/passwd
4%
/system/passwd
60 лучших программ для Linux

От автора:
"В этой статье я постараюсь дать обзор лучших на мой взгляд программ для Linux. Естественно, высказываю только свое мнение, поэтому на какую-то суперобъективность не претендую. Сразу скажу, что это не какой-то абстрактный список, взятый неизвестно откуда, а программы, которые испытаны лично мной и которые я действительно считаю одними из лучших в своем роде, программы, которые я реально использую в повседневной работе. Этот список я составлял несколько лет в процессе работы и подбора софта, а сейчас просто привел его в надлежащий вид для того, чтобы поделиться с общественностью."
При установке ОС Linux рекомендуется выбрать файловую систему:
Anonymous Quiz
10%
FAT16 либо FAT32
9%
NTFS
72%
journalized ext3 FS
9%
любую из перечисленных
Пробелы в именах файлов

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

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

В оболочке и в сценариях можно указывать имена файлов с пробелами, чтобы держать их части вместе. Например, команда
$ less "Му spacey file"
считает файл Му spacey file в качестве единственного аргумента команды less. Также можно избежать отдельных пробелов с помощью обратной косой черты:
$ less Му\ spacey\ file

Функция завершения имени файла большинства оболочек (зачастую привязанная к клавише <Таb>) обычно автоматически добавляет обратную косую черту. Когда вы пишете сценарии, полезным оружием, о котором нужно знать, является опция -print0. В сочетании с параметром xargs -0 она делает комбинацию find /xargs корректной, независимо от пробелов, содержащихся\ в именах файлов. Например, команда
$ find / home-type f -size + 1М -print0 1 xarqs -0 ls -1
выводит на экран длинный список всех файлов в каталоге /home размером более одного мегабайта.
Кое-что про Ubuntu

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

Симпатичный интерфейс, бесплатное ПО и мощная база в виде Debian OS сделали Ubuntu хитом среди Linux-дистрибутивов.
Еще один важный плюс Ubuntu – ее многогранность. Существует несколько редакций системы с различными графическими оболочками:

• Ubuntu – классический вариант с рабочим столом GNOME 3 и вкраплениями наработок под названием Unity.
• Kubuntu – тот же набор программ, только в качестве графической оболочки используется KDE.
• Xubuntu – аналогичный дистрибутив с минималистичным рабочим столом XFCE.
• Lubuntu – примерно то же, что и Xubuntu, только с поддержкой ПО, разработанного для KDE.
• Ubuntu LTS – стандартная Ubuntu с увеличенным циклом поддержки со стороны разработчиков.
• Ubuntu Server – операционная система для серверов.
• Ubuntu Studio – вариант для тех, кто занимается творчеством.

Как видите, есть из чего выбирать. Найдется вариант под любые задачи. Все ОС по умолчанию включают в себя необходимые для комфортной жизни проприетарные плагины, драйверы и кодеки. В этом плане Ubuntu похожа на Manjaro.
[timeweb.com]
Определение программного обеспечения с открытым исходным кодом

Определение термина «программное обеспечение с открытым исходным кодом» можно найти на сайте www.opensource.org/definition. Оно соответствует десяти принципам.

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

■ Доступность исходного кода.
Автор должен сделать исходный код доступным и разрешить распространение исходного кода и (если это применимо) двоичного кода.

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

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

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

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

■ Автоматическое распространение лицензий.
Лицензия должна применяться к любому, кто получает программу, не требуя отдельного соглашения.

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

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

■ Технологическая нейтральность.
Лицензия не должна быть ограничена конкретными технологиями или интерфейсами.
Оболочка bash

Командный интерпретатор bash (Bourne Again Shell) был разработан фондом свободного программного обеспечения (Free Software Foundation, FSF). За основу была взята оболочка sh. Оболочка стала очень популярной и сейчас используется по умолчанию во всех дистрибутивах Linux. Оболочка bash может использоваться также и для запуска сценариев sh, поэтому sh во многих системах уже не устанавливается, а файл /bin/sh — это ссылка на /bin/bash. С точки зрения пользователей bash намного удобнее, чем ksh. Вы можете легко редактировать командную строку, просматривать историю команд, создавать псевдонимы команд, создавать переменные окружения и использовать их в собственных сценариях. Как и в csh, в bash есть сценарии, которые вызываются при запуске оболочки и при выходе из нее. Синтаксис bash довольно прост, поэтому бóльшая часть сценариев, разрабатываемых в Linux, пишется именно на bash.
Основные команды для работы с файлами в Linux

touch <файл> Создает пустой файл

cat <файл> Просмотр текстового файла

tac <файл> Вывод содержимого текстового файла в обратном порядке, т. е. сначала выводится последняя строка, потом предпоследняя и т. д.

ср <файл1> <файл2> Копирует файл <файл1> в файл <файл2>. Если <файл2> существует, программа попросит разрешение на его перезапись

mv <файл1> <файл2> Перемещает файл <файл1> в файл <файл2>. Эту же команду можно использовать и для переименования файла

rm <файл> Удаляет файл

locate <файл> Производит быстрый поиск файла

which <программа> Выводит каталог, в котором находится программа, если она вообще установлена. Поиск производится в каталогах, указанных в переменной окружения path (это путь поиска программ)

less <файл> Используется для удобного просмотра файла с возможностью скроллинга (постраничной прокрутки)