Здесь мы разберём лимиты на использование inotify. Узнаем что это такое, для чего используется и как задать ограничение на их количество.
Архив метки: Linux
Команда test
Предназначена для проверки типа файла и сравнения чисел и строк. Возвращает код возврата 0 (истина) или 1 (ложь) в зависимости от вычисления выражения. Выражения могут быть как унарными, так и бинарными.
test выражение
Для сокращения кода сценария используют парный оператор [ как синоним test. Парный оператор требует пробела между скобками потому, что [ (скобка) является командой оболочки.
Проверка типа файла
-d file— истина, еслиfileсуществует и является каталогом-e file— истина, еслиfileсуществует-f file— истина, еслиfileсуществует и является обычным файлом-r file— истина, еслиfileсуществует и доступен для чтения-s file— истина, еслиfileсуществует и имеет размер больше, чем ноль-w file— истина, еслиfileсуществует и доступен для записи-x file— истина, еслиfileсуществует и доступен для выполнения-L file— истина, еслиfileсуществует и является символьной ссылкойfile1 -nt file2— истина, еслиfile1новее (дата модификации), чемfile2file1 -ot file2— истина, еслиfile1старее, чемfile2
#!/bin/bash
if [ -f "$HOME/.bashrc" ]; then
echo "Файл существует!"
else
echo "Файл не существует!"
fi
Сравнение строк
-z string— истина, если длинаstringравна нулю-n string— истина, если длинаstringне нольstring1 = string2— истина, если строки равныstring1 != string2— истина, если строки не равны
Сравнение целых чисел
число1 -eq число2— истина, есличисло1равночисло2число1 -gt число2— истина, есличисло1большечисло2число1 -ge число2— истина, есличисло1больше или равночисло2число1 -lt число2— истина, есличисло1меньшечисло2число1 -le число2— истина, есличисло1меньше или равночисло2число1 -ne число2— истина, есличисло1не равночисло2
#!/bin/bash
if [ 3 -lt 6 ]; then
echo "Истина"
else
echo "Ложь"
fi
Операции AND и OR
expr1 -a expr2— истина, если оба выраженияexpr1иexpr2истина (операция AND)expr1 -o expr2— истина, если хотя бы одно из выраженийexpr1илиexpr2истина (операция OR)! expr— истина, если выражениеexprложно
В условном выражении команды test можно использовать круглые скобки, чтобы изменить порядок вычисления, но их нужно экранировать:
$ [ ( "$count" -ge 0 ) -a ( "$count" -lt 10 ) ]
«[[…]]» — расширенный вариант от «[…]», оболочка выполняет его как один элемент с кодом возврата. Внутри «[[…]]» разрешается выполнение операторов &&, || которые приводят к ошибке в обычных скобках «[…]».
#!/bin/bash
if [[ -f "$HOME/.bashrc" && -f "/usr/bin/nano" ]]; then
echo "Все в порядке, можно редактировать!"
else
echo "Ошибка!"
fi
Лимиты накладываемые SystemD — system.conf
Здесь мы разберём лимиты, накладываемые системой SystemD, а для настройки этих лимитов будем править конфиг system.conf и файлы юнитов SystemD.
Лимиты накладываемые PAM — limits.conf
В этой статье мы разбираем лимиты, накладываемые подсистемой PAM, а для настройки этих лимитов будем править конфиг limits.conf.
Лимит открытых файлов — настройки sysclt.conf
Здесь я разбираю настройки системы с помощью конфига /etc/sysclt.conf, для того чтобы задать лимит открытых файлов для системы и процессов.
Утилита vmstat
В статье разбирается утилита vmstat, которая показывает статистику использования виртуальной памяти в системе Linux.