Відповіді:
Хоча ви не вказали точну команду, яку виконуєте, і як таку важко сказати напевно, я вважаю, що ваша команда друкує до стандартного дескриптора файлів помилок (він же stderr), а не stdout.
Перенаправлення > fileабо | tee fileлише перенаправлення stdout, але не stderr.
2>&1 > fileне робить ні того, що шукаєш. Він спочатку перенаправляє помилку на місце stdout в даний момент, який є вашим емулятором терміналу, а потім перенаправляє stdout (і тільки stdout, а не stderr) у файл.
Ви можете використовувати 2>fileдля перенаправлення stderr або поміняти два перенаправлення в попередньому прикладі: >file 2>&1щоб перенаправити обидва потоки в один і той же файл. Порядок важливий, оскільки вони оцінюються зліва направо. Цього разу ви спочатку переспрямовуєте вихід у файл, а потім помилку на поточне місце виводу (яке вже є тим файлом).