"2> /dev/null" у кінці команди перенаправляє повідомлення про помилки до /dev/null замість stdout. Таким чином ви побачите лише вихідні дані команди, не побачивши жодних повідомлень про помилки. /dev/null також відомий як бітове відро.
2>&1. Це є переспрямування (>) потоку «2» (STDERR) як дубльованого (&) призначення як «1» (STDOUT). Завдяки оператору дублювання потік 2 тепер переспрямовуватиметься до вже вказаного пункту призначення для 1 steam, яким є «/dev/null».
Отже, 2>/dev/null повідомляє вашій оболонці перенаправляти стандартну помилку з запущеної програми до /dev/null, фактично ігноруючи це. Це робить stderr (потік №2, з помилками) об’єднаним із стандартним виводом (потік №1, з повідомленнями).
/dev/null у Linux є нульовим файлом пристрою. Це відкине все, що на нього записане, і поверне EOF під час читання. Це хак командного рядка, який діє як вакуум, який висмоктує все, що йому кидають.
Це означає, що stderr ( 2 – містить повідомлення про помилки від виконаної команди або сценарію) перенаправляється ( >& ) на stdout ( 1 – вихід команди), а останній перенаправляється на /dev/null (нульовий пристрій ). Таким чином ви можете придушити всі повідомлення, які можуть бути видані виконаною командою.