Линукс операционная система инструкция

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

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

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

В последние несколько лет все больше и больше людей ищут возможность войти в ИТ или поглубже изучить 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, и, скорее всего, не раз. Но вот что по-настоящему удивляет — Linux сейчас просто повсюду! Он крутится не только на серверах и умных холодильниках, но даже в устройствах, о которых ты и не подозревал. Например, кто бы мог подумать, что в телефоне или роутере может работать этот таинственный «пингвин»? Да и в Windows он уже давно тусуется — такие вот дела.

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

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

Готов? Поехали!

Ты сделал первый шаг — решил установить Linux. Ура! Но сразу столкнулся с неожиданной проблемой: дистрибутивов Linux так много, что можно впасть в лёгкую панику. Это как зайти в чайный магазин и обнаружить, что там сотни сортов чая — глаза разбегаются, и хочется просто выйти. Не спеши уходить! Сейчас всё разложим по полочкам.

На самом деле, весь этот хаос дистрибутивов можно свести к нескольким «семействам». И тут главных героев всего трое: Debian, Red Hat и Arch. Есть, конечно, и другие дистрибутивы, но давай сосредоточимся на этих ребятах.

Если ты только начинаешь своё путешествие в мир Linux, то самым простым и понятным выбором будет Ubuntu. Это как первый велосипед — легко учиться и не больно падать. Компания Canonical, которая за ним стоит, сделала всё, чтобы даже самые зелёные пользователи не запутались в настройках. Плюс, у Ubuntu есть огромное сообщество, которое всегда готово прийти на помощь. Если вдруг сломается что-то — не паникуй, скорее всего, кто-то уже сталкивался с такой проблемой и нашёл решение.

sudo apt install ubuntu-desktop

Но это ещё не всё! У Ubuntu есть несколько «собратьев» на базе Debian, которые тоже подойдут новичкам:

  • Linux Mint — это как Ubuntu, только с мятной свежестью. Он тоже дружественен к пользователям и не требует много ресурсов.
  • Raspberry Pi OS — создан специально для крошечного компьютера Raspberry Pi, если ты вдруг решил стать гуру DIY.
  • Kali Linux — это вообще легенда для тех, кто интересуется кибербезопасностью. Но! Не устанавливай Kali как основную систему — это дистрибутив для виртуальных машин и специальных задач.

Если ты нацелен на что-то более серьёзное и корпоративное, то обрати внимание на Red Hat и его «семейку». Тут лидируют три дистрибутива:

  • Fedora — для тех, кто хочет чего-то новенького и современного.
  • RHEL (Red Hat Enterprise Linux) — это уже для больших компаний, которые занимаются серверами и крупными проектами.
  • Rocky Linux — бесплатная версия RHEL, созданная для обычных пользователей, которым не хочется тратиться на лицензию.

Теперь поговорим о настоящих мастерах. Если ты из тех, кто хочет не просто установить систему, а буквально собрать её по кусочкам, то тебе нужен Arch Linux. Это как играть в Lego, только вместо пластмассовых блоков ты собираешь рабочую операционную систему.

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

  • Manjaro — это как Arch, но уже с готовой конфигурацией, которая идеально подойдёт новичкам.
  • EndeavourOS — ещё один упрощённый вариант Arch, который можно начать использовать прямо «из коробки».

Таким образом, выбор Linux-дистрибутива — это не просто вопрос вкуса, а выбор системы, которая лучше всего подходит под твои задачи. Хочешь простоты? Бери Ubuntu. Готов к серьёзным экспериментам? Тогда тебя ждёт Arch. Выбирай и погружайся в мир Linux!

Чтобы не загружать тебя сразу сложными терминами, давай начнём с простого. Unix — это как древний мастер кунг-фу, мудрый и опытный, а Linux — его молодой и энергичный ученик, который быстро завоевал популярность. Но что конкретно это значит?

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

Однако плата за Unix не устраивала всех, и здесь на сцену выходит гений open-source движения — Ричард Столлман. В 80-х годах он основал проект GNU, целью которого было создать свободную альтернативу Unix, и мир изменился навсегда.

Всё шло по плану у Ричарда, но у проекта GNU не было собственного ядра. И тут, словно супергерой, появился Линус Торвальдс, который в 1991 году создал ядро Linux. Это стало настоящей революцией! Соединив открытые компоненты GNU с ядром Linux, мир получил бесплатную, надёжную операционную систему, которая не уступала коммерческим Unix.

Но, несмотря на это, Столлман всё равно настаивает, что правильное название системы — GNU/Linux, ведь она состоит из компонентов GNU. Но людям проще называть её просто Linux (и согласись, так звучит круче, особенно с талисманом — пингвином Туксом).

Unix, хотя и потерял свою доминирующую позицию, не ушёл с арены. Его потомки всё ещё популярны в виде FreeBSD и OpenBSD — бесплатных операционок, которые продолжают использовать идеи Unix. А знаешь, что ещё круче? macOS и iOS, которыми пользуются миллионы людей, тоже основаны на Unix. Так что Unix всё ещё с нами, просто в более элегантной упаковке.

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

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

Так что давай скажем «спасибо» дедушке Unix, но будем осваивать мир с молодым и энергичным Linux!

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

Ядро — это самый важный компонент любой операционной системы, будь то Windows, macOS или наш любимый Linux. Оно отвечает за то, чтобы всё «железо» твоего компьютера — процессор, оперативная память, жёсткий диск и другие компоненты — дружно работали вместе. По сути, оно координирует взаимодействие между твоими программами и физическим оборудованием. Примерно как диспетчер на вокзале: программы «подают заявки», а ядро решает, кто первым займёт ресурсы и что будет делать.

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

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

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

Код для просмотра установленных ядер:

uname -r # Покажет, какая версия ядра сейчас используется

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

Пример команды для сборки ядра:

make menuconfig
make
sudo make install

Звучит страшно, правда? Но если ты осилишь этот процесс, то точно почувствуешь себя мастером Linux!

Ядро — это сердце Linux, которое работает всегда и везде. Даже если ты не углубляешься в его настройки, приятно осознавать, что оно надёжно управляет твоей системой и обеспечивает её бесперебойную работу. А если когда-нибудь захочется покопаться глубже — всегда есть возможность сделать систему такой, как ты хочешь!

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

Пакетный менеджер — это специальная программа, которая управляет установкой, обновлением и удалением приложений в твоей системе. Он делает всё, чтобы программы «дружили» друг с другом, были обновлены и работали правильно.

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

Каждое «семейство» Linux использует свой пакетный менеджер. Вот самые популярные:

  • В дистрибутивах на базе Debian (например, Ubuntu и Linux Mint) — APT.
  • В системах на базе Red Hat (Fedora, CentOS, Rocky Linux) — DNF.
  • В Arch и его родственниках — Pacman.

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

В Ubuntu (и других дистрибутивах на базе Debian) все делается с помощью пакетного менеджера APT. Вот пример простой команды, которая установит браузер Firefox:

sudo apt update && sudo apt install firefox

Что происходит? Сначала ты обновляешь список доступных пакетов (чтобы система знала о последних версиях программ), а потом устанавливаешь браузер. Проще некуда!

Если ты используешь Arch Linux или Manjaro, то за установку программ отвечает Pacman. Вот аналогичная команда для установки Firefox:

sudo pacman -S firefox

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

Для Ubuntu и других дистрибутивов на базе Debian:

sudo apt update && sudo apt upgrade

Для Arch и Manjaro:

sudo pacman -Syu

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

Кроме того, существуют PPA (Personal Package Archives) — это такие личные «склады» разработчиков, куда они загружают свои свежие версии программ. Но будь осторожен: не всегда такие репозитории стабильно работают, так что проверяй, откуда ты устанавливаешь ПО!

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

  • Snap (разработан Canonical, создателями Ubuntu).
  • Flatpak — независимый от дистрибутива формат.
  • AppImage — программы в одном файле, которые можно запускать сразу после загрузки.

Они полезны, если ты хочешь установить что-то свежее или специфическое, что ещё не появилось в официальных репозиториях.

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

Если ты думаешь, что Linux — это только чёрный экран и куча непонятных команд, то у меня для тебя хорошие новости: в Linux тоже есть красивые окна, иконки и удобные рабочие столы! Да, терминал — важная часть системы, но современный Linux вполне может похвастаться симпатичным графическим интерфейсом, который ничем не уступает Windows или macOS. Но что стоит за всей этой красотой?

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

В мире Linux есть два основных игрока:

  • X.Org — это старичок, который давно работает и является классическим сервером дисплея для многих дистрибутивов.
  • Wayland — это новичок, который стремительно набирает популярность благодаря своей лёгкости и безопасности.

Если провести аналогию, X.Org — это проверенный временем механик, который знает всё о старых машинах, а Wayland — это молодой инженер, который работает быстрее и с новыми технологиями. Многие дистрибутивы уже переходят на Wayland, но X.Org по-прежнему остаётся верным вариантом для тех, кто хочет стабильности.

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

Среди самых популярных оконных менеджеров:

  • Mutter (используется в GNOME)
  • KWin (в KDE)
  • i3 и Xmonad — для любителей минимализма и работы в тайловом режиме, где окна располагаются автоматически и не перекрывают друг друга.

А теперь самое интересное. В Linux ты можешь выбирать не только программы, но и Desktop Environment (DE) — рабочую среду. Это нечто большее, чем просто окна и меню — это целый набор программ и интерфейсов, которые определяют внешний вид и функциональность твоего рабочего стола.

Вот несколько самых популярных рабочих сред:

  • GNOME — если ты любишь минимализм и плавность, это для тебя. GNOME выглядит стильно и современно, но может показаться «тяжёлым» на слабых компьютерах.
  • KDE Plasma — это противоположность GNOME. Здесь у тебя будет куча настроек и возможностей кастомизации. Можно изменить буквально всё: от размеров окон до того, как будут выглядеть кнопки.
  • Xfce — для тех, кто ценит лёгкость и скорость. Эта среда работает очень быстро, даже на старых компьютерах.
  • LXDE и LXQt — ещё более лёгкие варианты для минималистов, которые хотят выжать максимум из старого «железа».

Хочешь максимальную настройку? Попробуй i3 или Awesome — это оконные менеджеры, которые подойдут гикам, любящим полный контроль над каждым элементом.

Вот в чём прелесть Linux: ты не обязан выбирать что-то одно раз и навсегда. Ты можешь попробовать разные рабочие среды, поставить несколько и переключаться между ними. Сегодня у тебя минималистичный Xfce, а завтра — суперкастомизируемый KDE. Главное — экспериментировать и выбрать то, что тебе по душе.

Не нужно переустанавливать всю систему, если ты захочешь сменить рабочую среду. Просто установи новую прямо через терминал! Например, если тебе понравился KDE, вот команда для его установки в Ubuntu:

sudo apt install kde-plasma-desktop

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

Linux предоставляет огромную свободу выбора графического интерфейса, что делает его особенно привлекательным для тех, кто хочет подстроить систему под себя. Хочешь классический и интуитивный интерфейс? Выбирай GNOME или KDE. Любишь лёгкость и скорость? Xfce или LXQt ждут тебя. А если ты фанат минимализма — попробуй i3 и Xmonad.

Когда речь заходит о Linux, многие представляют себе страшный чёрный экран с кучей непонятных букв и цифр. Да, это и есть командная строка! Но не бойся: это не враг, а мощный инструмент, который сделает тебя настоящим мастером Linux. В мире Windows ты привык к графическим окошкам, а в Linux за всем этим стоит командный интерпретатор. И, честно говоря, без него далеко не уедешь.

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

Самый популярный шелл в Linux — это bash (Bourne Again SHell), но есть и другие: Zsh, Fish и даже Csh. Каждый из них имеет свои особенности, но для начала тебе вполне хватит bash, который идёт по умолчанию в большинстве дистрибутивов.

Может показаться, что командная строка — это шаг назад по сравнению с графическими интерфейсами. Но не спеши делать выводы. С помощью командного интерпретатора ты можешь:

  • Выполнять операции быстрее, чем через графический интерфейс.
  • Автоматизировать повторяющиеся задачи.
  • Управлять системными процессами, файлами и сетями с максимальной точностью.
  • Создавать собственные программы — скрипты, которые могут выполнять любые действия.

Пример простой команды для вывода списка файлов в текущей папке:

ls

Вот и всё! Одна команда — и ты видишь, что у тебя в папке.

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

  • ls — показывает содержимое текущей папки (по сути, это аналог «Мой компьютер»).
  • cd /путь/к/папке — перемещает тебя в другую папку. Хотел бы ты оказаться в другой директории? Эта команда — твой телепорт.
  • pwd — покажет, где ты находишься в файловой системе (если вдруг заблудился).
  • cp файл1 файл2 — копирует файл. Хотел сделать дубликат? Вот он!
  • mv файл1 файл2 — перемещает файл или переименовывает его.
  • rm файл — удаляет файл. Но осторожно: восстановить удалённое будет сложно!
  • man команда — твоя инструкция по применению. Если забыл, как работает команда, введи man и узнай все подробности.

man ls # Покажет документацию по команде ls

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

Простой пример скрипта:

#!/bin/bash
echo «Привет, мир!»

Сохрани этот код в файле с расширением .sh, дай ему права на выполнение:

chmod +x файл.sh

И запусти:

./файл.sh

Вуаля! Ты только что создал свой первый Linux-скрипт.

Хотя bash — это классика, многим пользователям нравится Zsh (Z shell). Он обладает теми же функциями, что и bash, но предлагает множество «бонусов»: красивые темы для командной строки, автодополнение и даже исправление опечаток. Если ты хочешь немного поэкспериментировать, попробуй установить Zsh.

Команда для установки Zsh в Ubuntu:

sudo apt install zsh

И не забудь установить Oh My Zsh — это как раз те самые темы и улучшения, которые делают работу в командной строке ещё приятнее:

sh -c «$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)»

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

Не стоит бояться командной строки — она станет твоим надёжным союзником, если ты дашь ей шанс. Начни с простых команд, а потом постепенно изучай всё больше и больше возможностей, которые предоставляет командный интерпретатор Linux. И не забывай — всё в твоих руках, буквально!

Когда ты работаешь в Linux, у каждого пользователя есть свой собственный «дом» — домашний каталог. Это место, где хранятся все твои файлы, настройки и даже секретные данные. Представь себе это как твою персональную квартиру в большом доме Linux. Никто, кроме тебя, не может туда зайти (если ты, конечно, не разрешишь), и всё здесь настроено так, чтобы тебе было удобно.

Когда ты создаёшь нового пользователя в системе, для него автоматически создаётся папка, которая становится его домашним каталогом. Эта папка обычно располагается в директории /home, и её имя совпадает с именем пользователя. Например, если тебя зовут Linus, твой домашний каталог будет выглядеть так: /home/linus.

Вот как выглядит структура домашнего каталога:

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

Код для быстрого перехода в домашний каталог:

cd ~

Знак ~ — это сокращение для домашнего каталога пользователя. Очень удобно, правда?

Теперь давай поговорим о самом интересном — скрытых файлах. В Linux скрытые файлы — это не какие-то мистические данные, а просто обычные файлы, имена которых начинаются с точки «.». Например, .bashrc или .profile. Эти файлы не отображаются в проводнике или при обычном просмотре каталога, что делает их «невидимыми», но на самом деле они выполняют важную роль.

Чтобы увидеть скрытые файлы в командной строке, используй флаг -a с командой ls:

ls -a

Теперь ты увидишь всё, что было скрыто, включая такие важные файлы, как:

  • .bashrc — конфигурационный файл для командного интерпретатора bash. Здесь можно прописывать свои команды, алиасы и другие настройки.
  • .ssh/ — папка, в которой хранятся ключи для безопасного подключения по SSH.
  • .profile — файл, который выполняется при входе в систему, содержит персональные настройки.
  • .bash_history — здесь сохраняется история всех твоих команд. Иногда полезно взглянуть, какие команды ты запускал раньше.

Скрытые файлы созданы для удобства. Когда у тебя есть куча конфигурационных файлов, они могут загромождать твой каталог. Чтобы избежать беспорядка, их «прячут», добавляя точку перед именем. Это не делает их менее важными — наоборот, они помогают системе работать так, как ты хочешь, без того, чтобы маячить перед глазами каждый раз, когда ты открываешь свою папку.

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

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

  • r (read) — право на чтение файла.
  • w (write) — право на запись.
  • x (execute) — право на выполнение файла как программы.

Ты можешь увидеть права доступа к файлам с помощью команды ls -l:

ls -l

Если ты захочешь изменить права к файлам, то воспользуйся командой chmod:

chmod 755 файл

Это даст владельцу файла все права (rwx), а всем остальным — только право читать и выполнять файл (r-x).

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

Если ты вдруг потеряешься в своих каталогах, всегда можно использовать команду pwd — она покажет, где ты сейчас находишься. А для перемещения между папками используй команду cd:

cd ~/Documents # Переместиться в папку «Документы» в домашнем каталоге

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

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

Добро пожаловать в мир командной строки! Чтобы стать настоящим мастером Linux, не нужно учить тысячи команд наизусть — достаточно освоить базовые, и ты уже будешь на голову выше большинства новичков. Командная строка — это как твой личный инструктор по боевым искусствам: если ты знаешь основные движения, ты сможешь справиться с любыми задачами.

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

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

Чтобы увидеть скрытые файлы (те, которые начинаются с точки), используй флаг -a.

Хочешь больше информации о файлах? Флаг -l покажет тебе размеры файлов, их права и дату последнего изменения.

Команда cd (change directory) позволяет перемещаться между папками, как будто ты телепортируешься.

Чтобы быстро вернуться в домашний каталог, просто введи cd ~

А если хочешь перейти на уровень выше cd ..

Заблудился в дебрях файловой системы? Команда pwd (print working directory) покажет, где ты находишься.

Теперь ты точно знаешь, в какой папке ты застрял!

Хочешь сделать копию файла? Используй cp (copy). Например, чтобы скопировать файл file.txt в backup.txt введи cp file.txt backup.txt

Эта команда создаст клон файла с новым именем.

mv (move) используется для перемещения или переименования файлов. Например, чтобы переместить файл в другую папку: mv file.txt ~/Documents

А если хочешь переименовать файл: mv oldname.txt newname.txt

rm (remove) — команда для удаления файлов. Но будь осторожен: в Linux нет «Корзины», как в Windows, так что удалённые файлы не восстановить!

Чтобы удалит файл: rm file.txt

Чтобы удалить целую папку вместе со всеми её файлами, используй флаг -r: rm -r foldername

chmod изменяет права доступа к файлам, а chown — владельца файла. Это пригодится, когда тебе нужно установить, кто и что может делать с твоими файлами.

Пример: дать полные права на выполнение владельцу и разрешить только чтение другим пользователям: sudo chmod 755 script.sh

Чтобы изменить владельца файла: sudo chown username file.txt

Если хочешь быстро посмотреть содержимое файла, используй cat (concatenate). Например: cat file.txt

Если файл слишком большой и не помещается на экране, используй less или more: less file.txt

Теперь ты можешь пролистывать файл строчка за строчкой.

Команда grep помогает искать текст внутри файлов. Например, ты хочешь найти все строки с текстом «Linux» в файле notes.txt: grep «Linux» notes.txt

Если файлов много, можно сделать поиск сразу по всей папке: grep -r «Linux» ~/Documents

Если ты потерял файл, команда find придёт на помощь. Например, чтобы найти файл с именем document.txt в папке /home: find /home -name document.txt

Ты можешь искать файлы по разным критериям: дате создания, размеру и даже содержимому.

Чтобы создать новую папку, используй mkdir (make directory). Например, создадим папку new_folder: mkdir new_folder

А если нужно создать несколько вложенных папок сразу, добавь флаг -p: mkdir -p parent_folder/child_folder

touch создаёт пустой файл. Это как чистый лист для твоих заметок: touch newfile.txt

sudo (superuser do) даёт тебе права администратора для выполнения команды. Это опасная штука, так что используй её с осторожностью. Например, чтобы установить программу: sudo apt install program_name

Sudo превращает тебя в суперпользователя на один момент, и ты можешь делать что угодно, но с большой силой приходит большая ответственность!

df показывает, сколько свободного места осталось на дисках: df -h

А du покажет, сколько места занимает конкретная папка: du -sh foldername

Чтобы увидеть, какие программы и процессы сейчас запущены в системе, используй ps (process status): ps aux

Для более подробной информации в реальном времени используй top или более продвинутую версию — htop: htop

Это твоя панель управления ресурсами системы, где можно увидеть, сколько памяти и процессора тратят программы.

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

Знаешь, что самое крутое в Linux? Это как играть в Lego! Ты можешь собирать систему из отдельных частей, подстраивая её под свои нужды, как настоящий архитектор. Любишь кастомизацию и хочешь, чтобы всё было именно так, как тебе хочется? Linux — это твоя платформа для творчества. С помощью командной строки можно соединять разные программы и команды, создавая настоящие шедевры автоматизации. Хочешь научиться строить свой идеальный Linux-системный «город»? Давай разбираться!

Представь, что у каждой команды в Linux есть «рот» и «уши». Через «рот» команда выдаёт результат своей работы — это называется стандартный вывод (stdout). А через «уши» команда может получать данные от другой команды — это стандартный ввод (stdin).

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

Допустим, ты хочешь посмотреть список всех файлов в папке, но только тех, которые содержат слово «document». Используем команду ls (показывает файлы) и grep (фильтрует данные):

ls -la | grep «document»

Что здесь происходит? Сначала команда ls выводит список файлов, а команда grep отбирает только те строки, которые содержат слово «document». Это как если бы ты с помощью сита отбирал только нужные песчинки.

А что, если тебе нужно сохранить результат работы команды в файл? Нет проблем! Используй символ >, который направит вывод команды в файл.

Пример:

ls -la > file_list.txt

Эта команда создаст файл file_list.txt и запишет туда список всех файлов в папке. Это как сделать снимок экрана, только в текстовом виде.

Давай углубимся и создадим цепочку команд, которая поможет нам найти самые большие файлы в системе. Сначала мы используем команду du (disk usage) для подсчёта размера файлов, затем сортируем их по размеру с помощью sort, а потом выведем только самые большие с помощью head.

Вот как это выглядит:

du -h /path/to/folder | sort -rh | head -n 10

Расшифровка:

  • du -h выводит размер файлов в удобном формате (человекопонятный, то есть с мегабайтами и гигабайтами).
  • sort -rh сортирует их в обратном порядке по размеру.
  • head -n 10 выводит только первые 10 строк — то есть 10 самых больших файлов.

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

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

Пример простого скрипта:

#!/bin/bash
echo «Начинаем бэкап…»
tar -czf backup.tar.gz /home/username
echo «Бэкап завершён!»

Здесь мы создаём архив всех файлов из домашнего каталога пользователя и сохраняем его в файл backup.tar.gz. Теперь ты можешь запускать этот скрипт в любой момент:

./backup.sh

Вуаля! Ты только что автоматизировал резервное копирование.

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

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

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

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

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

Пример запроса:

tldr tar

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

Если ты хочешь более подробное объяснение, заходи на cheat.sh — гигантскую онлайн-базу с примерами использования команд. Всё, что тебе нужно сделать, — это ввести запрос в браузере или через командную строку.

Пример команды:

curl cheat.sh/ls

Этот запрос вернёт тебе список примеров использования команды ls с объяснениями. Здесь ты найдёшь как базовые операции, так и более продвинутые трюки.

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

Пример:

man grep

Эта команда откроет полное руководство по grep. Но будь готов: иногда оно бывает сложноватым для новичков. Если информация в man слишком тяжёлая, попробуй info — она часто предоставляет более читаемые версии инструкций:

info grep

Когда ты сталкиваешься с длинной и запутанной командой и не понимаешь, что она делает, на помощь придёт Explainshell.com. Этот сайт разбивает команду на части и объясняет, что делает каждый параметр.

Пример использования:

  • Заходишь на сайт, вводишь команду вроде:

tar -czvf backup.tar.gz /home/username

  • Explainshell покажет, что каждый флаг в команде означает. Теперь ты понимаешь, что -c — это создание архива, -z — сжатие, -v — вывод на экран процесса, а -f — имя файла.

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

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

Пример установки в Ubuntu:

sudo apt install marker

Теперь тебе не придётся каждый раз гуглить нужную команду — Marker всегда под рукой и готов подсказать!

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

Чтобы просмотреть историю:

history

А если ты помнишь, что в команде было какое-то ключевое слово, можно использовать grep, чтобы отфильтровать нужное:

history | grep «sudo»

Таким образом, ты быстро найдёшь все команды с sudo, которые вводил за последнее время.

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

Пример:

nano ~/my_cheatsheet.txt

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

Шпаргалки — это твой лучший друг в мире Linux. Они помогут тебе не только сэкономить время, но и стать более продуктивным. Независимо от того, используешь ли ты TLDR, cheat.sh или создаёшь свои собственные подсказки, главное — знать, где искать ответы, когда они нужны. Так что не стесняйся держать шпаргалки под рукой — с ними ты всегда будешь на высоте!

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

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

В мире Linux существует несколько популярных файловых систем. Давай посмотрим на основные из них.

ext4 (Fourth Extended Filesystem) — это самая популярная файловая система для Linux. Она является стандартом для большинства дистрибутивов. Почему? Потому что она надёжная, быстрая и стабильная. Для обычного пользователя это идеальный выбор: не нужно задумываться о сложностях, просто работает.

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

Используется в дистрибутивах Ubuntu, Debian, Fedora и многих других. Если ты не хочешь лишних заморочек — ext4 это то, что тебе нужно.

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

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

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

Btrfs (B-tree Filesystem) — это одна из самых перспективных файловых систем в мире Linux. Она разрабатывается как гибкая, мощная и надёжная альтернатива классическим системам. Btrfs поддерживает моментальные снимки (snapshots), что очень полезно для резервного копирования и восстановления данных. Она также умеет эффективно управлять данными на больших дисках и имеет встроенные функции для защиты от повреждений данных.

  • Плюсы: поддержка моментальных снимков, продвинутые функции управления данными.
  • Минусы: пока ещё не так широко используется и не считается такой же надёжной, как ext4.

Если тебе важны гибкость и инновационные функции, можешь попробовать Btrfs.

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

  • FAT32 — старая файловая система, которая поддерживается всеми операционными системами, но ограничена размером файлов до 4 ГБ.
  • exFAT — это обновлённая версия FAT, которая поддерживает файлы большего размера и удобна для современных флешек и карт памяти.

Если тебе нужно подключить диск, который будет работать на всех системах, exFAT — хороший выбор.

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

  • Плюсы: полная совместимость с Windows.
  • Минусы: некоторые функции управления правами и безопасностью могут не поддерживаться в Linux.

Используй NTFS, если тебе нужно делиться файлами между Windows и Linux.

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

Код для проверки Swap-раздела:

swapon —show

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

Если тебе нужно узнать, какая файловая система используется на твоём диске, достаточно одной команды:

df -T

Эта команда покажет все подключённые файловые системы и их типы.

В Linux нужно «монтировать» (подключать) файловые системы, прежде чем с ними можно будет работать. Это как открыть дверь в комнату, чтобы попасть внутрь.

Для монтирования устройства используй команду mount:

sudo mount /dev/sdb1 /mnt

Здесь /dev/sdb1 — это устройство, которое ты монтируешь, а /mnt — папка, куда оно будет подключено. Когда ты закончишь работать с устройством, его нужно «отмонтировать»:

sudo umount /mnt

С помощью FUSE (Filesystem in Userspace) можно подключать почти любые файловые системы и даже облачные хранилища, как обычные папки. Это делает Linux невероятно гибким в работе с данными.

Файловая система — это основа твоей системы хранения данных. ext4 подойдёт для большинства пользователей, XFS — для тех, кто работает с большими файлами, а Btrfs — для тех, кто ищет инновационные решения. А если тебе нужно делиться данными с Windows, на помощь придут NTFS и exFAT. Главное — выбрать правильную систему, которая подходит для твоих задач, и следить за тем, чтобы все данные были организованы грамотно. Ведь в мире Linux порядок — это залог успеха!

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

В Linux всё начинается с одной единственной папки — корневого каталога, который обозначается как /. Представь его как центр огромного города, откуда расходятся все дороги. В отличие от Windows, где каждому диску даётся отдельная буква (C:, D:), в Linux все устройства, разделы и каталоги организованы под одним корнем /.

А теперь давай прогуляемся по главным «районам» этого города.

Вот карта основных каталогов и их функции:

  • / — Корневой каталогЭто точка отсчёта для всей файловой системы. Всё, что есть в системе, начинается отсюда. Это как главный вход в мир Linux.
  • /bin — Программы и командыЗдесь хранятся основные программы и утилиты, доступные всем пользователям. Именно отсюда запускаются такие команды, как ls, cp, mv и другие. Это как ящик с инструментами, всегда под рукой.
  • /boot — Файлы загрузчикаВ этой папке хранятся файлы, которые нужны для загрузки операционной системы. Тут находится ядро системы и другие важные файлы, без которых Linux просто не запустится. Представь это как мотор машины — без него она не поедет.
  • /dev — Файлы устройствВ Linux устройства (жёсткие диски, флешки, принтеры и даже твоя мышь) представлены как файлы. В каталоге /dev находятся специальные файлы, через которые операционная система взаимодействует с железом. Например, /dev/sda — это твой жёсткий диск.
  • /etc — Конфигурационные файлыВсе настройки системы и программ хранятся здесь. Хочешь изменить параметры сети или настройки пользователя? Добро пожаловать в /etc. Это как «панель управления» всей системы.
  • /home — Домашние каталоги пользователейЗдесь живут пользователи системы. У каждого свой «дом» — папка с его личными файлами, настройками и данными. Например, твой домашний каталог может быть /home/имя_пользователя. Это твоё личное пространство в мире Linux.
  • /lib — БиблиотекиВ папке /lib хранятся системные библиотеки — такие себе «модули», которые используют программы для выполнения своих задач. Это как коробка с детальками, которые программы берут, чтобы выполнить свою работу.
  • /mnt и /media — Точки монтирования устройствЭти каталоги используются для временного подключения устройств. Например, если ты подключил флешку, она будет смонтирована в /media. /mnt чаще используют для временных точек монтирования при работе с разделами дисков.
  • /opt — Дополнительные программыВ /opt устанавливаются программы, которые не входят в стандартный набор системы. Это сторонние приложения и утилиты, которые можно установить по желанию.
  • /proc — Информация о системеЭто виртуальный каталог, где хранятся данные о текущих процессах, памяти, устройствах и других аспектах системы. Это как мониторинг в реальном времени — через этот каталог программы могут узнавать, как работает система.
  • /root — Дом суперпользователяЭто домашний каталог пользователя root — главного администратора системы. У него свои правила, свои полномочия, и эта папка — его личное пространство.
  • /sbin — Системные утилитыЗдесь хранятся программы, которые могут выполнять только суперпользователи (администраторы). Эти утилиты используются для управления системой.
  • /srv — СервисыВ этой папке хранятся данные, связанные с сервисами, которые предоставляет твоя система. Например, веб-серверы могут хранить здесь свои файлы.
  • /tmp — Временные файлыКак следует из названия, здесь хранятся временные файлы. Программы и система используют этот каталог для краткосрочного хранения данных. После перезагрузки всё, что тут было, обычно удаляется.
  • /usr — Программы и библиотеки пользователейВ /usr находятся программы, утилиты и библиотеки, которые установлены в системе для пользователей. Это как /bin, но с расширенным набором инструментов.
  • /var — Переменные данныеЭтот каталог хранит данные, которые постоянно меняются: логи, кеши, временные файлы программы. Если ты хочешь посмотреть, что происходило в системе, загляни в /var/log — там хранятся журналы событий.

В Linux любое устройство нужно «монтировать» — это как открыть дверь, чтобы попасть в комнату. Например, если ты подключаешь флешку или внешний диск, система создаст для них точку монтирования в /media или /mnt.

Команда для монтирования устройства:

sudo mount /dev/sdb1 /mnt

Когда ты заканчиваешь работу с устройством, его нужно «отмонтировать»:

sudo umount /mnt

Это важно, чтобы избежать повреждения данных.

Ты, возможно, спросишь: зачем все эти папки и такая сложная структура? Вся эта картография — не случайность. Структура каталогов в Linux следует стандарту FHS (Filesystem Hierarchy Standard). Это гарантирует, что независимо от того, какой дистрибутив ты используешь, ты всегда сможешь найти нужные файлы в ожидаемых местах. Это своего рода универсальная карта для всех версий Linux.

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

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

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

Но будь осторожен! Если ты работаешь от имени root, одна ошибка может стоить тебе всей системы. Вот почему важно использовать эту учетную запись только в случае необходимости.

Код для входа под root (если у тебя есть права администратора):

sudo -i

Все остальные пользователи — это обычные «жители» системы, каждый из которых имеет свой личный каталог /home/имя_пользователя. В этом каталоге они могут делать всё, что захотят: хранить свои файлы, настраивать программы и даже запускать приложения. Однако у них нет доступа к важным системным файлам — это прерогатива root.

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

whoami

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

Каждый файл и каталог в Linux имеет три группы прав доступа:

  • Владелец файла — это пользователь, который создал файл. У него полные права на управление этим файлом.
  • Группа — это группа пользователей, которые могут также иметь доступ к файлу (например, в компании несколько человек могут работать над одним проектом).
  • Остальные — это все остальные пользователи системы.

Для каждой группы есть три типа прав:

  • r (read) — право на чтение файла.
  • w (write) — право на запись и изменение файла.
  • x (execute) — право на выполнение файла как программы.

Пример: если у файла права rwxr-xr—, это значит:

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

Чтобы увидеть права доступа к файлам, используй команду ls с флагом -l:

ls -l

Ты увидишь строку, похожую на эту:

-rwxr-xr—

Здесь первые три символа (rwx) обозначают права владельца, следующие три (r-x) — права группы, и последние три (r—) — права для всех остальных.

Иногда тебе нужно изменить права доступа к файлу или каталогу. Для этого используется команда chmod (change mode). Например, если ты хочешь дать владельцу полный доступ к файлу, а группе и остальным только чтение и запуск, используй:

chmod 755 filename

Здесь 755 означает:

  • 7 — полный доступ для владельца (rwx),
  • 5 — чтение и выполнение для группы (r-x),
  • 5 — чтение и выполнение для всех остальных (r-x).

Если хочешь дать полные права всем:

chmod 777 filename

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

Команда chown (change owner) позволяет сменить владельца файла или каталога. Например, если тебе нужно передать файл другому пользователю, используй:

sudo chown newuser filename

Если ты хочешь поменять владельца и группу одновременно:

sudo chown newuser:newgroup filename

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

chmod -x script.sh

Теперь этот файл больше не сможет запускаться как программа.

Если обычный пользователь хочет временно получить права суперпользователя root, он может использовать команду sudo (superuser do). Это как получить суперсилы на один момент, чтобы выполнить важную задачу.

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

sudo apt install firefox

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

Если тебе нужно более детально посмотреть права доступа и другие атрибуты файла, используй команду stat. Она покажет подробную информацию о файле:

stat filename

Эта команда особенно полезна, если тебе нужно больше данных, чем может дать стандартный ls -l.

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

Если ты привык к ярлыкам в Windows, то тебе будет интересно узнать, что в Linux есть свои аналоги — ссылки. Но Linux-ссылки гораздо мощнее и хитрее, чем обычные ярлыки. Они позволяют гибко управлять файлами, создавать их «копии», не занимая лишнего места на диске, и экономить время, не дублируя данные.

Давай разберёмся, что такое ссылки и как их правильно использовать.

Жёсткая ссылка — это как полноценная копия файла, только в другой части файловой системы. Но вот фокус: фактически файл остаётся один и тот же, просто у него появляются несколько «имен». Это как если бы у тебя было два ключа от одной и той же двери. Где бы ты ни использовал ключ, ты всё равно попадаешь в одну и ту же комнату.

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

Допустим, у тебя есть файл important.txt, и ты хочешь создать жёсткую ссылку на него в другой папке:

ln important.txt /home/user/otherfolder/important_link.txt

Теперь и important.txt, и important_link.txt — это одно и то же. Изменения в одном файле будут моментально отражены в другом. Даже если ты удалишь оригинальный файл important.txt, жёсткая ссылка продолжит существовать, так как фактически файл не был удалён до тех пор, пока существует хотя бы одна ссылка на него.

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

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

В отличие от жёстких ссылок, символическая ссылка не является копией файла, и если оригинальный файл будет удалён, симлинк станет «пустышкой». Это как если бы у тебя был адрес друга, но его дом снесли — по этому адресу ты уже ничего не найдёшь.

Чтобы создать символическую ссылку на файл important.txt в другой папке, используй команду с флагом -s:

ln -s /home/user/documents/important.txt /home/user/otherfolder/important_link.txt

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

Чтобы не запутаться, давай подытожим различия:

  • Жёсткая ссылка — это полная копия файла с другим именем, но файл остаётся один. Даже если оригинал будет удалён, ссылка продолжит существовать. Работает только в рамках одного раздела файловой системы.
  • Символическая ссылка — это указатель на оригинальный файл или каталог. Если оригинал удалён, ссылка станет недействительной. Симлинки можно создавать на разных разделах и даже для каталогов.

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

  • Организация файлов: У тебя есть важный файл, который нужно иметь под рукой в разных местах системы? Вместо копирования файла, создай на него символическую ссылку. Это не только сэкономит место, но и избавит от путаницы при обновлении данных — не придётся помнить, где лежат оригиналы.
  • Управление конфигурациями: Например, тебе нужно работать с несколькими конфигурационными файлами, которые лежат в разных местах системы. Симлинки позволят легко переключаться между версиями конфигураций, не копируя их.
  • Упрощение доступа: Ты можешь создать симлинк на часто используемые папки или программы в удобных местах. Например, вместо того чтобы каждый раз вводить длинный путь к папке:

bashКопировать кодcd /very/long/path/to/some/folder

Создай ссылку:

ln -s /very/long/path/to/some/folder ~/myfolder

Теперь ты можешь перейти в папку одним коротким командой:

cd ~/myfolder

Чтобы увидеть, является ли файл символической ссылкой и куда она указывает, используй команду ls -l. Символические ссылки будут отмечены символом ->, указывающим на оригинальный файл:

ls -l

Пример:

lrwxrwxrwx 1 user user 12 апр 1 12:00 important_link.txt -> important.txt

В этом примере important_link.txt — это символическая ссылка на important.txt.

Удалять ссылки очень просто. Символические и жёсткие ссылки удаляются так же, как обычные файлы, с помощью команды rm:

rm important_link.txt

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

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

Если ты новичок в мире Linux, то, вероятно, у тебя возникает вопрос: «Как же тут устанавливать программы?» Забудь о привычной установке приложений в стиле Windows с двойным кликом на файл .exe. В Linux есть несколько способов установки софта, каждый из которых имеет свои особенности и преимущества. Давай разберёмся, как поставить нужные программы и научиться жить в этом новом мире!

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

