🐧 Как сохранить вывод команды Linux в изображение или текстовый файл — Information Security Squad
🐧 Как сохранить вывод команды Linux в изображение или текстовый файл
Была ли у вас ситуация, когда вы хотели отправить вывод команды Linux своему коллеге или другу?
Этот просто трюк Linux обязательно пригодится вам.
Вы можете сохранить вывод команды Linux в изображение или файл.
Все, что вам нужно, это только ImageMagick.
Он может быть полезен, когда вам нужно отправить результаты сотруднику службы технической поддержки или коллеге.

Как сохранить вывод команды Linux в изображение

Сначала установите инструмент ImageMagick.

Он доступен в репозиториях по умолчанию в большинстве дистрибутивов Linux.

Например, чтобы установить ImageMagick в Arch Linux и его производных, запустите:

$ sudo pacman -S imagemagick
На Debian, Ubuntu и других системах на основе DEB вы можете установить его, как показано ниже.
$ sudo apt-get install imagemagick

На Fedora:

$ sudo dnf install ImageMagick

На CentOS:

$ sudo yum install ImageMagick

На openSUSE:

$ sudo zypper install ImageMagick
Теперь, чтобы сохранить вывод любой команды Linux в файл картинки, просто запустите следующую команду:
$ ip a | convert label:@- myipaddress.png
Приведенная выше команда сохранит вывод команды ifconfig в изображение и сохранит его в текущем рабочем каталоге.
Давайте разберем приведенную выше команду и посмотрим, что делает каждая опция.
  • ip a отобразит IP-адрес вашей системы Linux.
  • Команда convert сохранит вывод в изображение.
  • label: @ — myipaddress.png сохранит вывод команды в изображение с именем myipaddress.png.
Вот еще один пример.
Я сохранил вывод Linux Kernel в изображение.
$ uname -a | convert label:@- mylinuxkernel.png
Выше мы увидели, что мы сохранили вывод команды в файле изображения.
Мы также можем сохранить вывод в существующем файле изображения.
Для этого запустите:
$ convert -font -misc-fixed-*-*-*-*-*-*-*-*-*-*-*-* -fill black -draw "text 270,260 \" `lsb_release -a` \"" image.png systemdetails.png

Эта команда напечатает вывод команды «lsb_release -a» в изображение с именем image.png и сохранит его с новым именем «systemdetails.png».

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

Исправление проблем

В последних дистрибутивах Ubuntu Linux некоторые операции конвертирования ограничены по соображениям безопасности.

Если вы попробовали вышеуказанные команды в ОС Ubuntu или Centos, вы можете столкнуться со следующим сообщением об ошибке:

convert: not authorized `@-' @ error/constitute.c/ReadImage/454.
convert: no images defined `mylinuxkernel.png' @ error/convert.c/ConvertImageCommand/3046.
В этом случае вам нужно отредактировать файл конфигурации policy.xml и изменить политику.
$ sudo nano /etc/ImageMagick-6/policy.xml
Примечание: Путь может отличаться в зависимости от версии.
Найдите следующую строку:
<policy domain="path" rights="none" pattern="@*" />

Закомментируйте или удалите следующую строку:
[...]
<!--  <policy domain="path" rights="none" pattern="@*"/> -->
[...]
Сохраните и закройте файл.
Теперь вы сможете сохранять команды в файле изображения.

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

Мы знаем, как сохранить вывод команды в изображение.

Мы также можем сохранить вывод команды Linux в файл.

Например, чтобы сохранить выходные данные команды «ip addr» в файл с именем myipaddress.txt, выполните:

$ ip addr > myipaddress.txt
Чтобы проверить, просмотрите текстовый файл, используя ваши любимые программы для просмотра текста.
Или мы можем использовать команду «cat», как показано ниже.
$ cat myipaddress.txt

Следующая команда сохранит мой файл pacman.log в файл с именем mylogs.txt.

$ tail -f /var/log/pacman.log  > mylogs.txt

И мы можем легко сохранить детали IP, используя команду:

$ ip a > mynetworkdetails.txt
Возможно, вы захотите записать вывод команды в несколько файлов.
Вот как это сделать.
$ uname -a | tee file1 file2

Приведенная выше команда запишет вывод команды «uname -a» в file1 и file2.

Если файлы еще не существуют, они будут созданы.

По умолчанию он перезаписывает содержимое файлов file1 и file2.

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

$ ip a | tee -a file1 file2
Эта команда не будет перезаписывать существующее содержимое file1 и file2.
Вместо этого он просто добавит вывод команды ifconfig к file1 и file2.
Другими словами, эти два файла теперь имеют выходные данные команд «uname -a» и «ip a».

Добавить комментарий

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