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

Некоторые базовые настройки

Установка имени хоста. Откройте терминал и введите следующую команду для изменения имени хоста:

sudo hostnamectl set-hostname your_hostname

Замените «your_hostname» на имя хоста, которое вы хотите установить.

Примечание: команда hostname изменяет имя хоста только на текущую сессию. Для постоянного изменения используется hostnamectl

Настройка часового пояса. Перейдите в /usr/share/zoneinfo/your_zone, затем создайте символическую ссылку на файл зоны в /etc/localtime, чтобы установить часовой пояс.

sudo ln -sf Kolkata /etc/localtime

Файловая система и управление ею

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

Ниже приведен список некоторых команд для управления файлами в Linux:

Команда

Для чего используется

cd

Изменение текущего каталога.

ls

Вывод списка директорий и файлов в каталоге.

vi

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

touch

Создание новых файлов. Также обновляет временные метки существующих файлов, если файл уже существует.

nano

Редактор с подсказками по управлению в нижней части окна. Более удобен для новичков.

cp

Копирование файлов и директорий.

mv

Перемещения файлов и директорий.

rm

Удаление файлов и директорий.

fdisk

Работа с таблицами разделов диска (создание, удаление, изменение разделов).

mount

Монтирование файловой системы.

Подробнее об управлении файловой системой читайте в бонусном подразделе.

Сетевые команды

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

Команда

Для чего используется

route

Просмотр и изменение таблиц маршрутизации IP.

ping

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

traceroute

Отслеживание пути, пройденного трафиком.

nslookup

Запросы к системе доменных имен (DNS) для получения отображения доменных имен или IP-адресов, а также других DNS-записей.

ifconfig

Просмотр и изменение конфигурации сетевых интерфейсов системы.

tracepath

Отслеживание пути до конечной точки с обнаружением MTU на этом пути.

ssh

Сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений.

curl

Передача данных на сервер или с сервера с использованием любого из поддерживаемых протоколов.

scp

Безопасное копирование файлов (и директорий с флагом -r) между локальной и удалённой системой по SSH.

w

Краткое описание каждого пользователя, вошедшего в систему.

netcat

Выполнение различных операций с TCP, UDP или UNIX-доменными сокетами в Linux.

nmap

Исследование сети и аудит безопасности.

ip

Назначение адреса сетевому интерфейсу и/или настройки параметров сетевого интерфейса в операционных системах Linux.

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

Системный администратор отвечает за управление пользователями системы. У каждого пользователя в Linux есть уникальный UID для его идентификации. Вся информация о пользователях хранится в файле /etc/passwd, а все хешированные пароли — в файле /etc/shadow. В Linux есть три типа пользователей:

  • Root User (Administrator) — администратор, суперпользователь с полным контролем над системой, идентифицируется UID 0.

  • Обычные пользователи — неадминистративные пользователи, созданные для выполнения повседневных операций, которым присвоены уникальные UID.

  • Системные пользователи — пользователи, созданные системой для работы таких служб, как базы данных и веб-серверы (например, www-data, mysql).

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

Команда

Для чего используется

adduser

Создание нового пользователя в Linux.

useradd

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

passwd

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

deluser

Удаление пользователя из системы.

userdel

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

usermod

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

id

Отображение информации об идентификаторе пользователя (UID) и группы (GID).

whoami

Показывает текущего вошедшего пользователя.

who

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

w

Отображение информации о вошедших пользователях и их активности.

last

Отображение истории входов пользователей.

groups

Отображение групп, в которые входит пользователь.

groupadd

Создание новой группы пользователей.

groupdel

Удаление группы.

usermod -aG

Добавление пользователя в группу.

chage

Установка или проверка сроков действия пароля для пользователя.

getent passwd

Список всех пользователей в системе.

awk -F:

Покажет список имён всех пользователей.

sudo visudo

Редактирование привилегий sudo для пользователей.

who | wc -l

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

Диагностика системы / Мониторинг производительности

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

Команда

Для чего используется

top

Отображение запущенных процессов.

vmstat

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

lsof

Проверка списка открытых файлов.

htop

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

iostat

Мониторинг загрузки устройств ввода-вывода.

nmon

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

Чтение и анализ логов

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

Команда

Для чего используется

dmesg

Вывод сообщений из буфера ядра.

tail

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

journalctl

Чтение и управление логами systemd.

Бонус: Подробнее об управлении файлами в Linux

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

Обычные файлы. Наиболее распространённый тип файлов в Linux: это текстовые файлы, изображения, бинарные файлы и т. д. Такие файлы можно создавать с помощью команды touch. Обычный файл может содержать текст в формате ASCII или человекочитаемый текст, исполняемые бинарники программ, данные программ и многое другое.