Всё зависит от того, какой у тебя дистрибутив:

  • В Ubuntu, Debian и их производных используется APT.
  • В Fedora, RHEL и CentOS — DNF.
  • В Arch Linux и его производных — Pacman.

Пример установки программы с помощью APT (в Ubuntu):

sudo apt install firefox

Пример для Pacman (в Arch Linux):

sudo pacman -S firefox

Если ты хочешь попробовать более универсальный способ установки, то тебе на помощь придут Snap, Flatpak и AppImage. Эти форматы работают независимо от пакетных менеджеров и дистрибутива. Программы поставляются в виде контейнеров, которые содержат всё необходимое для работы, включая библиотеки и зависимости. Это делает их удобными и надёжными.

Snap — это разработка компании Canonical (создателей Ubuntu), и этот формат позволяет легко ставить приложения с помощью команды snap.

Пример установки:

sudo snap install vlc

Для удаления программы:

sudo snap remove vlc

Flatpak — это аналог Snap, который используется в разных дистрибутивах и тоже упрощает установку приложений.

Пример команды для установки:

flatpak install flathub org.videolan.VLC

Для запуска программы, установленной через Flatpak:

flatpak run org.videolan.VLC

AppImage — это самый простой способ установки: скачиваешь файл и просто запускаешь его! Как .exe в Windows. Никакой установки не требуется.

Пример команды для запуска:

chmod +x программа.AppImage
./программа.AppImage

AppImage удобно использовать для программ, которые нечасто обновляются или нужны тебе «на пробу».

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

  • Скачай исходный код с официального сайта программы или из репозитория на GitHub.
  • Распакуй архив с исходным кодом (если это архив):

tar -xzf program.tar.gz
cd program

  • Скомпилируй программу. Чаще всего это делается командой make (но иногда нужно сначала запустить конфигурацию через ./configure):

./configure
make

  • Установи программу (понадобятся права суперпользователя):

sudo make install

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

Если ты используешь Ubuntu или другой дистрибутив на основе Debian, у тебя есть доступ к PPA (Personal Package Archives). Это репозитории, которые поддерживаются сторонними разработчиками и позволяют получать последние версии программ, которые ещё не попали в официальные репозитории.

Например, чтобы установить самую свежую версию графического редактора GIMP, ты можешь подключить PPA разработчиков:

sudo add-apt-repository ppa:otto-kesselgulasch/gimp
sudo apt update
sudo apt install gimp

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

Для дистрибутивов на основе Arch Linux существует AUR (Arch User Repository) — это репозиторий, созданный сообществом, который содержит тысячи программ. Для установки пакетов из AUR удобно использовать yay — менеджер AUR.

Пример установки программы через yay:

yay -S google-chrome

Для пользователей macOS или даже некоторых дистрибутивов Linux можно использовать Homebrew — менеджер пакетов, который позволяет устанавливать множество приложений и утилит.

Пример установки через Homebrew:

brew install htop

В отличие от Windows, где приходится искать обновления вручную, в Linux всё намного проще: обновление программ — часть повседневной работы системы. Достаточно одной команды, чтобы система проверила обновления и установила их.

Пример для Ubuntu:

sudo apt update && sudo apt upgrade

Пример для Arch Linux:

sudo pacman -Syu

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

В мире Linux установка программ может происходить разными способами, и всё зависит от твоих задач. Пакетные менеджеры — это самый простой и быстрый способ. Если тебе нужны новые программы или последние версии, попробуй Snap, Flatpak или AppImage. Для продвинутых пользователей есть установка из исходных кодов и PPA. Не бойся экспериментировать и находить для себя самый удобный способ установки софта в Linux!

Когда ты нажимаешь на кнопку включения компьютера, кажется, что Linux просто «магическим» образом запускается. Но за этой магией стоит целая цепочка процессов, которые работают слаженно и без которых система просто не загрузится. От загрузчика до запуска всех необходимых сервисов — давай разберём, как Linux «просыпается» и становится готовым к работе.

Загрузка любой операционной системы начинается с BIOS (или UEFI, если у тебя более современный компьютер). Это «низкоуровневая» программа, встроенная в твоё оборудование, которая проверяет оборудование (процессор, оперативную память, диски) и ищет загрузочный диск, чтобы запустить на нём операционную систему.

BIOS/UEFI передаёт управление следующему звену — загрузчику.

Следующий этап — это загрузчик. В Linux самым популярным загрузчиком является GRUB (Grand Unified Bootloader). Его задача — найти и загрузить ядро операционной системы.

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

Вот пример конфигурационного файла GRUB:

/etc/default/grub

Иногда тебе нужно обновить настройки GRUB, например, после установки новой операционной системы. Это делается с помощью команды:

sudo update-grub

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

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

Когда-то давно все системы Linux использовали процесс под названием init (от слова «инициализация»). Init был простым и линейным: он загружал все службы по очереди, одна за другой. Проблема была в том, что это занимало много времени.

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

Systemd не только быстрее, но и гораздо гибче. Он управляет не только запуском служб, но и их состоянием, зависимостями и мониторингом. Если что-то пошло не так, systemd может перезапустить сломавшуюся службу или сообщить об ошибке.

Чтобы увидеть все запущенные службы в системе, используй команду:

systemctl

Она покажет список всех служб и их статус (запущены ли они, остановлены или перезапущены).

Пример команды для перезапуска службы:

sudo systemctl restart apache2

Эта команда перезапустит веб-сервер Apache2.

Когда-то системы использовали понятие runlevel — это «уровни» загрузки, которые определяли, какие службы должны быть запущены. Например, runlevel 3 был многопользовательским режимом с поддержкой сети, а runlevel 5 — это полный запуск с графическим интерфейсом.

Systemd заменил старую концепцию runlevel на таргеты (targets). Теперь, вместо цифр, у нас есть понятные названия для различных уровней работы системы:

  • multi-user.target — многопользовательский режим с доступом по сети, но без графического интерфейса.
  • graphical.target — полноценный запуск с графическим интерфейсом.
  • rescue.target — эквивалент безопасного режима, который загружает систему с минимальным набором служб.

Чтобы проверить текущий таргет (уровень загрузки):

systemctl get-default

Чтобы изменить таргет, например, перейти в многопользовательский режим без графики:

sudo systemctl isolate multi-user.target

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

Пример перезапуска службы:

sudo systemctl restart sshd

Эта команда перезапустит SSH-сервер, который отвечает за удалённый доступ к системе.

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

Пример команды для просмотра всех записей:

journalctl

А чтобы увидеть только ошибки:

journalctl -p err

Журналы помогают в диагностике проблем, если что-то пошло не так. Например, если система не загружается или служба не работает, загляни в journalctl, чтобы понять, где возникла проблема.

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

sudo reboot

Эти команды корректно остановят все службы и завершат работу системы.

Загрузка Linux — это сложный и многоэтапный процесс, начиная с BIOS/UEFI и заканчивая запуском всех необходимых служб через systemd. Каждый этап имеет своё значение и критически важен для того, чтобы система заработала. Systemd значительно ускорил и упростил процесс инициализации, предоставив мощный инструмент для управления службами и таргетами. Теперь, когда ты знаешь, как это работает, ты можешь лучше контролировать свою систему, управлять службами и диагностировать возможные проблемы. А это — ключ к пониманию всей операционной системы.

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

Когда система начинает тормозить, первым делом хочется узнать, кто «ест» все ресурсы. htop — это продвинутая версия стандартной утилиты top, которая отображает в реальном времени нагрузку на процессор, использование оперативной памяти, список запущенных процессов и другие важные показатели.

Особенности htop:

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

Для установки в Ubuntu:

sudo apt install htop
htop

Теперь ты можешь видеть, какие процессы «нагружают» твою систему, и быстро реагировать на сбои.

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

Чем хороша ncdu:

  • Быстрый анализ структуры диска.
  • Удобная навигация с клавиатуры.
  • Поможет быстро найти и удалить «тяжелые» файлы.

Для установки:

sudo apt install ncdu
ncdu

С помощью ncdu ты легко найдёшь самые «тяжёлые» файлы на диске и очистишь ненужные данные.

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

Преимущества tmux:

  • Возможность работы с несколькими сессиями в одном окне.
  • Поддержка вкладок и сплит-экранов.
  • Возможность отсоединяться от сессий и возвращаться к ним позже, не теряя запущенные процессы.

Установка:

sudo apt install tmux
tmux

Tmux — это незаменимый инструмент для разработчиков и системных администраторов, которые часто работают с несколькими задачами в терминале.

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

Пример команды для копирования папки /source в /backup:

rsync -av /source /backup

Что делает rsync незаменимым:

  • Быстрая синхронизация только изменённых файлов.
  • Поддержка работы по сети (с использованием SSH).
  • Отлично подходит для автоматизации бэкапов.

Rsync — это твой верный помощник в вопросах резервного копирования и синхронизации данных.

Если тебе нужно скачать что-то из интернета прямо в терминале или сделать запрос на веб-сайт, curl справится с этим на раз-два. Эта утилита поддерживает работу с различными протоколами (HTTP, FTP, и др.) и позволяет делать запросы на удалённые серверы.

Пример команды для скачивания файла:

curl -O https://example.com/file.zip

Особенности curl:

  • Поддержка множества протоколов (HTTP, FTP, SMTP и др.).
  • Возможность автоматизации загрузок и отправки данных на серверы.
  • Полезен для работы с API и написания скриптов.

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

FFmpeg — это мощная утилита для работы с видео и аудио. Она позволяет конвертировать видеофайлы в разные форматы, извлекать звук, изменять качество видео и даже записывать экран.

Пример команды для конвертации видео:

ffmpeg -i input.mp4 output.avi

Что умеет ffmpeg:

  • Конвертация аудио- и видеофайлов в любые форматы.
  • Извлечение аудиодорожек из видео.
  • Захват экрана или веб-камеры.

Если ты работаешь с видео, FFmpeg — это инструмент, без которого не обойтись.

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

Пример поиска слова «Linux» в файле notes.txt:

grep «Linux» notes.txt

