КОМАНДЫ LINUX ДЛЯ УПРАВЛЕНИЯ ПРОЦЕССАМИ
25. KILL / XKILL / PKILL / KILLALL
Служат для завершения процессов. Но они принимают различные параметры для идентификации процессов. Kill нужен PID процесса, xkill — достаточно кликнуть по окну, чтобы закрыть его, killall и pkill принимают имя процесса. Используйте ту, которая удобна в определенной ситуации.
26. PS / PGREP
Как уже говорилось, чтобы уничтожить процесс, нужен его идентификатор. Один из способов получить его, это утилита ps, которая печатает информацию о запущенных процессах. По умолчанию вывод очень длинный, поэтому используйте опцию -e, чтобы увидеть информацию об определённом процессе. Это только снимок состояния на момент вызова, и информация не будет обновляться. Команда ps с ключом aux выводит полную информацию о процессах. Pgrep работает следующим образом: вы задаете имя процесса, а утилита показывает его идентификатор. Подробнее о команде ps описано тут.
27. TOP / HTOP
Обе команды похожи, обе отображают процессы и могут быть использованы как консольные системные мониторы. Я рекомендую установить htop, если в вашем дистрибутиве он не поставляется по умолчанию, так как это улучшенная версия top. Вы сможете не только просматривать, но и контролировать процессы через его интерактивный интерфейс.
28. TIME
Время выполнения процесса. Это секундомер для выполнения программы. Полезно, если вам интересно, насколько сильно ваша реализация алгоритма отстает от стандартной. Но, несмотря на такое название, она не сообщит вам текущее время, используйте для этого команду date.
Команды Linux: группы и пользователи
Эти команды Linux необходимы для работы с пользователями и группами пользователей.
# id # Сводная информация по текущему пользователю (логин, UID, GID, группы); # finger # Информация о пользователе ; # last # Последние зарегистрированные пользователи; # who # Имя текущего пользователя и время его входа; # useradd # Добавляет нового пользователя ; # groupadd Otus # Добавляет группу Otus; # usermod -a -G Otus # Добавляет пользователя с именем в группу под названием Otus (для Debian); groupmod -A Otus # Добавление пользователя в группу под названием Otus (SuSE); # userdel # Пользователь удаляется; # groupdel Otus # Группа Otus удаляется.
Задачи
Раздел «Задачи» показывает статистику процессов, запущенных в вашей системе. «Общее» значение — это просто общее количество процессов. Например, на приведенном выше снимке экрана запущено 142 процесса. Чтобы понять остальные значения, нам нужно немного рассказать о том, как ядро Linux обрабатывает процессы.
Процессы выполняют смешанную работу, связанную с вводом / выводом (например, чтение дисков), и работу, связанную с ЦП (например, выполнение арифметических операций). Процессор простаивает, когда процесс выполняет ввод / вывод, поэтому ОС переключаются на выполнение других процессов в течение этого времени. Кроме того, ОС позволяет заданному процессу выполняться в течение очень небольшого промежутка времени, а затем переключается на другой процесс. Вот как ОС выглядят так, как если бы они были «многозадачными». Выполнение всего этого требует от нас отслеживания «состояния» процесса. В Linux процесс может находиться в следующих состояниях:
Runnable (R): процесс в этом состоянии либо выполняется на CPU, либо присутствует в очереди на выполнение, готовый к выполнению.
Прерываемый сон (S): процессы в этом состоянии ожидают завершения события.
Непрерывный сон (D): в этом случае процесс ожидает завершения операции ввода-вывода.
Остановлено (T): эти процессы были остановлены сигналом управления заданием (например, нажатием Ctrl + Z) или потому, что они отслеживаются.
Zombie (Z): ядро поддерживает различные структуры данных в памяти, чтобы отслеживать процессы. Процесс может создать несколько дочерних процессов, и они могут завершиться, пока родительский процесс еще существует. Однако эти структуры данных должны храниться до тех пор, пока родительский объект не получит статус дочерних процессов. Такие завершенные процессы, чьи структуры данных все еще существуют, называются зомби.
Процессы в состояниях D и S показаны в «спящем» режиме, а процессы в состоянии T — в «остановленном». Количество зомби показано как значение «зомби».
Убить все процессы из консоли
Если у вас небольшое количество оперативной памяти на компьютере и вы любите открывать очень много вкладок в Chromium, то программа а вместе с ней и окружение рабочего стола могут прочно зависать. Браузер создает для каждой вкладки отдельный процесс, поэтому пока планировщик памяти ядра поймет кто виноват в сбое и что нужно делать уйдет много времени, а пытаться убить каждую вкладку по отдельности очень долгое занятие. Есть команда, с помощью которой можно из терминала одним махом закрыть все вкладки:
Или намного проще:
Здесь мы получаем список всех процессов в ps, выбираем из них chromium, потом отбираем второй столбец, то есть PID, и с помощью xargs вызываем kill для каждой вкладки. Точно таким же способом можно уничтожить любое приложение создающее много процессов.
Команды Linux, дающие информацию о системе
whoami #вывести имя под которым Вы зарегистрированы date #вывести дату и время time <имя программы> #выполнить программу или команду и получить информацию о времени, #нужном для ее выполнения who #определить кто из пользователей работает на машине uname -a #вывести информацию о версии операционной системы cat /etc/issue #показать версию операционной системы (12.04, 13.04 etc.) lsb_release -a #название дистрибутива и версия uname -m #узнать, сколько бит в linux ОС free #вывести информацию по использованию памяти df -h #вывести информацию о свободном и используемом месте на дисках uptime #показывает текущее время, время, прошедшее после загрузки ОС, количество текущих #пользователей в компьютерной системе и нагрузку за последние 1, 5 и 15 минут работы после загрузки, #количество текущих пользователей в компьютерной системе и нагрузку за последние 1, 5 и 15 минут top (htop) #выводит список работающих в системе процессов и информацию о них ps axu | grep php #список процессов, в имени которых встречается php ps aux | head -n 1; ps aux | grep :searchd #процессы с пояснением параметров сверху netstat -lnp | grep :9000 #узнать, что висит на 9000 порту netstat -luntp #показывает все открытые порты с использующими их приложениями lsusb #информация об устройствах, подключенных через USB lscpu #характеристики процессора
Как завершить какой-нибудь процесс? Если во время вывода top нажать k (от слова kill), то будет предложено
PID to kill:
нужно ввести идентификатор (PID) процесса и затем нажать enter. Это нечто вроде диспетчера задач в Windows.
Как использовать команду tr
Синтаксис команды следующий:
принимает два набора символов, обычно одинаковой длины, и заменяет символы из первых наборов соответствующими символами из второго набора.
— это в основном строка символов, включая специальные символы с обратным слэшем.
В следующем примере заменит все символы из стандартного ввода (linuxize), сопоставив символы из первого набора с соответствующими символами из второго набора.
Каждое вхождение заменяется на , на и на :
Наборы символов также можно определить с помощью диапазонов символов. Например, вместо написания:
вы можете использовать:
Когда используется опция ( ), заменяет все символы, которых нет в SET1.
В приведенном ниже примере все символы, кроме «li», будут заменены последним символом из второго набора:
Как вы могли заметить, вывод выше имеет на один видимый символ больше, чем ввод. Это связано с тем, что команда печатает невидимый символ новой строки который также заменяется на . Чтобы отобразить строку без новой строки, используйте параметр .
Параметр ( ) указывает удалить символы, указанные в SET1. При удалении символов без сжатия укажите только один набор.
Приведенная ниже команда удалит символы , и :
Символ не удаляется, потому что входные данные включают в верхнем регистре, а символ в SET — в нижнем регистре.
Параметр ( ) заменяет последовательность повторяющихся вхождений на набор символов из последнего набора.
В следующем примере удаляет повторяющиеся пробелы:
Когда используется SET2, последовательность символов, указанная в SET1, заменяется на SET2.
Параметр ( ) заставляет усечь SET1 до длины SET2 перед выполнением дальнейшей обработки.
По умолчанию, если SET1 больше, чем SET2, будет повторно использовать последний символ SET2. Вот пример:
Выходные данные показывают, что символ из SET1 соответствует последнему символу SET2, который равен :
Теперь используйте ту же команду с параметром :
Вы можете видеть, что последние три символа SET1 удалены. SET1 становится ‘ab’ той же длины, что и SET2, и замены не производится.
Варианты комбинирования
Команда также позволяет комбинировать ее параметры. Например, следующая команда сначала заменяет все символы, кроме на а затем сжимает повторяющиеся символы :
Команда lsof
Команда lsof отображает информацию о том, какие файлы используются тем или иным процессом. В Linux практически любое взаимодействие с системой рассматривается как взаимодействие с файлом. Если ваше приложение записывает данные в файл или открывает сетевое соединение, то команда отобразит соответствующую информацию по данному взаимодействию. Подобно команде , вы можете использовать команду для проверки открытых сетевых портов. Например, если вы хотите узнать, занят ли в вашей системе 80 порт, то, применив команду , вы получите информацию о том, какой именно процесс в данный момент его использует.
Ниже вы можете видеть, что процесс apache2 прослушивает порт 80. Вы также можете использовать команду для запроса информации по идентификатору процесса, чтобы узнать, по какому пути расположен соответствующий ему двоичный файл:
Имя файла в списке открытых файлов помогает точно определить происхождение процесса, в частности, мы теперь знаем, что это веб-сервер Apache.
Команды Linux для установки программ
4.1 Просмотр установленных пакетов
RPM-дистрибутивы
# rpm -qa # Отображается список пакетов RPM, установленных в системе.
DEB–дистрибутивы
# dpkg -l |more # Для показа списка пакетов DEB, установленных в системе; # apt-cache search имя пакета # Для поиска в индексах доступного пакета и вывода на экран краткой информации о нужном пакете (это весьма полезная команда, обеспечивающая поиска программ из консоли); # apt-cache showpkg имя пакета # Для отображения полной информации об указанном пакете.
4.2 Установка и удаление пакетов
RPM-дистрибутивы
# rpm -i pkgname.rpm # Устанавливается RPM-пакет pkgname.rpm; # dpkg -i *.rpm # Устанавливаются все пакеты в директории; # rpm -e pkgname # Удаляется RPM-пакет pkgname.
DEB-дистрибутивы
# apt-get update # Обновляется список доступных пакетов из интернета; # apt-get upgrade # Обновляется доступная версия установленных пакетов в системе; # dpkg -i *.deb # Устанавливаются все пакеты в директории; # apt-get install pkgname # Устанавливается DEB-пакет pkgname; # apt-get remove pkgname # Удаляется DEB-пакет pkgname.
Создание резервных копий (backup)
<box 100% round left |>
dump -0aj -f /tmp/home0.bak /home — создать полную резервную копию директории /home в файл /tmp/home0.bakdump -1aj -f /tmp/home0.bak /home — создать инкрементальную резервную копию директории /home в файл /tmp/home0.bakrestore -if /tmp/home0.bak — восстановить из резервной копии /tmp/home0.bakrsync -rogpav –delete /home /tmp — синхронизировать /tmp с /homersync -rogpav -e ssh –delete /home ip_address:/tmp — синхронизировать через SSH-туннельrsync -az -e ssh –delete ip_addr:/home/public /home/local — синхронизировать локальную директорию с удалённой директорией через ssh-туннель со сжатиемrsync -az -e ssh –delete /home/local ip_addr:/home/public — синхронизировать удалённую директорию с локальной директорией через ssh-туннель со сжатиемdd bs=1M if=/dev/hda | gzip | ssh user@ip_addr ‘dd of=hda.gz’ — сделать «слепок» локального диска в файл на удалённом компьютере через ssh-туннельtar -Puf backup.tar /home/user — создать инкрементальную резервную копию директории ‘/home/user’ в файл backup.tar с сохранением полномочий( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr ‘cd /home/share/ && tar x -p’ — копирование содержимого /tmp/local на удалённый компьютер через ssh-туннель в /home/share/( tar c /home ) | ssh -C user@ip_addr ‘cd /home/backup-home && tar x -p’ — копирование содержимого /home на удалённый компьютер через ssh-туннель в /home/backup-hometar cf — . | (cd /tmp/backup ; tar xf — ) — копирование одной директории в другую с сохранением полномочий и линковfind /home/user1 -name ‘*.txt’ | xargs cp -av –target-directory=/home/backup/ –parents — поиск в /home/user1 всех файлов, имена которых оканчиваются на ‘.txt’, и копирование их в другую директориюfind /var/log -name ‘*.log’ | tar cv –files-from=- | bzip2 > log.tar.bz2 — поиск в /var/log всех файлов, имена которых оканчиваются на ‘.log’, и создание bzip-архива из нихdd if=/dev/hda of=/dev/fd0 bs=512 count=1 — создать копию MBR (Master Boot Record) с /dev/hda на флоппи-дискdd if=/dev/fd0 of=/dev/hda bs=512 count=1 — восстановить MBR с флоппи-диска на /dev/hda
</box>
Параметры (опции) команды mv в Linux
Команда mv предоставляет различные опции для конкретных целей. Некоторые из полезных параметров команды mv являются:
Запрос перед перезаписью
Если файл или каталог уже существуют, по умолчанию они перезаписываются. Параметр можно использовать для отображения запроса на подтверждение. Следующая команда используется для отображения подсказок перед перезаписью.
При попытке переместить file1 в каталог dir1, когда file1 уже существует в dir1, появится сообщение в виде:
Если вы хотите перезаписать тип или.
Не перезаписывать существующие файлы
Чтобы никогда не перезаписывать существующий файл, используйте опцию вместе с командой mv, как показано ниже.
При попытке переместить file1 в каталог dir1, если file1 уже существует, команда ничего не сделает; в противном случае файл будет перемещен в каталог dir1.
Принудительная перезапись
Следующий синтаксис показывает как можно использовать для принудительной перезаписи файла без отображения сообщения с запросом.
Файлы резервных копий
Чтобы создать резервную копию файла, используйте параметр командной строки -b. Для резервного копирования файла можно использовать следующий вариант команды.
В файле резервной копии появится тильда (~) с тем же именем, что и у оригинала.
Использование процессора
Раздел использования ЦП показывает процент времени, затраченного ЦП на различные задачи. us Значение времени ЦП проводит выполняющиеся процессы в пользовательском пространстве. Точно так же sy значение — это время, потраченное на запуск процессов в пространстве ядра.
Linux использует «хорошее» значение для определения приоритета процесса. Процесс с высоким «хорошим» значением «приятнее» другим процессам и имеет низкий приоритет. Аналогично, процессы с более низким значением «nice» получают более высокий приоритет. Как мы увидим позже, «хорошее» значение по умолчанию может быть изменено. Время, затраченное на выполнение процессов с установленным вручную «nice», отображается в качестве niзначения.
Затем следует idвремя, в течение которого процессор остается бездействующим. Большинство операционных систем переводят ЦП в режим энергосбережения, когда он находится в режиме ожидания. Далее следует waзначение, которое время ЦП тратит на ожидание завершения ввода-вывода.
Прерывания — это сигналы для процессора о событии, которое требует немедленного внимания. Аппаратные прерывания обычно используются периферийными устройствами, чтобы сообщить системе о событиях, таких как нажатие клавиш на клавиатуре. С другой стороны, программные прерывания генерируются из-за определенных инструкций, выполняемых на процессоре. В любом случае ОС обрабатывает их, и время, затрачиваемое на обработку аппаратных и программных прерываний, задается hiи siсоответственно.
В виртуализированной среде часть ресурсов ЦП предоставляется каждой виртуальной машине (ВМ). ОС определяет, когда у нее есть работа, но она не может выполнить ее, потому что ЦП занят на другой виртуальной машине. Количество времени, потерянное таким образом, является временем «кражи», обозначенным как st.
Команда id
Команда id используется для получения информации по текущему пользователю. В следующем примере, я попытался установить анализатор сетевого трафика Wireshark, на что система отреагировала сообщением, что я не могу выполнить данную команду, т.к. не имею прав суперпользователя (root)
После этого, чтобы проверить своего пользователя и группу, я выполнил команду и обратил внимание, что работал под учетной записью обычного пользователя diego в группе diego:
Для исправления ситуации необходимо произвести вход под учетной записью привилегированного пользователя (root) или прибегнуть к помощи команды .
Управление процессами
Команда top
Команда top отображает в режиме реального времени список запущенных процессов, их числовые идентификаторы (сокр. «PID» от англ. Process IDentificator») и насколько сильно каждый из них нагружает CPU:
Команда kill
Если у вас есть зависшая программа, то вы можете вручную завершить её работу, послав с помощью команды kill соответствующий сигнал.
Всего существует 64 различных сигнала, но самыми популярными являются два:
SIGTERM (15) — сигнал завершения работы программы, при котором ей дается некоторое время, чтобы сохранить свой прогресс и данные.
SIGKILL (9) — сигнал, требующий от программы немедленного завершения. Все несохраненные данные при этом будут потеряны.
Например, зная PID нужного вам процесса, послать ему сигнал можно следующим образом:
В этом примере параметр отвечает за сигнал SIGKILL (9), а — это идентификатор (PID) нужного вам процесса.
Захват пакетов с помощью tcpdump
Общий синтаксис команды следующий:
- Команда позволяет управлять поведением команды.
- фильтра определяет, какие пакеты будут захвачены.
Только root или пользователь с привилегиями может запускать . Если вы попытаетесь запустить команду от имени непривилегированного пользователя, вы получите сообщение об ошибке: «У вас нет разрешения на захват на этом устройстве».
Самый простой вариант использования — вызвать без каких-либо опций и фильтров:
будет продолжать захватывать пакеты и записывать их на стандартный вывод, пока не получит сигнал прерывания. Используйте чтобы отправить сигнал прерывания и остановить команду.
Для более подробного вывода передайте параметр или для более подробного вывода:
Вы можете указать количество пакетов для захвата с помощью опции . Например, чтобы захватить только десять пакетов, введите:
После захвата пакетов остановится.
Если интерфейс не указан, использует первый найденный интерфейс и выгружает все пакеты, проходящие через этот интерфейс.
Используйте параметр чтобы распечатать список всех доступных сетевых интерфейсов, с которых tcpdump может собирать пакеты:
Для каждого интерфейса команда выводит имя интерфейса, краткое описание и соответствующий индекс (номер):
Приведенные выше выходные данные показывают, что — это первый интерфейс, обнаруженный и используемый, когда команде не предоставлен интерфейс. Второй интерфейс — это специальное устройство, позволяющее захватывать все активные интерфейсы.
Чтобы указать интерфейс, на котором вы хотите перехватывать трафик, вызовите команду с параметром за которым следует имя интерфейса или связанный индекс. Например, чтобы захватить все пакеты со всех интерфейсов, вы должны указать интерфейс:
По умолчанию выполняет обратное разрешение DNS для IP-адресов и переводит номера портов в имена. Используйте параметр чтобы отключить перевод:
Пропуск поиска DNS позволяет избежать генерации трафика DNS и делает вывод более читаемым. Рекомендуется использовать эту опцию всякий раз, когда вы вызываете .
Вместо отображения вывода на экране вы можете перенаправить его в файл с помощью операторов перенаправления и :
Вы также можете просматривать данные при сохранении в файл с помощью команды :
Параметр в приведенной выше команде сообщает о необходимости буферизации выходной строки. Если этот параметр не используется, вывод не будет записан на экране при создании новой строки.
Установка и удаление пакетов
Менеджер пакетов — это инструмент, который позволяет устанавливать, обновлять, удалять и иным образом управлять пакетами программного обеспечения, специфичными для дистрибутива Linux. Различные дистрибутивы Linux имеют различные менеджеры и форматы пакетов.
Только root или пользователь с привилегиями sudo может устанавливать и удалять пакеты.
apt (Ubuntu и Debian)
apt (от англ. «Advanced Package Tool») — это система управления пакетами, используемая дистрибутивами на базе Debian. В дистрибутивах на базе существует несколько инструментов управления пакетами с помощью командной строки, причем наиболее часто используются apt и apt-get.
Перед установкой нового пакета сначала необходимо обновить информацию о пакетах:
Индекс — это база данных, содержащая записи доступных в репозиториях пакетов, подключенных в вашей системе.
Чтобы обновить установленные пакеты до последних версий, выполните:
Установка пакетов так же проста:
Чтобы удалить установленный пакет, введите:
dnf (CentOS и Fedora)
rpm (сокр. от англ. «Red Hat Package Manager») — это мощная система управления пакетами, используемая в дистрибутивах от и производных дистрибутивах, таких как: и . С rpm также связаны команда rpm и .rpm-формат пакетов.
Чтобы установить новый пакет в дистрибутивах от Red Hat, вы можете использовать команду yum или dnf:
Начиная с CentOS 8, заменил в качестве менеджера пакетов по умолчанию, при этом обратно совместим с .
Чтобы обновить установленные пакеты до последних версий, введите:
Удаление пакетов так же просто, как:
LINUX КОМАНДЫ КОНСОЛИ ДЛЯ РАБОТЫ С ТЕКСТОМ
19. MORE / LESS
Это две простенькие команды терминала для просмотра длинных текстов, которые не вмещаются на одном экране. Представьте себе очень длинный вывод команды. Или вы вызвали cat для просмотра файла, и вашему эмулятору терминала потребовалось несколько секунд, чтобы прокрутить весь текст. Если ваш терминал не поддерживает прокрутки, вы можете сделать это с помощью less. Less новее, чем more и поддерживает больше опций, поэтому использовать more нет причин.
20. HEAD / TAIL
Ещё одна пара, но здесь у каждой команды своя область применения. Утилита head выводит несколько первых строк из файла (голова), а tail выдает несколько последних строк (хвост). По умолчанию каждая утилита выводит десять строк. Но это можно изменить с помощью опции -n. Ещё один полезный параметр -f, это сокращение от follow (следовать). Утилита постоянно выводит изменения в файле на экран. Например, если вы хотите следить за лог файлом, вместо того, чтобы постоянно открывать и закрывать его, используйте команду tail -nf.
21. GREP
Grep, как и другие инструменты Linux, делает одно действие, но делает его хорошо: она ищет текст по шаблону. По умолчанию она принимает стандартный ввод, но вы можете искать в файлах. Шаблон может быть строкой или регулярным выражением. Она может вывести как совпадающие, так и не совпадающие строки и их контекст. Каждый раз, когда вы выполняете команду, которая выдает очень много информации, не нужно анализировать всё вручную — пусть grep делает свою магию.
22. SORT
Сортировка строк текста по различным критериям. Наиболее полезные опции: -n (Numeric), по числовому значению, и -r (Reverse), которая переворачивает вывод. Это может быть полезно для сортировки вывода du. Например, если хотите отсортировать файлы по размеру, просто соедините эти команды.
24. DIFF
Показывает различия между двумя файлами в построчном сравнении. Причём выводятся только строки, в которых обнаружены отличия. Измененные строки отмечаются символом «с», удалнные — «d», а новые — «а». Подробнее — здесь.
Кстати, я подготовил ещё одну подробную статью, в которой описан именно просмотр содержимого текстового файла в Linux c помощью терминала.
Работа с файлами и директориями Linux
ls #показать список файлов в текущем каталоге (list) ls -la <имя каталога> #список файлов в каталоге <имя каталога>, включая скрытые pwd #выводит текущий путь (команда вывода текущей директории) cd #cменить текущий каталог (change directory) cp <что_копировать> <куда_копировать> #копировать файлы (copy) mv <что_перемещать> <куда_перемещать> #переместить или переименовать файл (move) mkdir <каталог> #создать новый каталог (make directory) rmdir <каталог> #удалить пустой каталог (remove directory) rm <файлы> #удалить файлы (remove) rm -rf <имя каталога> #удаление директории вместе с вложенными файлами locate /var/www*index.php #найти все файлы с названием, заканчивающимся на index.php #в директории /var/www tail <имя файла> #выводит конец файла. Удобно при работе с логами и большими файлами du . -bh | more #вывод на экран информации о размере файлов и каталогов, начиная с текущего каталога sudo chmod 777 -R ~/Общедоступные #разрешение на чтение/запись/исполнение для всех на каталог ~/Общедоступные # -R - рекурсивно, то есть и на все вложенные файлы и папки sudo chown <имя пользователя> <имя файла> #задать владельца файла >filename #делает filename пустым файлом, т.е. стирает содержимое touch filename #создаёт пустой файл, также меняет время последнего изменения файла
Управление пользователями и группами
Команда uname
Команда uname с опцией выведет подробную информацию о вашей системе: имя машины, версия операционной системы, ядра и т.д.
Результат:
Команды useradd и passwd
Команда useradd позволяет создавать новых пользователей. Чтобы создать новую учетную запись пользователя, вызовите команду вместе с именем нового пользователя:
После создания пользователя установите ему пароль, выполнив команду passwd:
Команда userdel
Команда userdel используется для удаления учетной записи пользователя:
Опция удаляет домашний каталог пользователя и связанные с ним данные:
Команды groupadd и groupdel
Команда groupadd используется для создания новой группы. Просто укажите название группы в качестве параметра:
Чтобы удалить группу, используйте команду groupdel с именем группы в качестве параметра: