ZaLinux.ru

Как вывести на экран, если программа только сохраняет в файл

Многие программы, работающие в командной строке 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 и информация будет просто выведена на экран.

Рекомендуемые статьи:

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *