Команды Linux · 2 min read · Sep 20, 2025
Учебник по команде test в Linux для начинающих (с примерами)

Когда вы работаете с командной строкой Linux, иногда вам нужно протестировать определенные вещи, такие как целочисленные значения или является ли файл определенного типа. Существует встроенная утилита командной строки test, которую вы можете использовать для выполнения большинства этих сравнений и тестов.
В этом учебнике мы объясним основы этого инструмента с помощью простых примеров. Но прежде чем мы это сделаем, следует упомянуть, что все примеры в этой статье были протестированы на Ubuntu 22.04 LTS.
Команда test в Linux
Как уже упоминалось выше, команда test используется для выполнения проверок и сравнений. Вот ее синтаксис:
test EXPRESSIONА вот что говорит страница man об этой утилите:
test - проверка типов файлов и сравнение значенийСледуют некоторые примеры в формате вопросов и ответов, которые должны дать вам хорошее представление о том, как работает этот инструмент.
Примечание: Имейте в виду, что некоторые параметры командной строки, которые предоставляет test, наиболее полезны при использовании в оболочках скриптов.
Вопрос 1. Как сравнить две строки?
Просто, вам нужно использовать знак равенства (=) между ними. Например:
test howto = forgeЛучше было бы написать что-то вроде этого:
test howto = forge && echo "same"Таким образом, если строки одинаковы, слово “same” должно быть выведено в выводе, иначе ничего не должно быть выведено.
Аналогично, вы можете использовать следующий шаблон, если хотите протестировать на неравенство.
STRING1 != STRING2Вопрос 2. Как сравнить целые числа с помощью test?
Это также очень просто - просто сравните их, используя ‘-eq’. Например:
test 5 -eq 7 && echo "same"Вот скриншот, показывающий, как работает этот параметр командной строки:
Аналогично, вы можете использовать ‘ -ge ‘ для проверки больше или равно, ‘ -gt ‘ для больше, ‘ -le ‘ для меньше или равно, ‘ -lt ‘ для меньше и ‘ -ne ‘ для не равно.
Вопрос 3. Как тестировать/сравнивать файлы с помощью test?
Чтобы проверить, какой из двух файлов новее, используйте ‘-nt’. Например:
test file1 -nt file2Вот как я протестировал это на своей системе:
Другие сравнения файлов, которые вы можете выполнить, включают проверку, какой из двух файлов старше (-ot) и имеют ли два файла одинаковые номера устройства и инода (-ef).
Чтобы проверить, является ли данный файл каталогом, используйте опцию -d следующим образом:
test -d [имя_файла]
Например:
test -d new_dir
Следуют некоторые другие параметры тестирования типов файлов, которые предлагает команда ‘test’:

Вопрос 4. Как команда test обрабатывает символические ссылки?
Команда test разыменовывает символические ссылки, хотя есть несколько исключений. Вот что говорит страница man об этом:
За исключением -h и -L, все тесты, связанные с FILE, разыменовывают символические ссылки.В случае, если вы не в курсе, оба -h и -L проверяют, существует ли файл и является ли он символической ссылкой - поэтому их исключение имеет смысл, не так ли?
Заключение
Команда test предлагает множество опций, но в широком смысле вы можете объединить их в 3-4 категории. Мы предоставили примеры для каждой категории. Так что попробуйте их, и когда закончите, перейдите на страницу man утилиты для получения дополнительной информации.
Get new posts in your inbox
No spam. Unsubscribe anytime.