ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как перенаправить вывод команды top в файл в Linux?

Bash Heredoc

Когда пользователь Linux вводит любую команду в командной строке bash, терминал обычно распечатывает вывод вызванной команды, чтобы вы могли сразу его прочитать. Однако bash также позволяет «redirect» или сохранять вывод любой команды в системе.

В этой статье мы обсудим три различные процедуры перенаправления вывода команды top в любой файл.

 

Метод 1: перенаправление вывода одного файла

Чтобы использовать перенаправление bash, выполните любой сценарий, затем определите  оператор > или >>, за которым следует путь к файлу, на который должен быть перенаправлен вывод.

Можно сказать, что технически это перенаправление файла для «stdout», что является нормальным отображением. Теперь мы выполним демонстрационный пример. Команда ls отображает содержимое папок и файлов текущего каталога после ее выполнения.

$ ls

 

ls > /path/to/file

 

Однако эта команда сохранит вывод в указанный файл в следующем примере, а не печатает его на терминале.

ls > /home/andreyex/outputfile

 

Используйте указанный синтаксис команды для проверки содержимого файла.

cat /path/to/file

Теперь напишите приведенную ниже команду для печати содержимого «выходного файла» в терминале.

$ cat /home/andreyex/outputfile

 

Оператор «>» перезаписывает содержимое файла результатом выполнения команды. Вместо этого вы можете использовать оператор «>>» для сохранения вывода нескольких команд в один файл. Например, выполнение данной команды добавит системную информацию в конкретный файл.

uname -a >> /path/to/file
$ uname -a >> /home/andreyex/outputfile

$ cat /home/andreyex/outputfile

Метод 2: перенаправление вывода терминала в один файл

Не понравилась идея использования оператора «>» или «>>» для перенаправления вывода? Не волнуйтесь! Команда tee здесь, чтобы спасти вас.

command | tee /path/to/file
$ ls | tee  /home/andreyex/outputfile

 

Приведенная ниже команда tee перезапишет содержимое файла выводом команды, аналогичным оператору «>».

$ uname -a | tee -a  /home/andreyex/outputfile

Метод 3: команда top

Системные администраторы также используют команду top для просмотра в реальном времени системной статистики, такой как средняя загрузка, время безотказной работы системы, запущенные задачи, используемая память, конкретная информация о каждом запущенном процессе и сводка потоков или процессов. Используя флаг -b, эта команда помогает получить информацию о текущих процессах, выполняемых в системе. Команда top разрешает вершине работать в пакетном режиме, а флаг -n определяет количество итераций, которые команда должна выполнять в качестве вывода.

$ top -b -n 1 > topfile.txt

 

Весь вывод, полученный в результате выполнения команды top, будет перенаправлен в указанный файл. Теперь напишите команду less для проверки содержимого файла.

$ less topfile.txt

 

Флаг -n отправит единственный снимок выполненной команды в указанный файл. Чтобы получить только первую итерацию, укажите «1» после флага «-n».

$ top -b -n 1 > top-iteration.txt

 

Используйте команду cat для просмотра информации о запущенных задачах.

$ cat top-iteration.txt | grep Tasks

Заключение:

В Linux для перенаправления вывода в файл используйте операторы перенаправления «>» и «>>» или команду top. Перенаправление позволяет вам сохранить или перенаправить вывод команды в другой файл в вашей системе. Вы можете использовать его для сохранения выходных данных и использования их позже для различных целей.

Exit mobile version