Практическое руководство linux

Время на прочтение
14 мин

Количество просмотров 185K

Привет, Хабр!

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

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

Что такое Linux?

История и определение

В 1969 году в дочернем подразделении компании AT&T – Bell Laboratories – была выпущена операционная система Unix, которая стала основной для большого количества операционных систем того времени. UNIX была проприетарной системой, лицензия на нее стоила порядка 40 000 долларов. Таким образом, позволить себе ее покупку могли только крупные компании. Это послужило толчком для старта в 1983 году проекта GNU – GNU is Not Unix. Его основоположник, Ричард Столлман, объявил целью проекта создание свободно распространяемой операционной системы. Чуть позже Столлманом был написан знаменитый манифест GNU, который стал основой для лицензии GPL (GNU General Public License), актуальной и по сей день. К началу 1990-х годов в рамках проекта GNU было написано большинство компонентов ОС – оболочка bash, компиляторы, отладчик, текстовый редактор и др. Не хватало лишь ядра операционной системы.

В 1991 году Линус Торвальдс, будучи студентом финского университета, увлекся идеей написания ядра операционной системы для своего персонального компьютера с процессором Intel. Вдохновлением и прототипом для будущего Linux стала совместимая с Unix операционная система для персональных компьютеров Minix. Уже в августе 1991 года было написано ядро операционной системы, в нее были портированы оболочка bash и компилятор gсс из проекта GNU. По признанию самого Линуса, изначально это было не более, чем хобби, однако проект оказался весьма востребованным, к нему начали присоединяться разработчики со всего мира. Дополненная массой программ, разработанных в рамках проекта GNU, ОС Linux стала пригодна для практического использования. При этом ядро системы распространялось под лицензией GNU General Public License, что гарантировало свободное распространение кода ядра системы. 

Читать подробнее: История Linux. Вкратце о главном

Итак, сегодня Linux (или GNU/Linux) – семейство Unix-подобных операционных систем на базе ядра Linux, включающих тот или иной набор утилит и программ проекта GNU. Linux-системы распространяются в виде различных дистрибутивов, имеющих свой набор системных и прикладных компонентов (как свободных, так и проприетарных).

Серверные дистрибутивы

Дистрибутив Linux — это операционная система, созданная на основе ядра Linux, которая включает в себя набор библиотек и утилит (пакетов), разработанных в рамках проекта GNU, а также систему управления пакетами (менеджер пакетов). В настоящее время существует более 500 различных дистрибутивов, разрабатываемых как при коммерческой поддержке (Red Hat / Fedora, SLED / OpenSUSE, Ubuntu и др.), так и исключительно усилиями добровольцев (Debian, Slackware, Gentoo, ArchLinux и др.). 

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

  • RPM-based (используют формат пакетов .rpm)
    RedHat Enterprise Linux, CentOS, Fedora

  • DEB-based (используют формат пакетов .deb)
    Debian, Ubuntu, Astra Linux

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

Работа с Linux

Загрузка

Алгоритм включения сервера и загрузки Linux в большинстве случаев выглядит следующим образом:

  • BIOS / UEFI → MBR / GPT
    Выполняется код, заложенный производителем аппаратного обеспечения. Этот код проводит тестирование системы POST (Power On Self Test) и передает управление загрузчику в MBR (Master Boot Record) / GPT (GUID Partition Table)

  • MBR / GPT → GRUB2 (существуют и другие загрузчики)
    Загрузчик из MBR / GPT очень простой – он способен только найти на диске и запустить следующий загрузчик. Как правило это GRUB2, но существуют и другие загрузчики, например LILO (в настоящее время практически не используется)

  • GRUB2 → Kernel
    GRUB2 расположен на разделе жесткого диска в каталоге /boot. GRUB2 загружает ядро Linux (vmlinuz)

  • Kernel → Init
    Ядро запускает процесс инициализации операционной системы. Как правило это SystemD, но существуют и другие системы инициализации, например SystemV (в настоящее время практически не используется). Процесс инициализации запускает все остальные процессы в системе

Читать подробнее: Алгоритм загрузки Linux (BIOS / UEFI)

Подключение

Командная оболочка

Подключиться к Linux для управления можно в интерфейсе командной строки (command-line interface, CLI) или в графическом интерфейсе (graphical user interface, GUI). При работе с серверной инфраструктурой в подавляющем числе случаев GUI отсутствует и взаимодействие с сервером осуществляется в CLI. При входе пользователя на сервер в CLI запускается командная оболочка (в GUI командную оболочку можно запустить через эмулятор, например Terminal). Командная оболочка (shell) – это программа, которая принимает команды с клавиатуры и передает их операционной системе для выполнения. Наиболее распространенной командной оболочкой в Linux является GNU bash (Bourne Again SHell). bash основывается на другой легковесной оболочке-предшественнике – sh (Bourne sh), созданной Стефеном Борном.

Команды можно выполнять с помощью командной строки, указав имя двоичного (бинарного, bin) исполняемого файла или сценария. По умолчанию в Linux много команд, которые позволяют перемещаться по файловой системе, устанавливать ПО, конфигурировать его и выполнять другие действия. Каждая запущенная команда является отдельным процессом. Важно отметить, что в Linux (в отличие от Windows) почти всегда учитывается регистр, включая имена файлов и каталогов, команды, аргументы и опции.

Читать подробнее: Основы работы с терминалом Linux

SSH

Подключаться к Linux и работать с командной оболочкой можно локально (например включив ПК дома или подойдя к серверу в центре обработки данных), однако гораздо чаще работать с системой требуется удаленно. Для этого необходимо настроить SSH и подключаться через него. SSH (Secure SHell) – это протокол, позволяющий производить удаленное управление операционной системой и туннелирование TCP-соединений (например, для копирования файлов). SSH основан на клиент-серверной архитектуре, которая организует защищенное (зашифрованное) соединение поверх небезопасных каналов связи. Серверная часть устанавливается на удаленном сервере, а клиентская на компьютере, с которого осуществляется подключение.

Существует много клиентов для удаленного подключения к серверу по SSH. Вот несколько примеров для различных операционных систем:

  • Windows
    PuTTY – выбор новичка, PowerShell (команда ssh), Xshell – выбор автора, MobaXterm, mRemoteNG

  • Linux
    Terminal (команда ssh) – выбор новичка и автора, Asbru Connection Manager

  • MacOS
    Terminal (команда ssh) – выбор новичка и автора, Core Shell

Читать подробнее: 

  • SSH

  • Как подключиться по SSH

  • Лучшие SSH клиенты для Windows, Linux и MacOS

Установка программ (утилит) пакетным менеджером

Зачем нужны пакетные менеджеры?

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

Существует несколько форматов пакетов, однако наибольшее распространение получили .deb и .rpm. Рассмотрим операционные системы и менеджеры пакетов для данных форматов:

  • DEB (.deb)
    ОС – DEB-based, например Debian, Ubuntu, AstraLinux
    Система управления пакетами – DPKG (работает только с локальными пакетами)
    Пакетный менеджер – apt

  • RPM (.rpm)
    ОС – RPM-based, например RedHat Enterprise Linux, Fedora, CentOS
    Система управления пакетами – RPM (работает только с локальными пакетами) 
    Пакетный менеджер – yum (в последних дистрибутивах заменен на dnf)

Читать подробнее: Популярные пакетные менеджеры Linux

Практика

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

Ниже приведены несколько примеров команд:

# руководство (справочная информация)
man <utility> # просмотр справочной информации по утилите
<utility> --help # просмотр справочной информации по утилите

# менеджер пакетов apt (.deb)
sudo apt install nano # установка пакета
sudo apt remove nano # удаление пакета
sudo apt autoclean # удаление кэша пакетов

# менеджер пакетов yum (.rpm) - для dnf команды полностью аналогичны
sudo yum install nano # установка пакета
sudo yum remove nano # удаление пакета
sudo yum clean all # удаление кэша пакетов

При необходимости уточняйте описание утилит и ключей выполнения в Интернете или в руководстве man.

Структура файловой системы и работа с файлами

Типы файлов

Все объекты в Linux являются файлами. Существуют следующие типы файлов:

  • Обычные файлы 
    Символьные и двоичные данные (текст, картинки, программы и др.)

  • Каталог (директория) d
    Список ссылок на файлы или другие каталоги

  • Символьные ссылки l
    Ссылки на другие файлы по имени

  • Блочные устройства b, символьные устройства c
    Интерфейсы для взаимодействия с аппаратным обеспечением (диски, терминалы, клавиатуры, принтеры и др.). Когда происходит обращение к файлу устройства, ядро операционной системы передает запрос драйверу этого устройства

  • Сокеты s и каналы p
    Интерфейсы для взаимодействия процессов

Читать подробнее: Типы файлов в Linux

Структура файловой системы

Структура файловой системы представляет собой дерево, корнем которой является каталог /.

Рассмотрим подробно структуру и назначение каталогов:

  • /bin (binaries) – исполняемые файлы самых необходимых утилит. Может быть символьной ссылкой на /usr/bin

  • /boot – файлы, необходимые для самого первого этапа загрузки – загрузки ядра (и обычно само ядро)

  • /dev (devices) – блочные и символьные файлы устройств (диски, терминалы, клавиатуры, принтеры и др.)

  • /etc (etcetera) – конфигурационные файлы системы и различных программ

  • /home – домашние каталоги пользователей для хранения «личных» файлов

  • /lib (libraries) – файлы библиотек (стандартных функций, необходимых многим программам), необходимых для работы утилит. Может быть символьной ссылкой на /usr/bin

  • /mnt (mount) – каталог для подключения файловых систем (съемных носителей и др.)

  • /opt (optional) – каталог для дополнительных программ (проприетарных драйверов, агентов мониторинга и др.)

  • /proc (process) – файлы в оперативной памяти, в которых содержится информация о выполняемых в системе процессах

  • /root – домашний каталог пользователя root

  • /sbin (system binaries) – файлы системных утилит, необходимые для загрузки, резервного копирования и восстановления системы. Может быть символьной ссылкой на /usr/sbin

  • /sys (system) – виртуальная файловая система sysfs, которая содержит информацию об аппаратном обеспечении (ЦПУ, ОЗУ, дисках, сетевых устройствах), драйверах, ядре системы и др.

  • /tmp – каталог для временных файлов, обычно зачищается при каждой загрузке системы

  • /usr – пользовательский каталог, который содержит каталоги исполняемых файлов и конфигурационных файлов

  • /var (variable) – файлы, создаваемые или используемые различными программами (логи, очереди, идентификаторы процессов, БД и др.)

Читать подробнее: Структура файловой системы Linux

Права доступа

В Linux права доступа к файлам (в том числе к каталогам) задаются для трех видов пользователей – владельца, группы владельца и остальных. Также есть три типа доступа к файлу – чтение r (Read), запись w (Write) и исполнение x (eXecution), которые задаются для каждого из видов пользователей. Прочерк  означает отсутствие доступа.

Таким образом, права доступа к файлу выглядят следующим образом:

  • права для владельца (u, user) – read, write, execution

  • права для группы владельца (g, group) – read, write, execution

  • права для остальных пользователей (o, other) – read, write, execution

Пример: rwx r— — означает, что у владельца есть права на все, у группы владельца доступ только на чтение, а у остальных доступа нет. В двоичной системе счисления эти права выглядят как три группы цифр – 111 100 000, что равносильно трем цифрам 7 4 0 в восьмеричной и десятичной системах счисления.

Читать подробнее: 

  • Владельцы файлов и папок в Linux

  • Команда chmod в Linux

Практика

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

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

# руководство (справочная информация)
man <utility> # просмотр справочной информации по утилите
<utility> --help # просмотр справочной информации по утилите

# навигация
ls -la <dir> # просмотр содержимого каталога (в том числе прав доступа)
cd <dir> # переход в каталог

# каталоги
mkdir <dir> # создание каталога
rmdir <dir> # удаление пустого каталога
rm -rf <dir> # удаление каталога с файлами