Особенности grep:

  • Быстрый поиск по тексту в файлах и каталогах.
  • Возможность фильтрации вывода команд.
  • Поддержка регулярных выражений для сложного поиска.

Grep помогает быстро найти нужную информацию даже в самых больших файлах.

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

Пример команды для открытия файла в Nano:

nano filename.txt

Для установки Vim (если он не установлен):

sudo apt install vim

Чем они хороши:

  • Nano — для тех, кто любит простоту и минимализм.
  • Vim — для тех, кто хочет полного контроля над редактированием текста и готов учиться.

Если ты хочешь управлять разделами диска (создавать, удалять, изменять их размер), Gparted — это графическая утилита, которая делает этот процесс простым и понятным. Это незаменимый инструмент для тех, кто устанавливает новые системы или перераспределяет место на жёстком диске.

Для установки в Ubuntu:

sudo apt install gparted

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

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

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

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

  • Свобода выбора. От дистрибутивов до рабочих сред — всё зависит от тебя. Ты можешь работать с лёгким Xfce, мощным GNOME или настраивать систему с помощью i3.
  • Свобода экспериментов. Пакетные менеджеры, виртуальные машины, автоматизация через скрипты — ты можешь попробовать всё это, не опасаясь, что сломаешь систему.
  • Свобода сообщества. Вокруг Linux собралось огромное сообщество. Форумы, чаты, руководства — если у тебя возникнет вопрос, всегда найдётся кто-то, кто подскажет.

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

  • Исследуй командную строку. Чем больше ты работаешь в терминале, тем быстрее и эффективнее станешь. Учись объединять команды, автоматизировать процессы с помощью скриптов и пайпов.
  • Настрой систему под себя. Попробуй разные рабочие среды, создавай уникальные конфигурации для рабочего стола, экспериментируй с темами и иконками. Linux позволяет сделать интерфейс таким, каким ты его видишь в своём воображении.
  • Открой мир виртуализации. Запускай виртуальные машины с различными дистрибутивами, изучай работу сетей и серверов, пробуй новые системы, не беспокоясь о возможных поломках.
  • Изучай скрипты и автоматизацию. В Linux всегда можно автоматизировать повседневные задачи: от резервного копирования до обновления системы. Начни с простых bash-скриптов, а затем переходи к более сложным задачам.
  • Разберись в безопасности. Linux — это основа для многих систем безопасности. Изучи основы криптографии, настрой свои SSH-ключи, установи фаерволл и экспериментируй с инструментами для тестирования безопасности.

Чтобы глубже погрузиться в ми�� Linux, обрати внимание на следующие ресурсы:

  • Форумы и сообщества: Reddit, Stack Overflow, Linux.org — это места, где ты можешь задавать вопросы, получать советы и обмениваться опытом с другими пользователями.
  • Книги и руководства: книги о Linux для новичков и опытных пользователей, такие как «The Linux Command Line» и «Linux Bible», помогут тебе углубить свои знания.
  • Онлайн-курсы: такие платформы, как Udemy, Coursera и Linux Academy, предлагают множество курсов по разным аспектам работы с Linux.

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

Linux — это не «конечная станция», а отправная точка для твоего профессионального роста, будь то системное администрирование, разработка, кибербезопасность или просто работа в комфортной и настраиваемой системе.

Теперь, когда ты стоишь у входа в этот удивительный мир, осталось только одно: начать экспериментировать! Устанавливай программы, настраивай систему, ломай и исправляй. Всё в твоих руках! Linux — это путешествие, в котором каждый новый шаг приносит новые знания и возможности.

Так что бери свою клавиатуру и мышь — и поехали!

Мой сайт:

Telegram:

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

Знакомство с Linux: установка, особенности, принципы работы

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

Знакомство с Linux: установка, особенности, принципы работы

Linux – это…

Linux – современная операционная система. Напоминает Windows, но имеет больше преимуществ. Служит базой для создания различных версий ОС. Распространяется преимущественно бесплатно, но есть и платные дистрибутивы.

Линукс выступает главным коммерческим конкурентом MacOS и Виндовс. Но использование рассматриваемой ОС несколько сложнее. Основные манипуляции здесь производятся посредством командной строки. Командами Linux достаточно легко пользоваться. Но сначала их важно изучить и понять.

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

Чем лучше Windows

У Linux имеет ряд преимуществ перед «общепринятыми» операционными системами. К ним относят следующие моменты:

  1. Поддержка на старых компьютерах. Некоторые дистрибутивы специально адаптированы под такое оборудование. Они расходуют крайне мало ресурсов.
  2. Более понятный интерфейс для большинства пользователей. Актуально для тех, кому работа с Window 8 и 10 доставляет некие неудобства.
  3. Небольшой размер. В среднем дистрибутив Linux весит около 1 ГБ. Есть и более легкие версии.
  4. Наличие бесплатного специализированного программного обеспечения. Это позволяет производить настройки и корректировку системы под собственные нужны.
  5. Высокий уровень безопасности. Изначально Linux создавался как ОС с надежной защитой. В Сети до сих пор очень мало вирусов для этого программного обеспечения. Можно сказать, что для Линукса интернет и его ресурсы предельно безопасны.
  6. Конфиденциальность. Сбор информации о пользователях и их обзвон здесь не предусматривается.
  7. Лучшая адаптивность. Из устройства на Линуксе можно выжать больше, чем при установке Виндовс.
  8. Высокий уровень надежности. Если приложения здесь зависают или не отвечают, их удается весьма быстро «убить». Никаких «Диспетчеров задач».
  9. Политика обновления. Ее использовать можно по желанию. Навязываться новые версии ПО не будут.
  10. Разнообразие. ОС может выглядеть и вести себя так, как этого хочет непосредственный юзер.

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

Недостатки

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

  1. Отсутствие некоторых «привычных» юзеру программ. Для Linux требуется специальное программное обеспечение. Не всегда приложения Window адаптированы под Линукс. Данная проблема легко решается. Приложения запускаются в отдельном ПО Wine.
  2. Малое количество игр по сравнению с Windows. Для заядлых игроков рассматриваемая операционная система подойдет не лучшим образом. Проблема решаема. Достаточно запустить эмулятор PlayOnLinux или Wine.
  3. Драйверы. У Linux есть драйверы практически для всего существующего оборудования. Но некоторые подключаемые устройства могут не работать или функционировать с ошибками. Поэтому перед приобретением устройства рекомендуется уточнить совместимость с Линуксом.

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

Дистрибутивы и их особенности

Перед тем, как устанавливать Линукс, нужно выяснить, какие именно дистрибутивы он имеет. Существует огромное множество вариантов. Каждый обладает плюсами и минусами:

Знакомство с Linux: установка, особенности, принципы работы

  1. Mint. Отличный вариант для новичков. Не требует особых навыков владения компьютерами, легко устанавливается. «Внешность» рабочего стола напоминает Windows. Подойдет для плавного перехода с Виндовс на Линукс.
  2. Debian. Самый коммерческий из всех вариантов. Здесь нет проприетарных прошивок, программного обеспечения и драйверов. Его называют «дед Linux».
  3. Ubuntu. Один из самых популярных вариантов компьютерной системы. Убунту имеет понятный и красивый интерфейс, легко устанавливается. Использовать его тоже не составит никакого труда.
  4. openSUSE. Выделяется мощностью, стабильностью. Работать с ней труднее, чем с предыдущими дистрибутивами. Установить его сложнее предыдущих разработок.
  5. Fedora. Наиболее современный. Включает в себя все новые концепции и возможности. В основе коммерческий дистрибутив.
  6. Mageia. Реинкарнация Mandriva Linux. Тоже легко используется и инициализируется.
  7. CentOS. Напоминает «Федору», но выделяется стабильностью.
  8. Manjaro. В основе лежит Arch Linux. Здесь пользователь может добиться баланса между простотой применения и современным ПО.
  9. LXLE. Версия для старых компьютеров.
  10. Arch. Мощный вариант, который предусматривает роллинг релизов. Не требует ручного обновления. Новичкам с ней достаточно трудно совладать.
  11. Элементарно. Linux с интерфейсом MacOS.

В качестве наглядного примера далее воспользуемся Ubuntu. Связано это с тем, что данная система действительно находится на слуху. Ее нетрудно запустить и применять на практике. Да и интерфейс здесь приятен глазу.

Ubuntu – чем хорош для новичков

Ubuntu – операционная система Линукса. Она отлично подойдет новичкам:

  1. Запустить Ubuntu достаточно просто, как и установить. Предварительно потребуется откорректировать лишь разметку дисков.
  2. Готовность к работе после инициализации. Основные программы и приложения для функционирования уже будут настроены.
  3. Хорошо продуманная система управления ПО. Устанавливать дополнительный контент предлагается через Synaptic. Здесь можно увидеть отзывы, рейтинги и каталог доступного обеспечения.
  4. Минимальное участие командной строки. Пользоваться Ubuntu можно вообще без данной «службы».

Отличие Ubuntu от других систем для компьютеров – простота и легкость использования.

Знакомство с Linux: установка, особенности, принципы работы

Загрузка и инициализации Убунту

Пользоваться Ubuntu сможет даже новичок. Но перед этим необходимо выяснить, как скачать последнюю версию соответствующего программного обеспечения, а затем инициализировать его. Ничего особенного делать не придется. Главное сразу определиться, куда записывать дистрибутив – на Flash-карту или диск.

Загрузка файла

Руководство по началу работы с Ubuntu предусматривает предварительное скачивание дистрибутива. Распространяется он бесплатно. Чтобы справиться с поставленной задачей, потребуется:

  1. Перейти на официальную страничку Ubuntu.
  2. Переключиться в раздел Download.
  3. Выбрать Download and Install.
  4. Определиться, какую именно версию загружать. Кликнуть по подходящей строчке в выпадающем меню.
  5. Кликнуть по кнопке Start Download.

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

Запись образа на диск

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