Каталоги. В Windows эти каталоги называют папками. Это файлы, которые содержат список имён файлов и сопутствующую информацию. Корневой каталог (/) является базой системы, /home/ — это стандартное расположение домашних каталогов пользователей, /bin — для основных бинарных файлов пользователей, /boot — для статичных загрузочных файлов и т.д. Создавать новые каталоги можно с помощью команды mkdir.

Специальные файлы. Они представляют собой реальные физические устройства, например принтеры, которые используются для операций ввода/вывода. Устройства или специальные файлы используются для ввода/вывода (I/O) на системах UNIX и Linux. Вы можете увидеть их в файловой системе, как обычные каталоги или файлы.

В системах Unix существует два типа специальных файлов для каждого устройства: символьные и блочные. 

1. Список файлов

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

$ ls
ls-command-1

Команда выведет все файлы и каталоги в текущем каталоге, в выводе разные типы файлов будут выделены цветом (в зависимости от конфигурации терминала).

$ ls -l
ls-command-2

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

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

Новый файл создается при помощи команды touch. Она создаст и откроет новый пустой файл, если файл с указанным именем ещё не существует. Если файл уже существует, команда не изменит его.

$ touch filename
touch-command

3. Отображение содержимого файла

Для отображения содержимого файла используется команда cat. Эта команда отобразит содержимое файла с именем filename. Если вывод слишком большой, можно использовать команды more или less, чтобы отобразить вывод на экране терминала, иначе всё содержимое файла будет показано сразу.

$ cat filename
cat-command

4. Копирование файла

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

$ cp source/filename destination/
copying-a-file-in-linux

5. Перемещение файла

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

$ mv source/filename destination/
moving-a-file-in-linux

6. Переименование файла

Команда mv filename new_filename — переименовывает файл, не затрагивая его содержимое.

renaming-a-file-in-linux

7. Удаление файла

Для удаления файла используется команда rm. Она удалит файл filename из каталога.

$ rm filename
deleting-a-file-in-linux

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


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

А получить навыки администрирования Linux, которые выделят вас среди начинающих администраторов, можно на курсе "Administrator Linux. Basic".

Комментарии (11)


  1. Inomaratadeath
    27.05.2025 23:10

    теперь на хабре ИИ-боты списки "man %comand_name%" начинают публиковать. дожились...


    1. kmoseenk Автор
      27.05.2025 23:10

      Добрый день. Это перевод материала. Если вы заметили опечатку в публикации, выделите её и нажмите сочетание клавиш ⌘/CTRL+Enter — автору уйдёт сообщение об ошибке и он её исправит


      1. 13werwolf13
        27.05.2025 23:10

        @Inomaratadeath судя по всему ИИ боты теперь и комментируют..


  1. VenbergV
    27.05.2025 23:10

    Воспоминания о начинающих в 2015 году еще могло бы подойти.
    В 2025 году route и ifconfig уже много где отсутствует.


  1. DragonZet
    27.05.2025 23:10

    vi

    На этом месте начинающий запнётся...


    1. crawlingroof
      27.05.2025 23:10

      ctrl + z жи, ребут наконец


    1. Jijiki
      27.05.2025 23:10

      почему? можно vim поставить, там небольшое отличие потомучто, но разобраться можно хотябы как дописать строку

      можно наверно и через cat делать, но текстовый редактор как никак, получается на баше + авк можно написать текстовый редактор чтоли) (read, bash, awk, cat, wc, line, save, grep ))

      можно начать с нано, но переменная EDITOR в окружении на первое включение может быть vi, так что наименьшее сопротивление это узнать как вставить строку сохранить и закрыть (как бы как в виме переместить стрелкой курсор, нажать I написать, escape - {ctrl-wq} насколько помню, я делаю так если ничего больше не нажимать строку дописать можно, что-то большее не знаю )) интуитивно без документации я только это знаю


  1. mrtippler
    27.05.2025 23:10

    tail

    Вывода информации из логов, расположенных в папке /var/log.

    И только то?..


    1. kmoseenk Автор
      27.05.2025 23:10

      Вы правы. В оригинале не совсем корректная фраза, исправили здесь


  1. astenix
    27.05.2025 23:10

    touch — Создание новых файлов. Также обновляет временные метки существующих файлов, если файл уже существует.

    Точнее:

    touch — Обновляет временные метки существующих файлов. Если файл не существует — будет создан новый с указанным именем.


  1. astenix
    27.05.2025 23:10

    awk -F:Покажет список имён всех пользователей.

    Где это работает?