# файлы
cat <file> # вывод файла в консоль
less <file> # постраничный вывод файла
tail <file> # вывод последних строк («хвоста») файла
vi <file> # редактиврование файла текстовым редактором vi
nano <file> # редактирование файла текстовым редактором nano
cp <file> <dir> # копирование файла в каталог
mv <file> <dir> # перемещение файла в каталог (для переименования переместите файл в тот же каталог)
rm <file> # удаление файла
rm -rf <dir>/* # удаление всех файлов в каталоге

# права доступа
chown <user> <dir> # установить пользователя владельцем каталога
chown <user>:<group> <dir> # установить владельца и группу владельца каталога
chmod 644 <file> # установить права доступа rw- r-- r-- (чтение и запись для владельца, чтение для группы владельца, чтение для остальных пользователей)
сhmod 740 <file> # установить права доступа rwx r-- --- (чтение, запись и исполнение для владельца, чтение для группы владельца)
chmod u+w <file> # добавить владельцу право на запись файла

При необходимости уточняйте описание утилит и ключей выполнения в Интернете или в руководстве man.

Процессы и потребление ресурсов сервера

Процессы

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

Процесс может находиться в следующих статусах:

  • Выполнение (R, Running)
    Выполнение или ожидание ЦПУ для выполнения

  • Сон (S, Sleep)
    Прерываемое программно ожидание

  • Непрерываемый сон (D, Direct)
    Ожидание «прямого» сигнала от аппаратной части для прерывания

  • Приостановлен (T, Tracing)
    Отладка

  • Зомби (Z, Zombie)
    Выполнение завершено, однако ресурсы не освобождены

Почти любой процесс (кроме процесса в статусе D) может быть принудительно прерван администратором в случае необходимости («убит»). Это не всегда безопасно, однако возможно.

Запущенные процессы требуют использования аппаратных ресурсов сервера – ЦПУ, ОЗУ, дисков, сетевых интерфейсов.

Читать подробнее: Процессы в Linux

Практика

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

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

# руководство (справочная информация)
man <utility> # просмотр справочной информации по утилите
<utility> --help # просмотр справочной информации по утилите

# процессы
top
sudo ps aux
sudo kill -9 <pid> # убийство процесса по PID
sudo killall -s 9 <name> # убийство всех процессов по имени

# утилиты для мониторинга использования ресурсов
htop # использование ресурсов по процессам (может потребоваться установка пакета htop)
nmon # использование процессора по ядрам, памяти, дисков и др. (может потребоваться установка пакета nmon)
iostat # использование процессора в среднем по ядрам и чтение/запись по дискам

# ЦПУ
lscpu # общая информация
cat /proc/cpuinfo # подробная информация

# ОЗУ
cat /proc/meminfo # общая информация и потребление
free -h # удобное представление на основе данных из файла meminfo
ps aux --sort -rss # использование памяти по процессам

# диски
lsblk # общая информация
df -h # просмотр занятного места по разделам
du -сh <dir> # просмотр занятого места в каталоге

# сеть
/sys/class/net/<interface>/speed # просмотр максимальной скорости интерфейса

При необходимости уточняйте описание утилит и ключей выполнения в Интернете или в руководстве man.

Программный комплекс systemd

Зачем нужен systemd?

SystemD – это программный комплекс, состоящий из системных компонентов Linux. Основным компонентом является система инициализации системы SystemD, которая пришла на смену SystemV в большинстве современных дистрибутивов. Ядро Linux запускает процесс systemd, который, в свою очередь, запускает все остальные процессы системы.

SystemD предоставляет следующий функционал:

  • Запуск служб при старте системы (по возможности параллельно) по различным таргетам (target, аналог уровней загрузки в SystemV)
    Обеспечивается обратная совместимость с системами инициализации SystemV и LSB

  • Контроль состояния запущенных служб

  • Управление устройствами, входом в систему, сетевыми подключениями, ведение журнала событий

  • Интерфейсы для реализации функциональных возможностей ядра – cgroups, autofs, kdbus

  • Набор утилит для управления системой – systemctl, journalctl и др.

Что такое systemd unit?

SystemD Unit – это обычный текстовый файл в стиле ini, который декларативно описывает информацию о службах .service, устройствах .device, целях запуска .target и других типах модулей systemd.

Описание юнита состоих из нескольких секций:

  • Unit
    Description (краткое описание), After (ожидание запуска), Requires (обязательная зависимость) и др.

  • Service
    Type (тип) – по умолчанию Simple, ExecStart (команда для запуска), ExecStop (команда для остановки) и др.

  • Install
    WantedBy (таргет или уровень запуска, на котором юнит должен запуститься)

Файлы systemd unit располагаются в следующих каталогах:

  • /etc/systemd/system – юниты, создаваемые администраторами

  • /usr/lib/systemd/system – юниты из установленых пакетов

  • /run/systemd/system – юниты, создаваемые во время работы системы (в runtime)

Редактировать и создавать юниты можно с помощью текстового редактора (например vi или nano).

Читать подробнее:

  • Применение systemd: только самое главное

  • Понимание systemd юнитов

  • Примеры systemd unit – NGINX, Apache

Практика

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

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

# руководство (справочная информация)
man <utility> # просмотр справочной информации по утилите
<utility> --help # просмотр справочной информации по утилите

# просмотр юнитов
systemctl # список юнитов (это псевдоним команды systemctl list-units)
systemctl --type=service # юниты типа сервисы
systemct | grep <keyword> # юниты, содержащие ключевое слово (полезно для быстрого поиска)
systemctl cat <unit> # описание юнита

# управление юнитами
systemctl status <unit> # статус (состояние) юнита
sudo systemctl daemon-reload # перезагрузка конфигурационных файлов в systemd
sudo systemctl enable <unit> # включение сервиса в автозагрузку
sudo systemctl disable <unit> # отключение сервиса из автозагрузки
sudo systemctl start <unit> # запуск
sudo systemctl stop <unit> # остановка

# журналы логов
journalctl -u <unit> # чтение логов по юниту
journalctl -u <unit> --since today # чтение логов по юниту со смены дня 

При необходимости уточняйте описание утилит и ключей выполнения в Интернете или в руководстве man.

Сеть

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

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

# руководство (справочная информация)
man <utility> # просмотр справочной информации по утилите
<utility> --help # просмотр справочной информации по утилите

# просмотр сетевых настроек сервера
ip a # IP адреса
ip n # ARP таблица
cat /etc/resolv.conf # конфигурация DNS
sudo netstat -tulpn # открытые порты
sudo ss -tulpn # открытые порты (молодежный вариант)

# диагностика сетевых проблем
nslookup <hostname> # проверка разрешения DNS имени
ping <host> # отправка ICMP пакетов до хоста
traceroute <host> # трассировка до хоста UDP пакетами
telnet <host> <port> # проверка доступности TCP порта на хосте
nmap <host> # сетевое сканирование хоста
nmap -p T:<port> <host> # проверка доступности TCP порта на хосте (молодежный вариант)
nmap -p U:<port> <host> # проверка доступности UDP порта на хосте (молодежный вариант)

При необходимости уточняйте описание утилит и ключей выполнения в Интернете или в руководстве man.


Все статьи серии:

  1. Основы Linux (обзор с практическим уклоном)

  2. Основы виртуализации (обзор)

  3. Основы контейнеризации (обзор Docker и Podman)

  4. Основы мониторинга (обзор Prometheus и Grafana)

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

Здесь на сцену выходит Linux. Для среднестатистического пользователя похоже, что в компьютерных технологиях преобладают Windows, macOS или Android и iOS. Тем не менее, можно с уверенностью сказать, что большинство продуктов и услуг, не принадлежащих Microsoft (а также часть их собственной инфраструктуры), в значительной степени полагаются на промышленную мощь Linux.

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

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

Эта серия будет полностью практической, и вы должны будете следить за ней на своей машине. Мы структурировали пост таким образом, чтобы он был подробно описан, но не был слишком утомительным для новичков. Рассматривайте эту серию как эквивалент «Linux для чайников», с той лишь разницей, что вместо того, чтобы вбрасывать все знания сразу. Мы разделим на более мелкие значимые части. В отличие от большинства публикаций, которые мы публикуем, я бы посоветовал вам подготовиться к некоторой работе (в конце концов, лучший способ изучить Linux — это запачкать руки его нюансами). Прежде чем мы даже начнем все это, позвольте мне дать вам небольшое руководство по Linux и прояснить некоторые неправильные представления о том, чем Linux полностью отличается от Unix. Обещаю, это не продлится долго.

Основы Linux: чем он отличается от Unix?

1. начало

  • Юникс: Unix была создана в 1969 году в Bell Labs. Одним из самых известных членов-основателей был Деннис Ричи. Он был написан на C и был разработан как портативная операционная система, способная выполнять несколько задач одновременно.
  • Linux: Linux был построен Linux Torvalds и в значительной степени вдохновлен MINIX (Unix-подобный дистрибутив). Он многое унаследовал от Unix, но это совершенно другая система как внутри, так и снаружи. Исходное ядро ​​было выпущено в 1991 году, и после добавления таких вещей, как драйверы и графический интерфейс, а также некоторой столь необходимой доработки, полноценная ОС была выпущена в 1992 году.

2. развитие

  • Юникс: Unix не обязательно является проектом с полностью открытым исходным кодом. Части этого есть, но по своему духу это проприетарная система. Существует несколько версий Unix, таких как BSD, macOS и т. Д. Первоначальная разработка выполняется AT&T и несколькими другими коммерческими поставщиками.
  • Linux: В отличие от Unix, Linux процветает в экосистеме с открытым исходным кодом. Весь проект активно финансируется и контролируется Linux Foundation. Разработка по-прежнему контролируется Линусом, который решает вопрос о новом дополнении. Но практически любой человек с опытом программирования может бесплатно загрузить исходный код и внести изменения.

3. архитектура

  • Юникс: Unix был разработан для использования на Системы RISC и иранские машины, но позже он был портирован для работы на архитектурах x86 и x64.
  • Linux: Linux изначально создавался для архитектуры Intel x86, но на сегодняшний день он поддерживает почти все основные платформы, включая ARM, ARM64 и т. Д., Благодаря активному сообществу разработчиков.

4. Интерфейс командной строки

  • Юникс: Начал с поддержки Борн Шелл. Теперь также поддерживает Korn и C Shell.
  • Linux: Linux в основном использовал BASH (Bourne Again Shell).

5. Цена

  • Юникс: Некоторые дистрибутивы бесплатны с платной поддержкой (например, Solaris); другие полностью оплачены.
  • Linux: По большей части бесплатные (не считая корпоративных версий с приоритетной поддержкой и т. Д.).

Хорошо, теперь, когда мы выяснили, что такое Linux и чем он отличается от Unix. Давай запачкаем руки, не так ли?

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

Чтобы узнать, как использовать Linux, вы должны сначала запустить Linux в вашей системе. Есть несколько способов сделать это, некоторые из них могут использовать Live USB и загружаться на него, устанавливать его физически на вашем компьютере, создавать мультизагрузочную систему с двумя операционными системами, устанавливать ее на виртуальную машину (Virtual Machine), а также аренду Linux-сервера и подключения к нему SSH. Я уверен, что эксперты расширили бы этот список еще несколькими вариантами, но для краткости давайте остановимся на вышеизложенном. Хотя конечным результатом использования всех вышеперечисленных настроек будет получение доступа к консоли для выполнения команд Linux, шаги для этого зависят от каждого из них по количеству и сложности.

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

Мое единственное предположение, которое я буду продвигаться вперед, будет следующее.

  • У вас есть приличный компьютер (4-8 ГБ ОЗУ, относительно недавний процессор, такой как Intel Core i3 как минимум, как минимум 30 ГБ свободного места на SSD / HDD).
  • Вы подключены к приличному интернет-соединению (вам понадобится это, чтобы загрузить пару вещей).
  • Вы знаете базовые вещи, такие как установка прикладной программы в Windows или macOS (в зависимости от того, что вы используете).

Если вы можете отметить все вышеперечисленное, вы определенно в лиге. Хорошо, для начала нам понадобится пара вещей (в буквальном смысле).

  • Дистрибутив Linux (здесь мы будем использовать Ubuntu).
  • Гипервизор (приложение, которое позволяет нам установить дополнительную ОС поверх нашей основной ОС), мы будем использовать Virtual Box.

Отлично, теперь, когда все формальности позади, приступим к интересным вещам!

Шаг 1: Зайдем Веб-сайт Ubuntu и загрузите Ubuntu 16.04.x ​​LTS (мы используем это только для стабильности, так что вы не получите ненужных ошибок по пути).

Скачать Ubuntu

Как только вы закончите загрузку, у вас должен быть .iso файл в вашей системе. Вот как бы это выглядело.

Скриншот ISO

Шаг 2: Теперь отправляйтесь в Страница загрузок VirtualBox и скачать Пакет платформы VirtualBox 5.x в зависимости от того, какую ОС вы используете в настоящее время. Например, если вы используете Windows, получите первую, в которой написано Хосты Windows.

Скачать VirtualBox

Шаг 3: Теперь, когда у вас есть оба необходимых файла, просто установите VirtualBox. Просто дважды нажмите на .exe or .dmg файл, который был загружен, и следуйте инструкциям на экране. Убедитесь, что вы не делаете там ничего особенного, просто принять значения по умолчанию и завершите установку.

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

Экран VirtualBox

Шаг 4: Теперь мы продолжим и начнем установку Ubuntu через VirtualBox. Нажмите Новинки в верхнем левом углу окна VirtualBox. Вы получите диалоговое окно с просьбой назвать операционную систему. Введите Ubuntu в Имя, выберите Тип as Linux и Версия as Ubuntu (64-разрядная) и нажмите Продолжить (более новые версии Virtual Box будут автоматически заполнять поля Тип и Версия в зависимости от того, что вы ввели в поле Имя).

Новая ОС

Шаг 5: Теперь вас попросят указать объем оперативной памяти, который будет использовать эта гостевая ОС (Ubuntu); по умолчанию — 1 ГБ, что достаточно, поэтому оставьте его там и нажмите Продолжить.

Параметры памяти

Шаг 6: Здесь вам нужно указать жесткий диск, который будет использоваться операционной системой. Часто люди загружают предварительно сконфигурированные установки своих экземпляров виртуальных ящиков в форме чего-то известного как техника. Бытовая техника работает по принципу «включай и работай».

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

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

Тип жесткого диска

Шаг 7: Здесь укажите тип как ВДИ, который должен быть параметром по умолчанию, и нажмите Продолжить.

Шаг 8: Теперь выберите размер. Рекомендуется иметь динамически распределяется drive, потому что он масштабируется в соответствии с вашими потребностями по сравнению с опцией фиксированного размера, которая назначит всю сумму сразу, независимо от того, нужна она вам или нет.

Теперь выберите размер жесткого диска; это гарантирует, что жесткий диск никогда не превысит указанное количество. По умолчанию восемь, но убедитесь, что вы выбрали 9 ГБ на всякий случай.

Выбор ISO

Теперь, когда мы закончили настройку, давайте включим нашу машину. Выберите Ubuntu из списка слева и нажмите Start в строке меню окна VirtualBox. Сразу же появится диалоговое окно с просьбой вставить образ для загрузки Ubuntu. Здесь и понадобится образ Ubuntu, который мы скачали ранее. Нажать на кнопка папки (показано на изображении ниже) в диалоговом окне, перейдите и выберите образ Ubuntu и нажмите «Открыть». Как только изображение появится в раскрывающемся списке, нажмите «Пуск».

Выберите ISO с компьютера

Через пару секунд вы увидите варианты установки Ubuntu, как показано ниже. Мы можем идти вперед и «Попробуйте Ubuntu» без установки и установки. Сделаем последнее и нажмем на Установите Ubuntu.

Установщик Ubuntu
Подготовьте Ubuntu

Мы снова примем значения по умолчанию и продолжим. Снимите флажки для загрузки обновлений при установке параметров и параметров «Установить стороннее программное обеспечение» и нажмите «Продолжить». Затем проверьте Стереть диск и установить Ubuntu вариант и нажмите установить сейчас.

Появится диалоговое окно с просьбой подтвердить процесс стирания, нажмите Продолжить.

Стереть диск

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

А теперь подожди. Принеси себе кофе. Пройдет время, пока это будет сделано.

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

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

Основные команды Linux

Запустите терминал в Ubuntu следующим образом:

После запуска он должен выглядеть так.

Терминал

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

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

  • Дата и время
  • Навигация по файловой системе
  • Создание каталогов / папок и их удаление
  • Создание и удаление файлов
  • Поиск помощи

Но прежде чем пройти через это, давайте проведем церемониальный тест «Hello World» для нашего терминала, не так ли? Хорошо, а затем введите следующую команду в терминал.

эхо "Hello World"

Как только вы нажмете клавишу ввода, ваш терминал отобразит Привет мир приветствие. Это не только начинает наш список команд, но также является хорошим тестом для проверки, все ли работает должным образом. В эхо Команда отобразит строку текста, указанную после команд. Кавычки необязательны, но принято использовать их вместе с кавычками.

Привет мир

1. Дата и время

Начнем с очень простой команды, которая проверяет дату и время через терминал. Эта команда с метко названной датой отображает дату и текущее время в 24-часовом формате вместе с вашим часовым поясом. Пожалуйста, введите следующее в свой терминал, чтобы убедиться в этом сами.

данные
Время

2. Навигация по файловой системе

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

  • PWD — Прежде чем мы начнем прыгать из одной папки в другую, давайте узнаем, как узнать, в какой папке мы сейчас находимся. Вы можете сделать это с помощью PWD команда. Это означает Pечать Working Dкаталог. Просто введите следующую команду и проверьте результат.
PWD
PWD
  • ls — Команда ls в основном используется для вывода списка всего содержимого, то есть файлов и папок в данном каталоге. Просто введите следующее в свой терминал, и он перечислит все, что есть в вашем текущем каталоге.
ls
ls

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

ls -l
ls -l

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

  • cd — Теперь, когда мы знакомы с тем, как составлять список файлов и проверять текущий каталог, давайте рассмотрим, как переключаться между каталогами. Команда cd означает «Изменить каталог» и используется следующим образом. Если вы находитесь внутри каталога и в нем больше каталогов, вы можете перейти в подкаталог следующим образом.
компакт-диск NAME_OF_DIRECTORY

Замените NAME_OF_DIRECTORY в приведенной выше команде с именем каталога, в который вы хотите перейти. Пример показан ниже.

Как видите, текущий каталог меняется, как только мы входим в подкаталог.

cd

Теперь, когда мы в каталоге, как нам выйти? Что ж, вы снова можете использовать опцию вместе с cd, чтобы выйти из подкаталога в родительский каталог. В моем примере я нахожусь в ~ / iOSProjects / 100DaysOfSwift , чтобы вернуться к ~ / iOSProjects Я буду использовать следующую команду.

CD ..

Это поднимет меня на 1 уровень. Теперь я в ~ / iOSProjects каталог, как показано ниже.

CD ..

Если бы я хотел уйти от ~ / iOSProjects / 100DaysOfSwift вплоть до корня, то есть ~ , команда cd будет иметь следующую структуру.

CD ../ ..

Уровни вложенности каталогов будут определять количество ../ .. в ваших вариантах.

3. Создание и удаление папок / каталогов

CD../..

Еще одна простая задача, которую мы регулярно выполняем, — это создание и удаление папок. Это можно сделать с помощью следующих двух команд.

  • mkdir — Команда mkdir расшифровывается как Make Directory и довольно проста в использовании. Просто введите его следующим образом.
mkdir ИМЯ_OF_DIRECTORY
Команда mkdir

Заменить NAME_OF_DIRECTORY с именем, которое вы хотите дать своему новому каталогу. После этого вы можете успешно перейти к нему, как показано ниже.

  • rmdir — Команда rmdir означает «Удалить каталог» и используется для удаления каталогов / удаления каталогов. Чтобы удалить каталог, вам необходимо находиться вне его / на уровне выше него. Как только вы вне каталога и что каталог пуст, просто введите следующую команду.
rmdir NAME_OF_DIRECTORY

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

Команда rmdir

4. Создание и удаление файлов.

Далее давайте узнаем о создании файлов. Поскольку здесь мы сосредоточены исключительно на терминале, а не на других приложениях, вам может быть интересно, как бы вы создавали файлы разных форматов (txt, docx и т. Д.), Верно? ну, вот где наша следующая команда появится на картинке.

  • трогать — Хотя официальная цель использования сенсорного экрана — изменить время доступа к файлу и его модификации, его также можно использовать для создания нового файла. Он используется следующим образом.
нажмите FILENAME.EXTENSION

Заменить ИМЯ ФАЙЛА и РАСПРОСТРАНЕНИЕ с теми, кого вы хотите. Пример использования показан ниже. Если ваш терминал выполняет команду без сообщения, скорее всего, команда была успешной, и вы можете проверить, что файл был создан с помощью ls команда.

Сенсорная команда

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

  • rm — Команда rm означает «Удалить», и она выполняет то, что следует из названия, она используется для удаления файлов и каталогов. Он используется следующим образом.
rm ИМЯ ФАЙЛА.РАСШИРЕНИЕ

Заменить ИМЯ ФАЙЛА и РАСПРОСТРАНЕНИЕ с теми, кого вы хотите.

ЗАМЕТКА: Команда rm необратима, поэтому всегда проверяйте, удаляете ли вы нужные файлы. Более безопасный способ сделать это — использовать команду rm вместе с -i вариант; при этом терминал попросит вас подтвердить, хотите ли вы удалить файл или нет. Он используется следующим образом.

rm -i ИМЯ ФАЙЛА.РАСШИРЕНИЕ
rm Команда

Мы создали файл и тоже удалили его, но как насчет редактирования файлов? Как добавлять и удалять данные? Что ж, как бы вы ни были взволнованы этими аспектами, поверьте мне, когда я это говорю, это слишком сложно и гладко, чтобы вас ошеломить, если вы начинаете. Здесь мы делаем минимальные, и по мере того, как мы продвигаемся каждую неделю, такие вещи, как редактирование файлов из терминала в сообщения. А пока идем дальше.

5. Обращение за помощью

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

В Linux есть команда man, что означает «Страницы руководства». Он используется для получения документации по конкретной команде, если вы не уверены в команде, выполните следующие действия.

человек COMMAND_NAME

Замените поле COMMAND_NAME именем фактической команды, и будет представлена ​​полезная документация. Вы можете использовать Пробел прокручивать и к выход страница руководства нажмите q. Пример использования показан ниже.

справочная страница

Заключение

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

Раскрытие информации: Контент, опубликованный на TechLila, поддерживается читателями. Мы можем получать комиссию за покупки, совершенные по нашим партнерским ссылкам, без каких-либо дополнительных затрат для вас. Читайте наши Страница отказа от ответственности чтобы узнать больше о нашем финансировании, редакционной политике и способах поддержки.

Linux — это операционная система, основанная на UNIX. Она была впервые представлена Линусом Торвальдсом. Эта ОС основана на ядре Linux и может работать на различных аппаратных платформах, производимых Intel, MIPS, HP, IBM, SPARC и Motorola.

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

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

linuxkalii — материалы для изучения Linux

Занимайся хакингом как невидимка 2023

Автор: Спарк Флоу,

Эту книгу я вынес перед списком, потому что она сосредоточена на хакинге.

Обучитесь секретным навыкам Спарка Флоу, проникающего в самые отдаленные уголки облачных инфраструктур. Наблюдайте за каждым его шагом, от разведки до проникновения, когда он атакует политическую консалтинговую фирму, собирающую данные избирателей. Цель вымышленная, но уязвимости взяты из реальной жизни. Испытайте вместе с ним всю гамму ощущений настоящего хакера – от разочарования и чувства бессилия, когда взлом зашел в тупик, до восторга и гордости после триумфального достижения цели.

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

Независимо от того, являетесь ли вы профессионалом в области безопасности или просто энтузиастом, это практическое руководство поможет вам научиться проводить реальные хакерские атаки!

1. Linux Pocket Guide: Essential Commands

Автор: Дэниел Дж. Барретт

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

В этой книге представлены новые команды для обработки файлов изображений и аудиофайлов, чтения и изменения системного буфера обмена, а также для работы с PDF-файлами.

2. The Linux Command Line

Автор: Уильям Шоттс

The Linux Command Line — это книга, написанная Уильямом Шоттсом. Автор проведёт вас от самых первых нажатий клавиш терминала до написания полноценных программ с использованием оболочки Linux или командной строки.

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

3. UNIX and Linux System Administration Handbook

Авторы: Эви Немет, Гарт Снайдер, Трент Хейн, Бен Уэйли, Дэн Макни.

UNIX and Linux System Administration Handbook — это полноценное пособие, которое содержит в себе самые основные Linux-практики для системных администраторов.

Сисадминство, в этой книге, рассматривается с практической точки зрения, что, несомненно, является её плюсом.

4. Linux for Beginners: An Introduction to the Linux Operating System and Command Line

Автор: Джейсон Кеннон

Linux for beginners — это книга, написанная Джейсоном Кенноном. Особенность этой книги заключается в том, что вам не нужно никаких предварительных знаний об ОС Linux. Вы будете руководствоваться пошаговым логическим и систематическим подходом.

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

5. Linux Command Line and Shell Scripting Bible

Автор: Ричард Блум

Linux Command Bible — это справочник, написанный Ричардом Блумом. Книга содержит подробные инструкции и множество примеров.

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

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

6. SELinux

Автор: Свен Вермейлен

Данная книга расскажет вам о том, что такое SELinux, как правильно администрировать систему защиты.

Для совсем начинающих книга не подойдёт. У читателей должны иметься некоторые представления об операционной системе Linux.

7. Linux: The Complete Reference

Автор: Ричард Петерсон

The complete reference — это книга, написанная Ричардом Петерсеном. Книга включает в себя различные функции Linux, инструменты и утилиты из этого тщательно обновлённого и всеобъемлющего ресурса.

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

Книга содержит различные подробности об установке разных популярных программ Ubuntu и Red Hat/Fedora. В книге также рассказывается об инструментах, используемых различными дистрибутивами.

8. How Linux Works

Автор: Брайан Уорд

«How Linux works» — это книга, написанная Брайаном Уордом. Она знакомит вас с концепциями, лежащими в основе внутренних компонентов Linux. Это идеальный справочный материал для всех, кому интересно узнать о внутренней работе операционной системы.

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

9. Advanced Programming in the UNIX Environment

Автор: Ричард Стивенс

Книга Advanced Programming in the UNIX Environment написана Ричардом Стивенсом. Эта книга о Linux начинается с файлов, каталогов и процессов, а затем знакомит вас с более продвинутыми техниками Linux. Автор также охватывает потоки и многопоточное программирование, а также IPC на основе сокетов.

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

10. Cybersecurity Ops with bash

Автор: Пол Тронкон

Cybersecurity Ops with bash — это книга, которая содержит в себе информацию о работе с командной строкой и оболочкой bash.

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

11. Linux Kernel Development

Автор: Роберт Лав

Linux Kernel Development — это книга, написанная Робертом Лавом. В ней подробно рассказывается о разработке и реализации ядра Linux.

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

12. The Art of UNIX Programming

Автор: Эрик Рэймонд

The Art of Unix Programming — это книга, написанная Эриком С. Рэймондом.Эта книга по Linux раскрывает секреты разработки программного обеспечения первоначальных разработчиков Unix. Книга показывает, как они создавали программное обеспечение, которое является быстрым, портативным, многоразовым, модульным и долговечным.

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

13. The Linux Programming Interface

Автор: Майкл Керриск

The Linux Programming Interface — это книга, написанная Майклом Керриском. В этой книге автор приводит подробные описания системных вызовов и библиотечных функций, которые вам понадобятся для изучения программирования на Linux и т.д.

В ней рассматривается множество специфичных для Linux функций, включая epoll, notify и файловую систему /proc. В книге основное внимание уделяется стандартам UNIX (POSIX.1-2001/SUSv3 и POSIX.1-2008/SUSv4). В то же время эта книга по Linux в равной степени ценна для программистов, работающих на других платформах UNIX.

14. Ubuntu Linux Unleashed

Автор: Мэтью Хелмке

Книга Ubuntu Linux Unleashed знакомит читателей с дистрибутивом Ubuntu и корректной работой с ним. Книга будет полезна как полным новичкам, так и прогрессирующим разработчикам.

15. Linux Administration

Автор: Уэйл Сойинка

Linux Administration — это книга, написанная Уэйлом Сойинкой. Книга научит вас тому, как эффективно настраивать любую версию Linux и управлять ею на отдельных серверах или с помощью этого практического ресурса.

Это одна из лучших книг по Linux, которая предлагает чёткие объяснения, пошаговые инструкции и примеры из реального мира.

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

Статья была взята из этого источника:

  • Тестирование на проникновение с Kali Linux

    24.03.2023

    Тестирование на проникновение с Kali Linux

    Подробно рассмотрен процесс тестирования на проникновение, его виды, этапы, юридический и практический аспекты. Даны советы по согласованию плана тестирования, выбору инструментария. Рассказано о возм… Подробнее

    00

    ОтложитьЧитал

  • Системное программирование в среде Linux

    21.03.2023

    Системное программирование в среде Linux

    В данном пособии описан интерфейс прикладного программирования (API) UNIX-совместимых операционных систем: от файловых операций и использования библиотек до методов и средств разработки многозадачного… Подробнее

    00

    ОтложитьЧитал

  • Kali Linux. Библия пентестера (+ epub)

    21.12.2022

    Kali Linux. Библия пентестера (+ epub)

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

    00

    ОтложитьЧитал

  • Linux. Книга рецептов. Все необходимое для администраторов и пользователей

    00

    ОтложитьЧитал

  • Ubuntu Linux с нуля

    30.05.2022

    Ubuntu Linux с нуля

    С позиции пользователя рассмотрена работа в популярной операционной системе Ubuntu Linux, в том числе установка и настройка системы, драйверов для работы с принтерами, сканерами и другим периферийным … Подробнее

    00

    ОтложитьЧитал

  • Astra Linux. Руководство по национальной операционной системе и совместимым офисным программам

    00

    ОтложитьЧитал

  • Linux для чайников

    12.01.2022

    Linux для чайников

    Что такое open sourse и чем он отличается от программ с закрытым исходным кодом? Как устроено дерево файловой системы самого распространенного бесплатного ОС в мире? где обитают демоны linux? как отли… Подробнее

    00

    ОтложитьЧитал

  • Kali Linux. Тестирование на проникновение и безопасность (pdf + epub)

    00

    ОтложитьЧитал

  • Внутреннее устройство Linux

    14.09.2021

    Внутреннее устройство Linux

    Книга представляет собой введение во внутреннее устройство операционной системы Linux. Все положения наглядно проиллюстрированы примерами, разработанными автором и проверенными им на практике. Рассмот… Подробнее

    00

    ОтложитьЧитал

  • BPF для мониторинга Linux

    01.03.2021

    BPF для мониторинга Linux

    Виртуальная машина BPF – один из важнейших компонентов ядра Linux. Ее грамотное применение позволит системным инженерам находить сбои и решать даже самые сложные проблемы.Вы научитесь создавать програ… Подробнее

    00

    ОтложитьЧитал

  • Bash и кибербезопасность. Атака, защита и анализ из командной строки

    02

    ОтложитьЧитал

  • Linux в действии (pdf+epub)

    01

    ОтложитьЧитал

  • Free Pascal и Lazarus. Учебник по программированию

    03

    ОтложитьЧитал

  • Системы управления бизнес-процессами и административными регламентами на примере свободной программы RunaWFE

    00

    ОтложитьЧитал

  • Открытая организация

    11.06.2019

    Открытая организация

    Джим Уайтхёрст – президент и генеральный директор Red Hat, крупнейшей в мире корпорации, выпускающей программное обеспечение с открытым исходным кодом, – делится секретами управления высокоэффективной… Подробнее

    00

    ОтложитьЧитал

  • Алгоритмы формирования изображений состояний объектов для их анализа глубокими нейронными сетями

    00

    ОтложитьЧитал

  • Операционные системы и среды. Основные понятия теории

    20

    ОтложитьЧитал

  • Linux. Справочное пособие

    22.04.2019

    Linux. Справочное пособие

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

    00

    ОтложитьЧитал

  • Современные операционные системы

    23.04.2019

    Современные операционные системы

    Эндрю Таненбаум представляет новое издание своего всемирного бестселлера, необходимое для понимания функционирования современных операционных систем. Оно существенно отличается от предыдущего и включа… Подробнее

    10

    ОтложитьЧитал

  • Kali Linux от разработчиков (pdf+epub)

    00

    ОтложитьЧитал

  • Linux API. Исчерпывающее руководство

    01.11.2018

    Linux API. Исчерпывающее руководство

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

    00

    ОтложитьЧитал

  • Unix и Linux: руководство системного администратора

    01

    ОтложитьЧитал

  • Встраиваемые системы на основе Linux

    21.11.2017

    Встраиваемые системы на основе Linux

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

    00

    ОтложитьЧитал

  • Модуль управления командами GNU Linux/UNIX на языке Java

    00

    ОтложитьЧитал

  • Сценарии командной оболочки. Linux, OS X и Unix (pdf+epub)

    00

    ОтложитьЧитал

  • Запускаем Linux. 5-е издание

    03.08.2017

    Запускаем Linux. 5-е издание

    Классический труд, вышедший уже 5-м изданием, значительно расширен с целью отразить зрелость операционной системы и изобилие существующего ПО. Такие горячие темы, как воспроизведение звука и видео, ПО… Подробнее

    10

    ОтложитьЧитал

  • Запускаем Linux. 4-е издание

    03.08.2017

    Запускаем Linux. 4-е издание

    Бестселлер «Запускаем Linux», выходящий уже четвертым изданием, признан в сообществе Linux лучшим руководством для начинающих. В книге рассказано обо всем, что необходимо для понимания, установки и на… Подробнее

    00

    ОтложитьЧитал

  • Linux. Справочник. 3-е издание

    03.08.2017

    Linux. Справочник. 3-е издание

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

    11

    ОтложитьЧитал

  • Администрирование Red Hat Enterprise Linux. Учебный курс

    00

    ОтложитьЧитал

  • Устанавливаем и настраиваем Ubuntu Server 2012-2015 и офисные ПК с Ubuntu

    00

    ОтложитьЧитал

  • Внутреннее устройство Linux (pdf+epub)

    25.10.2016

    Внутреннее устройство Linux (pdf+epub)

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

    00

    ОтложитьЧитал

  • Командная строка Linux и автоматизация рутинных задач (2-е издание)

    00

    ОтложитьЧитал

  • Linux с нуля. Версия 7.3

    23.06.2015

    Linux с нуля. Версия 7.3

    Если вы мечтаете собрать свою собственную операционную систему, то книга «Linux с нуля» – именно для вас. Из нее вы узнаете, как подготовить нужный для сборки набор инструментальных средств, откуда и … Подробнее

    20

    ОтложитьЧитал

  • Администрирование сервера NGINX

    28.06.2015

    Администрирование сервера NGINX

    NGINX – это высокопроизводительный сервер, который реализует функции прокси для веб-серверов и почтовых серверов и потребляет очень мало системных ресурсов. В Интернете хватает руководств по его настр… Подробнее

    00

    ОтложитьЧитал

  • За пределами проекта «Linux® с нуля». Версия 7.4. Том 2

    00

    ОтложитьЧитал

  • За пределами проекта «Linux® с нуля». Версия 7.4. Том 1

    00

    ОтложитьЧитал

  • Самоучитель системного администратора

    00

    ОтложитьЧитал

  • Linux. От новичка к профессионалу

    15.04.2015

    Linux. От новичка к профессионалу

    Даны ответы на все вопросы, возникающие при работе с Linux: от установки и настройки этой ОС до настройки сервера на базе Linux. Материал книги максимально охватывает все сферы применения Linux от зап… Подробнее

    02

    ОтложитьЧитал

  • Обучение компьютерной графике с использованием свободно распространяемого программного обеспечения

    00

    ОтложитьЧитал

  • Моделирование инструкций поддержки транзакционной памяти в современных центральных процессорах

    00

    ОтложитьЧитал

Skip to content

Menu

 

  • Главная
  • Новости
  • Дистрибутивы
    • Ubuntu
      • Ubuntu
        • Сайт
        • Скачать
      • Kubuntu
      • Lubuntu
      • Ubuntu Budgie
      • Ubuntu Kylin
      • Ubuntu MATE
      • Ubuntu Studio
      • Ubuntu Touch
      • Ubuntu Unity
      • UbuntuDDE
      • Xubuntu
    • Manjaro
    • Deepin / UOS
    • eOS
    • SteamOS
    • Chrome OS
  • Полезные ссылки
    • Книги
    • Магазины приложений
      • Snap Store
      • Flathub
      • AppCenter elementary OS
    • Каталог сайтов о Linux
    • Каталог Linux каналов
    • Каталог Linux чатов
  • Стать автором
  • О нас
    • Социальные сети
      • Discord
      • ВКонтакте
      • Телеграм чат
      • Телеграм канал
    • Блог
    • Авторы
    • Контакты
  • Вход

Книга «Linux на примерах» (2017) Скачать PDF

Автор: Донцов В.П., Сафин И.В.
Название: Linux на примерах
Год выпуска: 2017
Категория: Linux, UNIX
Издательство: «НиТ» Наука и Техника (СПб)
Язык: Русский
Просмтреть/Скачать PDF: Google Диск

Описание:

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

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

Практический курс по работе в Linux:

  • от основ работы до продвинутого администрирования
  • офисные пакеты
  • полезные программы
  • интернет
  • безопасность Linux


Донцов В.П., Сафин И.В. — Linux на примерах (2017)

Понравилась статья? Поделить с друзьями:
  • Циклим аланин инструкция по применению цена отзывы побочные эффекты аналоги
  • Тарковский инструкция для зрителя или как смотреть гения
  • Руководство ространснадзора россии
  • Живокост окопник мазь инструкция по применению цена
  • Газобетон в домашних условиях инструкция компоненты