Чтобы создать загрузочный диск Ubuntu, потребуется:

  1. Вставить в устройство пустой диск.
  2. Запустить Nero Express.
  3. Перейти во вкладку «Образ, проект».
  4. Щелкнуть по надписи «Образ диска или сохраненного проекта».
  5. Выбрать ISO-файл с Ubuntu.
  6. Кликнуть по кнопке «Записать».

Остается дождаться завершения операции. Если все сделано верно, у пользователя на руках окажется готовый установочный диск с Ubuntu.

Запись на флешку

Для любого пользователя загрузочная флешка будет отличным спасением. С ее помощью можно создавать LiveCD (запускать ОС без установки) или проводить непосредственную инициализацию ПО.

Действовать рекомендуется следующим образом:

  1. Скачать и установить приложение для создания загрузочных флешек. Создали Ubuntu рекомендуют Universal USB Installer.
  2. Запустить утилиту.
  3. Вставить флешку в компьютер или ноутбук.
  4. Выбрать на первом шаге Linux, который хочется установить.
  5. Указать путь к ISO-файлу.
  6. Согласиться с действиями, которые будут выполнены. Они выведутся в окно-предупреждение.
  7. Щелкнуть по кнопке Create.

Для реализации поставленной задачи необходимо подготовить Flash-карту объемом около 1 ГБ.

Инициализация системы

Когда все подготовлено, можно приступать к непосредственной инициализации:

  1. Открыть BIOS на компьютере.
  2. Переключиться в расширенные настройки.
  3. Поставить приоритет загрузки в зависимости от того, откуда производится установка. Если с диска – CD/DBD ROM, если флешка – USB.
  4. Сохранить настройки.
  5. Вставить в устройство диск или загрузочную флешку. Лучше сделать это заранее.
  6. Кликнуть по любой кнопке на экране.
  7. Выбрать пункт «Установить Ubuntu».
  8. Указать язык, который будет использоваться. Пример – «Русский».
  9. Щелкнуть по кнопке «Далее».
  10. Разделить жесткий диск на несколько частей. В файловой системе Linux должен находиться на отдельном разделе. Лучше создавать 3-4 «блока» на жестком диске.
  11. Выбрать, как производить инициализацию. Пример – «Стереть диск».
  12. Указать раздел инициализации.
  13. Установить логический раздел 30 ГБ.
  14. Кликнуть по «ОК».
  15. Указать корневой раздел.
  16. Создать раздел home. Для этого предстоит кликнуть «Свободное место»-«Добавить». Выбрать Логический тип примерно на 21-22 ГБ.
  17. Добавить swap раздел аналогичным образом, но размером около 2 ГБ. Местоположение – «Начало». «Использовать» — раздел подкачки.
  18. Выбрать устройство для установки системного загрузчика. Пример — /dev/sda.
  19. Форматирование устанавливается около корневого раздела и home. Щелкнуть по «Установить сейчас».

Несколько минут – и полный Ubuntu готов к работе. По этой ссылке можно увидеть скрины каждого описанного этапа инициализации.

Запуск без установки

Убунту, как и другой Linux, может работать без установки через LiveCD:

  1. Повторить первые 6 шагов предыдущей инструкции.
  2. Выбрать пункт «Попробовать Ubuntu».
  3. Указать используемый язык в системе.
  4. Дождаться завершения операции.

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

Как быть с управлением

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

Навигация терминала

Введенные вами команды будут приводить к выполнению тех или иных действий в Линуксе. Начать стоит с навигации в терминале:

  1. &&. Амперсанд (двойной) помогает выполнять сразу несколько команд. Обработка в порядке очереди.
  2. Alias. Присваивание собственных названиям длинным командам: alias длинное_указание короткое_указание.
  3. cd. Корректировка текущей терминальной папки. При вводе без дополнительных адресов у ядра будет использоваться домашняя папка.
  4. Clear. Отвечает за очистку терминала от сообщений.
  5. History. Отображение ранее введенных указаний/инструкций. С этой возможностью не придется каждый раз вбивать операции вручную.
  6. Man. Отображение руководства по программам и командам Linux.
  7. Whatis. Краткая характеристика пакета/ПО.

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

Суперпользователь

Для большинства действий в Linux (Ubuntu в том числе) требуется обеспечить права администратора. Далее удастся выполнять разнообразные манипуляции:

  • Sudo. Дает права администратора. Ставится перед командой.
  • Sudo su. Позволяет обрабатывать несколько операций с правами суперпользователя.
  • Sudo gksudo. Для приложений с графическим интерфейсом с правами администратора.
  • Sudo !!. Отвечает за запуск ранее введенной команды от имени админа.

Использовать эти «инструменты» не рекомендуется, если пользователь не понимает, что он делает.

Процессы

Основы работы с процессами тоже должен знать каждый клиент:

  1. Kill. Принудительное завершение процессов.
  2. Xkill. Завершение процесса. После ее ввода нужно кликнуть по окну, которое хочется закрыть.
  3. Killall. Убийство всех процессов с тем или иным именем.
  4. Top. Отображение запущенных операций. Осуществляется сортировка по потреблению ресурсов компьютера.

Часто на практике встречаются именно эти манипуляции. Но они – лишь верхушка айсберга.

Знакомство с Linux: установка, особенности, принципы работы

Файлики и папочки

Есть команды в Linux для файлов и папок:

  1. Cat. Применяется одним текстовым документов, отображая его содержимое. При указании нескольких подобных файлов происходит их склеивание.
  2. Chmod. Изменение прав доступа к файлу.
  3. Chmod. Корректировка владельца документа. Используется с правами суперпользователя.
  4. File. Отвечает за вывод сведений о задействованном документе.
  5. Nano. Простой текстовый редактор. После операции указывается путь к файлику.
  6. Rename. Переименование.
  7. Touch. Корректировка даты открытия или изменений в файле.
  8. Wget. Загрузка из интернета в терминальную папку.
  9. Zip. Распаковка и сжатие архивов.
  10. Mkdir. Создание новой папки в терминальной или ранее указанной.
  11. Rmdir. Удаление папки.
  12. Rm. Удаление файла/ов по определенным признакам.
  13. Cp. Создание копии в папке терминала.
  14. mv. перемещение из одного места в другое.
  15. Find. Поиск документов по тем или иным критериям.
  16. Grep. Поиск текстовых документов с определенными строчками.
  17. Locate. Поиск файла/папки с названиями, подходящими общему запросу. Отображает путь в файловой системе.

Это – основные команды в Linux, с помощью которых юзеры смогут работать с рассматриваемом ОС.

Управление системой

Различные действия в Linux можно проделывать при помощи таких указаний:

  1. Df. Показывает объем диска.
  2. Free. Доступное и занятое пространство оперативной памяти.
  3. Uname. Сведения о системе.
  4. Uptime. Указывает, как долго ОС работает.
  5. Whereis. Ссылка на расположение исполняемого файла приложения.
  6. Whoami. Имя пользователя.

На первых порах этого будет более чем достаточно.

Управление пользователями

В любой системе можно управлять юзерами:

  1. Useradd. Добавление нового клиента.
  2. Userdel. Удаление пользователя и его файлов.
  3. Usermod. Корректировка.
  4. Passwd. Корректировка пароль учетной записи.

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

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

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

Знакомство с Linux: установка, особенности, принципы работы

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

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

Что такое терминал в Linux

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

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

Компоненты Linux терминала

Компоненты терминала в Linux. Источник

Основные компоненты терминала в Linux:

  1. Оболочка (shell) — интерпретатор команд, который принимает вводимые пользователем команды и выполняет их. Оболочки различаются по своим возможностям и синтаксису, но все они позволяют пользователям взаимодействовать с системой через терминал.
  2. Эмулятор терминала — программа, предоставляющая интерфейс для взаимодействия с командной строкой. Эмуляторы терминала могут различаться по внешнему виду и функциональности, но все они выполняют одну и ту же основную задачу — обеспечивают доступ к командной строке.
  3. Подсказка — символ или текстовая строка, указывающая на готовность оболочки принять команду. Обычно она включает текущий рабочий каталог, имя пользователя и имя хоста.
  4. Командная строка — область, где пользователь может вводить команды для выполнения различных задач. Командная строка обычно представляет собой черно-белый текстовый интерфейс, который отображает текущий каталог, приглашение оболочки и ожидающую ввода команду.
  5. Стандартный ввод/вывод/ошибка — потоки, через которые оболочка взаимодействует с пользователем и системой. Стандартный ввод (stdin) принимает ввод от пользователя, стандартный вывод (stdout) отображает вывод для пользователя, а стандартный вывод ошибок (stderr) отображает сообщения об ошибках.
  6. История — функция, которая сохраняет историю всех команд, введенных пользователем в текущем сеансе терминала. История команд может быть полезна для повторного выполнения команд или поиска ранее использованных команд.
  7. Переменные среды — переменные, которые содержат информацию о системе и среде пользователя. Их можно использовать для настройки поведения оболочки и программ, которые в ней работают.
  8. Текстовый редактор — программа, позволяющая пользователю редактировать различные текстовые файлы. Его можно использовать для создания и изменения файлов конфигурации, скриптов и других текстовых документов.

Почему важно знать команды Linux

Команда в Linux — это инструкция, которую пользователь дает операционной системе для выполнения определенного действия. Основные команды Linux позволяют пользователям управлять файлами и каталогами, настраивать сети, устанавливать и удалять программы, проводить мониторинг системы и т. д.

Знание команд Linux может быть полезным по нескольким причинам:

  1. Эффективность: некоторые задачи, особенно связанные с системным администрированием и настройкой, могут быть выполнены быстрее и эффективнее с использованием команд в терминале, чем через графический интерфейс.
  2. Автоматизация: команды Linux позволяют автоматизировать повторяющиеся задачи, что может значительно сэкономить время и усилия. Это особенно полезно для системных администраторов и разработчиков.
  3. Изучение основ: знание основных команд Linux помогает лучше понять, как работает система на более глубоком уровне. Это может быть полезно при решении сложных проблем или настройке специфических параметров.
  4. Работа с удаленными серверами: при работе с удаленными серверами, где графический интерфейс может быть недоступен или ограничен, знание команд становится необходимым.
  5. Обучение и развитие: изучение команд Linux расширяет кругозор и может способствовать развитию навыков системного администратора, разработчика или специалиста по безопасности.

Основные команды для работы с Linux 

В Linux существует огромное количество команд, и их число постоянно растет — точное количество зависит от версии операционной системы и установленных пакетов.

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

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

Работа с файлами и директориями

Просмотр содержимого директории

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

Синтаксис команды ls:

  • ls — вывести список файлов и каталогов в текущем рабочем каталоге;
  • ls [каталог] — вывести список файлов и каталогов указанного каталога.

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

команда ls для просмотра содержимого

Пример использования команды ls. Источник

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

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

Синтаксис команды cd:

  • cd [каталог] — перейти в указанный каталог;
  • cd .. — переместиться на один уровень вверх по иерархии каталогов;
  • cd ~ — вернуться в домашний каталог пользователя.
команда cd, чтобы войти в папку

Пример использования команды cd. Источник

pwd (print working directory) выводит текущий рабочий каталог. Это полезно для определения того, где вы находитесь в файловой системе.

команда pwd чтобы вывести текущий каталог

Пример использования команды pwd. Источник

Создание и удаление директорий

Для создания новых каталогов (папок) используется команда mkdir. Это одна из самых простых и часто используемых команд в терминале.

Синтаксис команды:

  • mkdir [имя_каталога] — создать новый каталог с указанным именем.

Команда может принимать несколько аргументов, что позволяет создавать сразу несколько каталогов или многоуровневые структуры папок. Например, чтобы создать папки «Фото», «Видео» и «Музыка» внутри каталога «Личные файлы», можно использовать команду mkdir Личные\ файлы/Фото Личные\ файлы/Видео Личные\ файлы/Музыка.

команда mkdir чтобы создать каталог

Пример использования команды mkdir. Источник: автор статьи

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

Синтаксис команды:

  • rmdir [имя_каталога] — удалить указанный каталог, если он пустой.

Работа с файлами

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

Синтаксис команды:

  • touch [имя_файла] — создать новый файл с указанным именем.

Команда может принимать несколько аргументов, что позволяет создавать сразу несколько файлов или изменять время модификации нескольких файлов одновременно. Например, чтобы создать файлы «file1.txt» и «file2.txt» и изменить время их модификации, можно использовать команду touch file1.txt file2.txt —date=»ДД-ММ-ГГГГ ЧЧ:ММ».

создать новый файл, команда touch

Пример использования команды touch. Источник: автор статьи

Команда rm позволяет удалить один или несколько файлов, а также рекурсивно удалить каталоги со всем их содержимым.

Синтаксис команды:

  • rm [имя_файла] — удалить указанный файл;
  • rm -r [каталог] — рекурсивно удалить указанный каталог со всем его содержимым.

Команда может принимать несколько аргументов, что позволяет удалять сразу несколько файлов или каталогов. Например, чтобы удалить файлы «file1.txt» и «file2.txt», можно использовать команду rm file1.txt file2.txt.

команды rm чтобы удалить файл

Пример использования команды rm. Источник: автор статьи

Работа с текстовыми файлами

Получение информации о системе

uname — используется для вывода информации о системе. Она позволяет получить различные сведения о компьютере: имя хоста, версия ядра, архитектура процессора и другие.

Синтаксис команды:

  • uname — вывести общую информацию о системе;
  • uname -a или uname —all — вывести полную информацию о системе, включая имя хоста, версию ядра, архитектуру процессора и т. д.

Команда может принимать несколько параметров: параметр -s выводит только имя операционной системы, а параметр -n — имя хоста.

Результата применения команды uname

Пример результата применения команды uname. Источник

df — отображение информации о свободном месте на дисках и разделах, а также общий объем каждого диска или раздела.

Синтаксис команды:

  • df — вывести информацию о свободном пространстве на всех дисках и разделах;
  • df [диск_или_раздел] — вывести информацию только о конкретном диске или разделе.

Команда может принимать несколько параметров: параметр -h выводит информацию в удобном для чтения формате (в гигабайтах или мегабайтах), а параметр -T добавляет информацию о типе файловой системы.

df выводит информацию о свободном пространстве

Пример использования команды df. Источник

Управление процессами

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

Синтаксис команды:

  • ps — вывести список всех процессов;
  • ps [параметры] — настроить вывод информации о процессах с помощью параметров.

Команда может принимать множество параметров: параметр -f выводит полную информацию о процессах, включая их PID, PPID, UID, GID и другие атрибуты.

Пример результата применения команды ps

Пример результата применения команды ps. Источник

top — используется для мониторинга системы в реальном времени. Она позволяет отслеживать использование ресурсов: процессор, память, диск и сеть, а также информацию о запущенных процессах.

Синтаксис команды:

  • top — запустить утилиту top для мониторинга системы;
  • top [параметры] — настроить вывод информации с помощью параметров.

Команда может принимать множество параметров: параметр -d устанавливает интервал обновления информации в секундах, а параметр -n ограничивает количество процессов, отображаемых на экране.

команда top для запуска мониторинга системы

Пример использования команды top. Источник

Работа с сетью

Проверка подключения

ping используется для проверки соединения с другим компьютером или сервером. Она отправляет пакеты данных на указанный IP-адрес и ожидает ответа, измеряя время отклика.

Синтаксис команды:

  • ping [IP-адрес] — отправить пакеты данных на указанный IP-адрес;
  • ping -c [количество_пакетов] [IP-адрес] — отправить указанное количество пакетов данных на IP-адрес.

Команда может принимать множество параметров: параметр -t отправляет пакеты бесконечно, пока не будет прервано вручную, а параметр -s устанавливает размер пакета данных.

команда ping в терминале Linux

Пример использования команды ping. Источник

Команда работает с использованием протоколов ICMP и ARP. Если эти протоколы не поддерживаются конечной системой, то ошибка при выполнении команды ping не всегда будет означать, что это устройство недоступно или не работает.

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

Синтаксис команды:

  • ifconfig — вывести информацию обо всех сетевых интерфейсах;
  • ifconfig [интерфейс] — вывести информацию только об указанном сетевом интерфейсе.
команда ifconfig для вывода информации о сетевых интерфейсах

Пример использования команды ifconfig. Источник

В современных версиях Linux команда ifconfig заменена на ip, которая предоставляет более широкий набор функций для управления сетевыми интерфейсами.

Команда ip a является сокращенной формой команды ip address, которая выводит информацию о текущих IP-адресах всех интерфейсов.

Синтаксис команды:

  • ip a — вывести список текущих IP-адресов всех интерфейсов;
  • ip a [параметры] — настроить вывод информации с помощью параметров.

Команда может принимать множество параметров: параметр -o выводит информацию в удобном для чтения формате.

вывод IP адресов с помощью команды ip a

Пример использования команды ip a. Источник

Удаленное подключение к серверу

SSH (Secure Shell) — используется для безопасного подключения и управления  удаленным сервером или компьютером по протоколу SSH.

Синтаксис команды:

  • ssh [опции] [пользователь@хост] — подключиться к удаленному хосту;
  • scp [опции] файл пользователь@хост:/путь/на/удаленном/хосте — скопировать файл на удаленный хост с помощью SSH.

Команда может принимать множество параметров: параметр -p указывает порт SSH для подключения, а параметр -v выводит подробную информацию о процессе подключения.

Пример использования команды SSH

Пример использования команды SSH. Источник

Копирование файлов по сети

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

Синтаксис команды:

  • scp [источник] [назначение] — скопировать файл или каталог из источника в назначение;
  • scp -r [каталог] [пользователь@хост:каталог] — рекурсивно скопировать каталог и все его содержимое на удаленный хост.
копирование с помощью команды scp

Пример использования команды scp. Источник

Команда может принимать множество параметров: параметр -C сжимает данные перед передачей, а параметр -P указывает порт SSH для подключения.

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

Синтаксис команды:

  • rsync [опции] источник [назначение] — скопировать файлы из источника в назначение;
  • rsync -avz source/ destination/ — рекурсивно скопировать все файлы и каталоги из source в destination, сохраняя права доступа, время модификации и символические ссылки.

Команда может принимать множество параметров: параметр -z сжимает данные перед передачей, а параметр —delete удаляет файлы на целевом хосте, которые были удалены на исходном хосте.

использования команды rsync для синхронизации файлов

Пример использования команды rsync. Источник

Полезные горячие клавиши в терминале

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

Некоторые из наиболее распространенных горячих клавиш в терминале Linux:

  • Ctrl + C — остановить текущую команду.
  • Up Arrow / Down Arrow — прокрутить историю команд вверх или вниз.
  • Page Up / Page Down — пролистать историю команд на страницу вверх или вниз.
  • Home / End — перейти к началу или концу текущей строки.
  • Left Arrow / Right Arrow — переместить курсор влево или вправо на один символ.
  • Backspace — удалить символ слева от курсора.
  • Delete — удалить символ справа от курсора.
  • Tab — автоматически заполнить имя файла или команды.
  • Alt + F1F6 — переключиться между виртуальными консолями (если поддерживается).
  • Enter — выполнить команду или ввести текст.

Также существуют сочетания клавиш для работы с буфером обмена:

  • Shift + Ins или Ctrl + V — вставить содержимое буфера обмена в текущую позицию курсора;
  • Del или Shift + Del — вырезать выделенный текст в буфер обмена;
  • Ins или Ctrl + Shift + V — скопировать выделенный текст из буфера обмена.

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

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Толстый браслет из резинок инструкция
  • Бисептол суспензия инструкция для детей отзывы
  • Как создать рекламу в инстаграм пошаговая инструкция
  • Окрашивание бровей в домашних условиях пошаговая инструкция правильное оформление
  • Мазь стрептоцидовая инструкция по применению для людей