Как сохранить вывод команды Linux в изображение
Сначала установите инструмент ImageMagick.
Он доступен в репозиториях по умолчанию в большинстве дистрибутивов Linux.
Например, чтобы установить ImageMagick в Arch Linux и его производных, запустите:
$ sudo pacman -S imagemagick
$ sudo apt-get install imagemagick
На Fedora:
$ sudo dnf install ImageMagick
На CentOS:
$ sudo yum install ImageMagick
На openSUSE:
$ sudo zypper install ImageMagick
$ ip a | convert label:@- myipaddress.png
- ip a отобразит IP-адрес вашей системы Linux.
- Команда convert сохранит вывод в изображение.
- label: @ – myipaddress.png сохранит вывод команды в изображение с именем myipaddress.png.
$ 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.
$ 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 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