Поиск по сайту:

Как сохранить вывод команды в файл с помощью терминала Linux


Мы все знаем, как запуск команды в командной строке Linux, Терминале, приводит к выполнению команды и печати результатов в самом Терминале. Иногда этого немедленного отображения вывода недостаточно, особенно если мы хотим сохранить вывод для дальнейшего использования. К счастью, Linux bash и все операционные системы bash, если уж на то пошло, оснащены возможностью вывода вывода команды в указанный файл. В этой статье мы решим следующие две задачи:

  • Сохранение вывода команды в файл
  • Печать вывода на терминале и сохранение его в файл

Команды, упомянутые в этой статье, были выполнены в системе Ubuntu 18.04 LTS.

Сохранение вывода команды в файл

Мы запустим несколько примеров, в которых вывод команд будет сохранен в указанном нами имени файла.

Создать новый файл/Заменить существующий файл

Если вы хотите сохранить вывод команды в новый файл или заменить содержимое уже существующего файла выводом команды, используйте следующий синтаксис:

[command] > [/filelocation/filename]

Например, я буду использовать команду lscpu (которая отображает системную информацию), а затем распечатаю ее содержимое в файл с именем systeminformation.txt. Этот файл еще не существует в моей системе.

Когда я получаю доступ к этому файлу через файловый менеджер, он выглядит так:

Добавить вывод в существующий файл

Если вы хотите сохранить вывод команды Linux в файл, не изменяя его уже существующее содержимое, вы можете использовать следующий синтаксис:

[command] >> [/filelocation/filename]

Например, следующая команда добавит результат команды ls в конец моего уже существующего файла systeminformation.txt.

Следующий файл, который когда-то содержал только мою системную информацию, теперь также содержит выходные данные моей команды ls:

Печать вывода на терминале и сохранение его в файл

Возможно, вы заметили, что команды, которые мы упомянули выше, сохраняют вывод только в файл, не печатая его на самом терминале. Используйте следующий синтаксис, если вы хотите также просмотреть вывод команды на терминале:

[command] | tee [/filelocation/filename]

Например, текст, который мы хотим отобразить на следующем изображении, теперь будет отображаться на Терминале, а также печататься в файле myfile.txt.

Вот содержимое файла, созданного с помощью команды:

Если вы хотите добавить вывод команды в уже существующий файл. Пожалуйста, следуйте этому синтаксису:

[command] | tee -a [/filelocation/filename]

Например, на следующем изображении показано, как будет отображено еще немного текста, а затем добавлено в мой уже существующий файл:

Вот как файл выглядит сейчас:

Эти текстовые файлы, ориентированные на вывод, которые мы создали в этой статье, в некоторых случаях могут быть гораздо более полезными, чем обычная печать вывода на терминале. Вот насколько мощным является Ubuntu bash!

Статьи по данной тематике: