Многие программы, работающие в командной строке Linux, выводят результат своей работы прямо в консоль, то есть на экран. Достаточно программ, которые по умолчанию выводят в стандартный вывод (то есть на экран, в консоль), но при использовании опции сохраняют отчёт в файл.
Но бывают программы, которые только сохраняют результаты в файл, к примеру, у меня есть программа, у которой имеется опция -o log_file, которая записывает данные в файл log_file.
Как вместо записи в файл перенаправить в стандартный вывод (stdout)? Есть ли какое-нибудь «специальное имя» для stdout, которое может использоваться как имя файла, наподобие CONOUT$ в Windows?
В Linux всё является файлами. В том числе стандартный вывод (stdout), стандартный ввод (stdin) и стандартный вывод ошибок (stderr) также являются файлами, это, соответственно:
- /dev/stdout
- /dev/stdin
- /dev/stderr
Многие программы, если не указать опцию вывода в файл, выведут информацию в стандартный вывод. Поэтому в моём примере стоит начать с запуска команды без опции -o. И если этот вариант не сработает (например, программа сразу завершилась с ошибкой «отсутствие обязательной опции -o", тогда воспользуйтесь следующей конструкцией: -o /dev/stdout.
То есть в качестве файла для записи отчёта можно указать /dev/stdout и информация будет просто выведена на экран.
Связанные статьи:
- Как удалить метаданные файла на Linux (50%)
- Как найти дубликаты файлов на Linux с помощью dupeGuru (50%)
- Как проверить дисковое пространство на Linux с командой df (50%)
- Какие есть полезные инструменты с интерфейсом командной строки для системных администраторов Linux (50%)
- PhotoRec: восстановление удалённых и потерянных фотографий и файлов на картах памяти и жёстких дисках (50%)
- Как узнать, когда была создана файловая система ext4/ext3/ext2 и когда она была последний раз смонтирована (RANDOM - 50%)