Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Администрирование Линукс (Linux)
Вводный урок
Урок 1 - Разворачиваем стенды с Linux
Урок 2 - Навигация в системе с использованием командной строки
Урок 3 - Потоки ввода-вывода данных
Урок 4 - Работа с файлами и каталогами (часть 1)
Урок 5 - Работа с файлами и каталогами (часть 2)
Урок 6 - Символические и жесткие ссылки в Linux
Урок 7 - Монтирование файловых систем
Урок 8 - Работа с пакетами средствами dpkg
Урок 9 - Управление пакетами с использованием APT
👉@linuxchmod
Вводный урок
Урок 1 - Разворачиваем стенды с Linux
Урок 2 - Навигация в системе с использованием командной строки
Урок 3 - Потоки ввода-вывода данных
Урок 4 - Работа с файлами и каталогами (часть 1)
Урок 5 - Работа с файлами и каталогами (часть 2)
Урок 6 - Символические и жесткие ссылки в Linux
Урок 7 - Монтирование файловых систем
Урок 8 - Работа с пакетами средствами dpkg
Урок 9 - Управление пакетами с использованием APT
👉@linuxchmod
👍5
Media is too big
VIEW IN TELEGRAM
Revolution OS
Перевод Дмитрий Бачило
Фильм об истории появления идей свободного программного обеспечения, ядра Linux, ОС GNU, перехода Netscape (Mozilla, Firefox) с проприетарной на откртую модель разработки, создание Red Hat и т.д.
источник
👉@linuxchmod
Перевод Дмитрий Бачило
Фильм об истории появления идей свободного программного обеспечения, ядра Linux, ОС GNU, перехода Netscape (Mozilla, Firefox) с проприетарной на откртую модель разработки, создание Red Hat и т.д.
источник
👉@linuxchmod
🔥4👍2
apt-get — команда для управления пакетами программного обеспечения в дистрибутивах, основанных на Debian
Команда apt-get предназначена для работы с утилитой «apt», являющейся стандартной утилитой для управлении пакетами программного обеспечения в дистрибутиве Debian, а также основанных на нем дистрибутивах (Ubuntu, Linux Mint, ...).
Вы можете использовать apt-get для установки и удаления пакетов программного обеспечения из вашей системы (группами или по одному), а также обновления системных списков пакетов программного обеспечения из подключенных на данный момент репозиториев.
Примеры использования
Установка пакета программного обеспечения:
Переустановка пакета программного обеспечения:
Удаление пакета программного обеспечения:
Удаление пакета программного обеспечения со всему файлами конфигурации:
Поиск пакета программного обеспечения:
Обновление списков пакетов программного обеспечения из подключенных репозиториев (файлов с расширением .deb):
Обновление системы (полезно для поддержания программного обеспечения в актуальном состоянии):
Обновление дистрибутива (утилита попытается загрузить и установить пакеты программного обеспечения из состава новой версии дистрибутива):
Вывод короткого списка всех доступных параметров команды:
Механизм автодополнения команд
Для активации механизма автодополнения команд apt-get по клавише Tab следует добавить строку
в файл .bashrc из вашей домашней директории. После этого при вводе такой команды, как «apt-get install a» и нажатии клавиши Tab командная оболочка Bash попытается подставить имя пакета программного обеспечения.
Дополнительная информация
Попробуйте выполнить команду:
Вы должны будете увидеть следующий вывод:
Использование в других дистрибутивах
Если утилиты из комплекта поставки apt-get совместимы с вашим дистрибутивом, вы сможете воспользоваться штатным менеджером пакетов вашего дистрибутива для установки их в вашу систему. После окончания процесса установки вы сможете использовать приведенные выше команды для управления пакетами программного обеспечения дистрибутива.
Устранение неполадок в дистрибутивах, использующих пакеты RPM
В некоторых случаях после исполнения команды apt-get будет выводиться сообщение о невозможности блокировки определенной директории. Большинство проблем, вызывающих подобное поведение, решается путем исполнения следующей последовательности команд:
👉@linuxchmod
Команда apt-get предназначена для работы с утилитой «apt», являющейся стандартной утилитой для управлении пакетами программного обеспечения в дистрибутиве Debian, а также основанных на нем дистрибутивах (Ubuntu, Linux Mint, ...).
Вы можете использовать apt-get для установки и удаления пакетов программного обеспечения из вашей системы (группами или по одному), а также обновления системных списков пакетов программного обеспечения из подключенных на данный момент репозиториев.
Примеры использования
Установка пакета программного обеспечения:
# apt-get install <имя пакета>
Переустановка пакета программного обеспечения:
# apt-get install --reinstall <имя пакета>
Удаление пакета программного обеспечения:
# apt-get remove <имя пакета>
Удаление пакета программного обеспечения со всему файлами конфигурации:
# apt-get --purge remove <имя пакета>
Поиск пакета программного обеспечения:
# apt-cache search <имя пакета>
Обновление списков пакетов программного обеспечения из подключенных репозиториев (файлов с расширением .deb):
# apt-get update
Обновление системы (полезно для поддержания программного обеспечения в актуальном состоянии):
# apt-get upgrade
Обновление дистрибутива (утилита попытается загрузить и установить пакеты программного обеспечения из состава новой версии дистрибутива):
# apt-get dist-upgrade
Вывод короткого списка всех доступных параметров команды:
# apt-get --help
Механизм автодополнения команд
Для активации механизма автодополнения команд apt-get по клавише Tab следует добавить строку
source /etc/bash_completion
в файл .bashrc из вашей домашней директории. После этого при вводе такой команды, как «apt-get install a» и нажатии клавиши Tab командная оболочка Bash попытается подставить имя пакета программного обеспечения.
Дополнительная информация
Попробуйте выполнить команду:
apt-get moo
Вы должны будете увидеть следующий вывод:
(__)
(oo)
/------/
/ | ||
* /---/
...."Have you mooed today?"…
Использование в других дистрибутивах
Если утилиты из комплекта поставки apt-get совместимы с вашим дистрибутивом, вы сможете воспользоваться штатным менеджером пакетов вашего дистрибутива для установки их в вашу систему. После окончания процесса установки вы сможете использовать приведенные выше команды для управления пакетами программного обеспечения дистрибутива.
Устранение неполадок в дистрибутивах, использующих пакеты RPM
В некоторых случаях после исполнения команды apt-get будет выводиться сообщение о невозможности блокировки определенной директории. Большинство проблем, вызывающих подобное поведение, решается путем исполнения следующей последовательности команд:
rm /var/lock/rpm/transaction
rm /var/lib/rpm/__db*
rm /var/cache/apt/archives/lock
👉@linuxchmod
👍4
👍2
#вакансия #удалённо #parttime #преподаватель #linux
OTUS ищет преподавателей на онлайн-курс Administrator Linux. Professional
Мы расширяем команду экспертов (уже более 650 человек) и ищем опытных практикующих специалистов, которым интересно делиться знаниями. Преподавательский опыт не обязателен — наши методисты помогут вам освоить практики преподавания.
Требуется: опыт администрирования Linux от 3 лет. Виртуализация, контейнеризация, кластеризация. Разворачивание серверов, работа с сетью.
Обязанности:
- подготовиться к занятиям (есть материалы для опоры);
- проводить онлайн-занятия, уделяя большое внимание практике. Здесь вы сможете развивать навыки публичных выступлений, работы с аудиторией и подачи обратной связи;
- за доплату возможна проверка домашних заданий.
Условия:
✅ гибкий график, легко совмещать с основной работой, занятия в вечернее время с 20:00 до 21:30, дни на выбор;
✅ темы занятий на выбор;
✅ оплата от 4000 до 6000 руб. за вебинар (полтора часа) и 300-400 рублей за проверку 1 домашнего задания;
✅ бонусы: доступ к нашим курсам, нетворкинг, развитие личного бренда, участие в воркшопах и конференциях.
Обсудить подробнее: @HR_Nikita
OTUS ищет преподавателей на онлайн-курс Administrator Linux. Professional
Мы расширяем команду экспертов (уже более 650 человек) и ищем опытных практикующих специалистов, которым интересно делиться знаниями. Преподавательский опыт не обязателен — наши методисты помогут вам освоить практики преподавания.
Требуется: опыт администрирования Linux от 3 лет. Виртуализация, контейнеризация, кластеризация. Разворачивание серверов, работа с сетью.
Обязанности:
- подготовиться к занятиям (есть материалы для опоры);
- проводить онлайн-занятия, уделяя большое внимание практике. Здесь вы сможете развивать навыки публичных выступлений, работы с аудиторией и подачи обратной связи;
- за доплату возможна проверка домашних заданий.
Условия:
✅ гибкий график, легко совмещать с основной работой, занятия в вечернее время с 20:00 до 21:30, дни на выбор;
✅ темы занятий на выбор;
✅ оплата от 4000 до 6000 руб. за вебинар (полтора часа) и 300-400 рублей за проверку 1 домашнего задания;
✅ бонусы: доступ к нашим курсам, нетворкинг, развитие личного бренда, участие в воркшопах и конференциях.
Обсудить подробнее: @HR_Nikita
О UEFI
Вообще, представленный в статье материл не относятся исключительно к Ubuntu. В статье освящены и вопросы на прямую не зависящие от ОС.
Статья сфокусирована на объяснении понятий и принципов, а также важных и интересных возможностях UEFI. Более детально сам процесс установки и настройки загрузки Ubuntu в UEFI режиме описан в этой статье или в этой.
Практически все современные компьютеры оснащены системной прошивкой позволяющей загрузиться через UEFI. На более старых компьютерах за загрузку отвечал BIOS. В чем разница и как с этим всем жить - давайте разберемся.
https://help.ubuntu.ru/wiki/uefi
👉@linuxchmod
Вообще, представленный в статье материл не относятся исключительно к Ubuntu. В статье освящены и вопросы на прямую не зависящие от ОС.
Статья сфокусирована на объяснении понятий и принципов, а также важных и интересных возможностях UEFI. Более детально сам процесс установки и настройки загрузки Ubuntu в UEFI режиме описан в этой статье или в этой.
Практически все современные компьютеры оснащены системной прошивкой позволяющей загрузиться через UEFI. На более старых компьютерах за загрузку отвечал BIOS. В чем разница и как с этим всем жить - давайте разберемся.
https://help.ubuntu.ru/wiki/uefi
👉@linuxchmod
👍6
Горячие клавиши терминала Linux
Общие:
История команд:
Стрелки вверх и вниз - используются для перемещения вперед и назад по истории команд.
Перемещение курсора:
Редактирование:
👉@linuxchmod
Общие:
Ctrl+Alt+T
- в дистрибутивах, основанных на Ubuntu это сочетание клавиш используется для открытия терминала.Tab
- эта клавиша используется для автодополнения в терминале. Вам достаточно набрать начало какой-нибудь команды, затем нажать её и команда предложит доступные варианты или завершит её если она одна.Ctrl+L
- очистить весь вывод терминала.Ctrl+S
- приостановить вывод терминала.Ctrl+Q
- возобновить вывод если он был приостановлен.Ctrl+C
- отправить команде сигнал SigInt для её завершения.Ctrl+Z
- свернуть текущую команду в фоновый режим.История команд:
Стрелки вверх и вниз - используются для перемещения вперед и назад по истории команд.
Ctrl+r
- можно использовать для поиска по истории команд.Ctrl+p
- предыдущая команда в истории команд.Ctrl+n
- следующая команда в истории команд.Ctrl+g
- если вы находитесь в режиме поиска, завершает поиск.Ctrl+o
- выполнить найденную поиском команду.Alt+
. - использовать последнее слово предыдущей команды.Перемещение курсора:
Ctrl+a
- перейти в начало строки.Ctrl+e
- перейти в конец строки.Alt+b
- перейти влево на одно слово.Alt+f
- перейти в право на одно слово.Ctrl+b
- перейти влево на один символ.Ctrl+f
- перейти вправо на один символ.Ctrl+xx
- перейти в конец или в начало строки.Редактирование:
Ctrl+u
- вырезать строку до позиции курсора.Alt+Del
- удалить слово перед курсором.Alt+d
- удалить слово после курсора.Ctrl+d
- удалить символ под курсором.Ctrl+h
- удалить символ под курсором.Ctrl+w
- вырезать слово под курсором.Ctrl+k
- вырезать строку от позиции курсора до конца строкиAlt+t
- поменять текущее слово с предыдущим.Ctrl+t
- поменять местами два символа перед курсором.Esc+t
- поменять местами два слова перед курсором.Ctrl+y
- вставить то, что было вырезано.Alt+u
- сделать верхний регистр символов от позиции курсора до конца текущего слова.Alt+l
- сделать нижний регистр символов от позиции курсора до конца слова.Alt+c
- перевести символ под курсором в верхний регистр и перейти к концу слова.Alt+r
- вернуть строку в исходное состояние.Ctrl+_
- отменить последнее действие со строкой.👉@linuxchmod
👍13
Советы по настройке history команд в Bash
Каждая вводимая в терминале команда сохраняется в файле ~/.bash_history. Чтобы посмотреть историю команд – введите history.
Настройка истории команд в Bash осуществляется путем добавления переменных окружения в файл ~/.bashrc.
Чтобы изменения в ~/.bashrc вступили в силу, выполните:
1. Добавляем Отображение Даты и Времени в Bash History
Иногда очень полезно узнать время, когда какая-либо команда была выполнена.
Установите HISTTIMEFORMAT, чтобы сохранять время выполнения каждой команды.
Для этого добавьте следующую строку в файл ~/.bashrc:
export HISTTIMEFORMAT="%h %d %H:%M:%S "
Теперь, набрав history, Вы получите следующий вывод:
2. Увеличиваем Размер Хранимой Истории
Увеличьте HISTSIZE — количество команд, которые необходимо запоминать в списке истории (стандартное значение — 500).
Увеличьте HISTFILESIZE — максимальное количество строк, содержащееся в файле истории (стандартное значение — 500).
3. Добавляем Команды Bash в Файл с Историей
Bash перезаписывает файл .bash_history?
Чтобы добавлять новые команды в файл с историей, а не переписывать его каждый раз, добавьте следующую строку в ~/.bashrc:
4. Мгновенно Сохранять Историю Команд
По умолчанию, Bash записывает историю команд в .bash_history, при завершении сессии.
Если сессия внезапно оборвется Вы потеряете текущую историю команд.
Используйте переменную
Добавьте следующую строку в файл ~/.bashrc, если переменная $PROMPT_COMMAND не была задана ранее:
Добавьте следующую строку, если переменная
👉@linuxchmod
Каждая вводимая в терминале команда сохраняется в файле ~/.bash_history. Чтобы посмотреть историю команд – введите history.
Настройка истории команд в Bash осуществляется путем добавления переменных окружения в файл ~/.bashrc.
Чтобы изменения в ~/.bashrc вступили в силу, выполните:
source ~/.bashrc
1. Добавляем Отображение Даты и Времени в Bash History
Иногда очень полезно узнать время, когда какая-либо команда была выполнена.
Установите HISTTIMEFORMAT, чтобы сохранять время выполнения каждой команды.
Для этого добавьте следующую строку в файл ~/.bashrc:
export HISTTIMEFORMAT="%h %d %H:%M:%S "
Теперь, набрав history, Вы получите следующий вывод:
113 Jun 08 16:31:06 sudo ifconfig
114 Jun 08 16:31:10 top
115 Jun 08 16:31:19 ping disnetern.ru
116 Jun 08 16:31:22 history
2. Увеличиваем Размер Хранимой Истории
Увеличьте HISTSIZE — количество команд, которые необходимо запоминать в списке истории (стандартное значение — 500).
export HISTSIZE=5000
Увеличьте HISTFILESIZE — максимальное количество строк, содержащееся в файле истории (стандартное значение — 500).
export HISTFILESIZE=5000
3. Добавляем Команды Bash в Файл с Историей
Bash перезаписывает файл .bash_history?
Чтобы добавлять новые команды в файл с историей, а не переписывать его каждый раз, добавьте следующую строку в ~/.bashrc:
shopt -s histappend
4. Мгновенно Сохранять Историю Команд
По умолчанию, Bash записывает историю команд в .bash_history, при завершении сессии.
Если сессия внезапно оборвется Вы потеряете текущую историю команд.
Используйте переменную
$PROMPT_COMMAND
, чтобы сохранять команды сразу после выполнения:Добавьте следующую строку в файл ~/.bashrc, если переменная $PROMPT_COMMAND не была задана ранее:
PROMPT_COMMAND='history -a'
Добавьте следующую строку, если переменная
$PROMPT_COMMAND
уже была задана:PROMPT_COMMAND='$PROMPT_COMMAND; history -a'
👉@linuxchmod
👍5
Понимание Inode’ов
Понимание inode’ов критически важно для понимания файловых систем Unix. Файлы содержат данные и метаданные. Метаданные — это информация о файле. Метаданные хранятся в inode. Содержимое inode включает:
- Номер inode
- UID
- GID
- Размер
- Atime (время последнего доступа)
- Mtime (время последней модификации)
- Ctime (время последнего изменения метаданных)
- Размер блока
- Режим (права доступа и тип файла)
- Количество жёстких ссылок
- ACL (списки контроля доступа)
Обычно inode занимает 256 байт. Имена файлов не хранятся в inode — они находятся в данных, относящихся к директории. Как правило, имена файлов хранятся линейно, из-за чего поиск по имени может быть медленным. Файловые системы Ext4 и XFS используют более эффективные B-деревья (Btrees) для хранения имён файлов в директориях, что обеспечивает постоянное время поиска, в отличие от линейного.
Dentry (сокращение от directory entry — запись в директории) используется для хранения связи между inode и именем файла в директории.
Inode может содержать как прямые (direct), так и косвенные (indirect) указатели на блоки данных файла. Прямой указатель означает, что inode содержит номер блока, в котором находятся данные файла. Косвенный указатель означает, что inode содержит номер блока, в котором находятся номера других блоков с данными.
Файловая система Ext создаёт фиксированное количество inode’ов при форматировании. Если inode’ы заканчиваются, необходимо форматировать файловую систему. В отличие от неё, XFS не использует фиксированное количество inode’ов — они создаются по мере необходимости.
При удалении файла системный вызов unlink() удаляет запись в директории, указывающую на inode, и помечает inode как свободный. Сами блоки данных при этом не удаляются.
Количество жёстких ссылок на файл хранится в inode. Каждый раз при создании жёсткой ссылки это число увеличивается. Символические (soft) ссылки не увеличивают счётчик ссылок на файл или директорию.
Суперблок содержит метаданные о файловой системе. Обычно в файловой системе хранится несколько копий суперблока на случай повреждения основной. Некоторые из данных, хранящихся в суперблоке:
– Размер файловой системы
– Размер блока
– Количество свободных и занятых блоков
– Размер и расположение таблицы inode’ов
– Карта блоков диска
Информацию о суперблоке можно получить с помощью команды:
👉@linuxchmod
Понимание inode’ов критически важно для понимания файловых систем Unix. Файлы содержат данные и метаданные. Метаданные — это информация о файле. Метаданные хранятся в inode. Содержимое inode включает:
- Номер inode
- UID
- GID
- Размер
- Atime (время последнего доступа)
- Mtime (время последней модификации)
- Ctime (время последнего изменения метаданных)
- Размер блока
- Режим (права доступа и тип файла)
- Количество жёстких ссылок
- ACL (списки контроля доступа)
Обычно inode занимает 256 байт. Имена файлов не хранятся в inode — они находятся в данных, относящихся к директории. Как правило, имена файлов хранятся линейно, из-за чего поиск по имени может быть медленным. Файловые системы Ext4 и XFS используют более эффективные B-деревья (Btrees) для хранения имён файлов в директориях, что обеспечивает постоянное время поиска, в отличие от линейного.
Dentry (сокращение от directory entry — запись в директории) используется для хранения связи между inode и именем файла в директории.
Inode может содержать как прямые (direct), так и косвенные (indirect) указатели на блоки данных файла. Прямой указатель означает, что inode содержит номер блока, в котором находятся данные файла. Косвенный указатель означает, что inode содержит номер блока, в котором находятся номера других блоков с данными.
Файловая система Ext создаёт фиксированное количество inode’ов при форматировании. Если inode’ы заканчиваются, необходимо форматировать файловую систему. В отличие от неё, XFS не использует фиксированное количество inode’ов — они создаются по мере необходимости.
При удалении файла системный вызов unlink() удаляет запись в директории, указывающую на inode, и помечает inode как свободный. Сами блоки данных при этом не удаляются.
Количество жёстких ссылок на файл хранится в inode. Каждый раз при создании жёсткой ссылки это число увеличивается. Символические (soft) ссылки не увеличивают счётчик ссылок на файл или директорию.
Суперблок содержит метаданные о файловой системе. Обычно в файловой системе хранится несколько копий суперблока на случай повреждения основной. Некоторые из данных, хранящихся в суперблоке:
– Размер файловой системы
– Размер блока
– Количество свободных и занятых блоков
– Размер и расположение таблицы inode’ов
– Карта блоков диска
Информацию о суперблоке можно получить с помощью команды:
dumpe2fs /dev/mount | grep -i superblock
👉@linuxchmod
👍4
Запуск команд в фоновом режиме
Синтаксис
Задачу (например, команду или скрипт) можно перевести в фоновый режим, добавив символ «&» в конец командной строки. Этот оператор переводит команду в фоновый режим и освобождает место в терминале. Команда, выполняемая в фоновом режиме, называется заданием. Во время работы фоновой команды можно выполнять любые другие команды. Синтаксис выглядит следующим образом:
Чтобы перевести команду ls в фоновый режим, введите:
Чтобы перевести следующую команду поиска в фоновый режим, добавьте символ «&» в конец командной строки:
Как найти задания, работающие в фоновом режиме?
Выполните следующую команду:
Пример вывода данных:
[1] и [2] идентификаторы заданий.
Чтобы отобразить идентификаторы процессов для идентификаторов заданий помимо стандартных сведений, передайте параметр -l:
Пример вывода данных:
Пример вывода данных:
7307
7324
Как прекратить выполнение заданий, работающих в фоновом режиме?
Для принудительного или постепенного завершения процесса следует использовать команду kill. Синтаксис выглядит следующим образом:
Как переместить процесс из фонового режима в приоритетный?
Синтаксис:
ИЛИ
Сначала следует вывести список текущих заданий с помощью команды jobs. Для этого введите:
jobs -l
Пример вывода данных:
Чтобы перевести задание job id #2 в приоритетный режим, введите:
ИЛИ используйте команду:
Пример вывода данных:
Чтобы перевести это задание обратно в фоновый режим, нажмите клавишу Z, удерживая клавишу CTRL. При этом выполнение текущего приоритетного задания будет приостановлено. Введите следующую команду, чтобы перевести задание в фоновый режим:
ИЛИ используйте команду:
Теперь командное задание grep будет работать в фоновом режиме.
👉@linuxchmod
Синтаксис
Задачу (например, команду или скрипт) можно перевести в фоновый режим, добавив символ «&» в конец командной строки. Этот оператор переводит команду в фоновый режим и освобождает место в терминале. Команда, выполняемая в фоновом режиме, называется заданием. Во время работы фоновой команды можно выполнять любые другие команды. Синтаксис выглядит следующим образом:
command & script-name & /path/to/command arg1 arg2 & command-1 | command-2 arg1 & command-1 | command-2 -arg1 -arg2 >/path/to/output &
ПримерыЧтобы перевести команду ls в фоновый режим, введите:
$ ls *.py > output.txt &
Чтобы перевести следующую команду поиска в фоновый режим, добавьте символ «&» в конец командной строки:
find . -iname "*.mp3" > myplaylist.txt &
Как найти задания, работающие в фоновом режиме?
Выполните следующую команду:
jobs
Пример вывода данных:
[1]- Running find / -iname "*.c" 2> /dev/null > /tmp/output.txt &
[2]+ Running grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt &
Где[1] и [2] идентификаторы заданий.
Чтобы отобразить идентификаторы процессов для идентификаторов заданий помимо стандартных сведений, передайте параметр -l:
jobs –l
Пример вывода данных:
[1]- 7307 Running find / -iname "*.c" 2> /dev/null > /tmp/output.txt &
[2]+ 7324 Running grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt &
Чтобы отобразить только идентификаторы процессов, введите:jobs -p
Пример вывода данных:
7307
7324
Как прекратить выполнение заданий, работающих в фоновом режиме?
Для принудительного или постепенного завершения процесса следует использовать команду kill. Синтаксис выглядит следующим образом:
kill PID
kill -15 PID
kill -9 PID
killall process-Name-Here
killall -15 process-Name-Here
killall -9 process-Name-Here
Как переместить процесс из фонового режима в приоритетный?
Синтаксис:
%JOB-ID
ИЛИ
fg JOB-ID
Сначала следует вывести список текущих заданий с помощью команды jobs. Для этого введите:
jobs -l
Пример вывода данных:
[1]- 7307 Running find / -iname "*.c" 2> /dev/null > /tmp/output.txt &
[2]+ 7324 Running grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt &
Чтобы перевести задание job id #2 в приоритетный режим, введите:
%2
ИЛИ используйте команду:
fg 2
Пример вывода данных:
grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt
Чтобы перевести это задание обратно в фоновый режим, нажмите клавишу Z, удерживая клавишу CTRL. При этом выполнение текущего приоритетного задания будет приостановлено. Введите следующую команду, чтобы перевести задание в фоновый режим:
%2 &
ИЛИ используйте команду:
bg
Теперь командное задание grep будет работать в фоновом режиме.
👉@linuxchmod
👍4
🕵️
🔧 Примеры, которые реально полезны:
1️⃣ Кто слушает порт 443:
📌
2️⃣ Все открытые соединения от процесса (например, PID 1234):
3️⃣ Список соединений в состоянии
4️⃣ Сколько вообще активных соединений:
💡 Фишка:
Для UDP аналогично — просто меняем
👉@linuxchmod
ss
вместо netstat
: как быстро найти, что слушает портnetstat
давно устарел и не показывает точную картину на системах с systemd
. Настоящие профи уже давно используют ss
.🔧 Примеры, которые реально полезны:
1️⃣ Кто слушает порт 443:
ss -ltnp 'sport = :443'
📌
-l
— только слушающие, -t
— TCP, -n
— не резолвим имена, -p
— покажи PID/имя процесса.2️⃣ Все открытые соединения от процесса (например, PID 1234):
ss -pant | grep pid=1234
3️⃣ Список соединений в состоянии
ESTABLISHED
:
ss -ant state established
4️⃣ Сколько вообще активных соединений:
ss -s
💡 Фишка:
ss
быстрее и точнее netstat
, т.к. работает через netlink
. Особенно это критично на серверах с тысячами соединений.Для UDP аналогично — просто меняем
-t
на -u
.👉@linuxchmod
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
aafire
Как установить libaa-bin в Ubuntu / Debian
sudo apt update
sudo apt install libaa-bin
Примеры программ с использованием aalib
https://aa-project.sourceforge.net/aalib/
👉@linuxchmod
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5⚡1
This media is not supported in your browser
VIEW IN TELEGRAM
Netdata - это высокоточный мониторинг инфраструктуры и производительности в режиме реального времени.
200+ предварительно созданных интеграций
Интеграция со все большим количеством операционных систем, коллекторов, платформ уведомлений и цепочек инструментов мониторинга/наблюдения.
Если метрика может быть собрана, она будет собрана: с 2 000+ автоопределяемых метрик и 100+ предварительно настроенных предупреждений на каждый узел.
https://github.com/netdata/netdata
👉@linuxchmod
200+ предварительно созданных интеграций
Интеграция со все большим количеством операционных систем, коллекторов, платформ уведомлений и цепочек инструментов мониторинга/наблюдения.
Если метрика может быть собрана, она будет собрана: с 2 000+ автоопределяемых метрик и 100+ предварительно настроенных предупреждений на каждый узел.
https://github.com/netdata/netdata
👉@linuxchmod
👍2
Скриптик переустановки пароля пользователя MikroTik
Скрипт интересен строкой преобразования кода символа из переменной
👉@linuxchmod
# Скрипт смены пароля пользователя
# только для исполнения в терминале ROS
# by Sertik 09/06/2020
{
:global EnterString do={
:local cont 0; :local string ""
:while ($cont!=13) do={
:local key ([:terminal inkey])
:if ($key!=13) do={
:local char [[:parse "(\"\\$[:pick "0123456789ABCDEF" (($key >> 4) & 0xF)]$[:pick "0123456789ABCDEF" ($key & 0xF)]\")"]]
:set string ("$string"."$char")}
:set cont $key
}
:return $string}
;
:put "Please, enter Username:"
:local RegUser [$EnterString];
:put "";
:if ([:len [/user find disabled=no name=$RegUser]]!=0) do={:put "Ok, a user with this name was found"; :put "";
:put "Please, enter new password for this user:"
:local newPass [$EnterString];
[/user remove $RegUser];
[/user add name=$RegUser password=$newPass group=full];
:put "";
:put "The user has been re-created, the password has been changed";
:put ("New user`s password: "."$newPass");
:put "Don't forget to set up access restrictions based on ip addresses";
} else={:put ("User "."$RegUser "."not found"); :put "";
}
}
Скрипт интересен строкой преобразования кода символа из переменной
$key
, сграбленного с клавиатуры терминала, в сам символ.:local char [[:parse "(\"\\$[:pick "0123456789ABCDEF" (($key >> 4) & 0xF)]$[:pick "0123456789ABCDEF" ($key & 0xF)]\")"]]
👉@linuxchmod
👍2
Badblocks — команда для поиска и исправления поврежденных секторов на жестких дисках
Команда badblocks предназначена для поиска и исправления поврежденных секторов на жестких дисках. На сегодняшний день она в некоторой степени утратила свою актуальность из-за того, что современные жесткие диски осуществляют переназначение поврежденных секторов в автоматическом режиме сразу же после возникновения ошибок, связанных с чтением или записью данных. Тем не менее, она может использоваться для активации упомянутого механизма переназначения секторов, так как при работе в основном режиме она осуществляет посектороное чтение данных с жесткого диска, которое позволяет жесткому диску выявить и переназначить поврежденные сектора.
Предупреждение: не используйте рассматриваемую команду, если не до конца уверены в правильности своих действий или не понимаете сути происходящих процессов, ведь в результате даже незначительной ошибки вы можете лишиться всех хранящихся на диске данных. Кроме того, не пытайтесь использовать эту команду по отношению к смонтированному разделу или к диску с со смонтирнованными разделами, ведь в этом случае последствия будут непредсказуемыми.
Перед использованием badblocks необходимо определиться с жестким диском или его разделом, на котором нужно искать поврежденные сектора. Для этого может использоваться команда lsblk:
В данном случае в столбце NAME будут выводиться имена файлов устройств накопителей и их разделов (для обозначения разделов используется дополнительная нумерация), в столбце FSTYPE - названия созданных в разделах файловых систем, в столбце LABEL - метки разделов, в столбце MOUNTPOINT - пути к точкам монтирования файловых систем, а в столбце MODEL - информация о моделях устройств.
Базовый синтаксис команды:
Параметр -v используется для вывода информации о ходе процесса проверки жесткого диска.
Если вам по какой-либо причине понадобится запретить использование поврежденных секторов на уровне файловой системы вы всегда можете сохранить список этих секторов и передать его утилите e2fsck. Это делается следующим образом:
Однако, в большинстве случаев будет достаточно однокртного посектороного чтения данных из раздела или со всего устройства.
Примеры использования
1. Выбор раздела жесткого диска для проверки
Выберем раздел с корневой файловой сситемой дистрибутива Debian (с соотвествующей меткой), который в данный момент не смонтирован. Ему соответствует файл устройства sdb2.
2. Проверка выбранного раздела на наличие поврежденных секторов
Очевидно, что в ходе проверки раздела поврежденных секторов не было обнаружено.
👉@linuxchmod
Команда badblocks предназначена для поиска и исправления поврежденных секторов на жестких дисках. На сегодняшний день она в некоторой степени утратила свою актуальность из-за того, что современные жесткие диски осуществляют переназначение поврежденных секторов в автоматическом режиме сразу же после возникновения ошибок, связанных с чтением или записью данных. Тем не менее, она может использоваться для активации упомянутого механизма переназначения секторов, так как при работе в основном режиме она осуществляет посектороное чтение данных с жесткого диска, которое позволяет жесткому диску выявить и переназначить поврежденные сектора.
Предупреждение: не используйте рассматриваемую команду, если не до конца уверены в правильности своих действий или не понимаете сути происходящих процессов, ведь в результате даже незначительной ошибки вы можете лишиться всех хранящихся на диске данных. Кроме того, не пытайтесь использовать эту команду по отношению к смонтированному разделу или к диску с со смонтирнованными разделами, ведь в этом случае последствия будут непредсказуемыми.
Перед использованием badblocks необходимо определиться с жестким диском или его разделом, на котором нужно искать поврежденные сектора. Для этого может использоваться команда lsblk:
# lsblk -o NAME,FSTYPE,LABEL,MOUNTPOINT,MODEL
NAME FSTYPE LABEL MOUNTPOINT MODEL
...
В данном случае в столбце NAME будут выводиться имена файлов устройств накопителей и их разделов (для обозначения разделов используется дополнительная нумерация), в столбце FSTYPE - названия созданных в разделах файловых систем, в столбце LABEL - метки разделов, в столбце MOUNTPOINT - пути к точкам монтирования файловых систем, а в столбце MODEL - информация о моделях устройств.
Базовый синтаксис команды:
# badblocks -v /dev/<имя файла раздела или устройства>
Параметр -v используется для вывода информации о ходе процесса проверки жесткого диска.
Если вам по какой-либо причине понадобится запретить использование поврежденных секторов на уровне файловой системы вы всегда можете сохранить список этих секторов и передать его утилите e2fsck. Это делается следующим образом:
# badblocks -v /dev/<имя файла раздела или устройства> > /tmp/badblocks.txt
# e2fsck -l /tmp/bad-blocks.txt /dev/<имя файла раздела или устройства>
# rm /tmp/badblocks.txt
Однако, в большинстве случаев будет достаточно однокртного посектороного чтения данных из раздела или со всего устройства.
Примеры использования
1. Выбор раздела жесткого диска для проверки
# lsblk -o NAME,FSTYPE,LABEL,MOUNTPOINT,MODEL
NAME FSTYPE LABEL MOUNTPOINT MODEL
sdb MAXTOR STM316081
├─sdb4 ext4 home /home
├─sdb2 ext4 Debian
└─sdb1 swap
...
Выберем раздел с корневой файловой сситемой дистрибутива Debian (с соотвествующей меткой), который в данный момент не смонтирован. Ему соответствует файл устройства sdb2.
2. Проверка выбранного раздела на наличие поврежденных секторов
# badblocks -v /dev/sdb2
Checking blocks 0 to 12697599
Checking for bad blocks (read-only test): done
Pass completed, 0 bad blocks found. (0/0/0 errors)
Очевидно, что в ходе проверки раздела поврежденных секторов не было обнаружено.
👉@linuxchmod
👍3
Наиболее распространенные оболочки
🔹Текстовые оболочки
Bash (оболочка типичная для систем GNU/Linux)
Bourne оболочки (оболочка из первых систем Unix)
C оболочки (оболочки популярные на Unix)
Z оболочки (известный как Zsh)
Korn оболочки (системы оболочки , обычно доступные на Unix)
Debian Альмквист оболочки (оболочки , используемый в Debian и производных для запуска системных скриптов)
cmd.exe (оболочка операционных систем семейства Windows NT)
command. com (оболочка операционной системы MS-DOS и некоторых системах Microsoft Windows)
Windows PowerShell (Advanced Shell для систем Microsoft Windows)
🔹Графические оболочки
GNOME (что характерно для GNU / Linux и Solaris 10)
KDE (что характерно для GNU/ Linux)
Xfce (что характерно для систем GNU / Linux)
Common Desktop Environment (как правило, доступны для систем Unix)
Finder (оболочка систем Mac OS )
File Explorer оболочка системы Microsoft Windows)
Unity (Official оболочка Ubuntu)
👉@linuxchmod
🔹Текстовые оболочки
Bash (оболочка типичная для систем GNU/Linux)
Bourne оболочки (оболочка из первых систем Unix)
C оболочки (оболочки популярные на Unix)
Z оболочки (известный как Zsh)
Korn оболочки (системы оболочки , обычно доступные на Unix)
Debian Альмквист оболочки (оболочки , используемый в Debian и производных для запуска системных скриптов)
cmd.exe (оболочка операционных систем семейства Windows NT)
command. com (оболочка операционной системы MS-DOS и некоторых системах Microsoft Windows)
Windows PowerShell (Advanced Shell для систем Microsoft Windows)
🔹Графические оболочки
GNOME (что характерно для GNU / Linux и Solaris 10)
KDE (что характерно для GNU/ Linux)
Xfce (что характерно для систем GNU / Linux)
Common Desktop Environment (как правило, доступны для систем Unix)
Finder (оболочка систем Mac OS )
File Explorer оболочка системы Microsoft Windows)
Unity (Official оболочка Ubuntu)
👉@linuxchmod
👍4
Текстовый интерфейс пользователя (RHCSA)
Стандартные потоки (RHCSA)
Создание backup скрипта (RHCSA)
Инкрементальные бэкапы с tar
Глоббинг и регулярные выражения (RHCSA)
источник
👉@linuxchmod
Стандартные потоки (RHCSA)
Создание backup скрипта (RHCSA)
Инкрементальные бэкапы с tar
Глоббинг и регулярные выражения (RHCSA)
источник
👉@linuxchmod
👍2