Pernahkah Anda berada dalam situasi di mana Anda ingin mengirim output dari perintah Linux ke rekan atau teman Anda untuk mendapatkan bantuan? Peretasan Linux sederhana ini pasti akan berguna bagi Anda. Anda dapat menyimpan output perintah Linux ke gambar atau file. Yang Anda butuhkan hanyalah ImageMagick . Ini dapat membantu saat Anda perlu mengirimkan hasilnya ke orang dukungan teknis atau kolega.
Simpan Output Perintah Linux Ke Sebuah Gambar
Instal alat ImageMagick terlebih dahulu. Ini tersedia di repositori default sebagian besar distribusi Linux.
Misalnya, untuk menginstal ImageMagick di Arch Linux dan turunannya, jalankan:
$ sudo pacman -S imagemagick
Pada Debian, Ubuntu, dan sistem berbasis DEB lainnya, Anda dapat menginstalnya seperti yang ditunjukkan di bawah ini.
$ sudo apt-get install imagemagick
Di Fedora:
$ sudo dnf install ImageMagick
Di CentOS:
$ sudo yum install ImageMagick
Di openSUSE:
$ sudo zypper install ImageMagick
Sekarang, untuk menyimpan output dari perintah Linux apa pun ke file gambar, jalankan saja perintah berikut:
$ ip a | convert label:@- myipaddress.png
Perintah di atas akan menyimpan output perintah ifconfig ke Gambar dan menyimpannya di direktori kerja saat ini. Mari kita uraikan perintah di atas dan lihat apa yang dilakukan setiap opsi.
- ip a akan menampilkan alamat IP sistem Linux Anda.
- mengkonversi perintah akan menyimpan output ke Gambar.
- label:@- myipaddress.png akan menyimpan output perintah ke gambar bernama myipaddress.png .
Berikut adalah output dari perintah di atas di sistem desktop Ubuntu 18.04 saya.
Ini satu lagi. Saya menyimpan keluaran Kernel Linux saya ke Gambar.
$ uname -a | convert label:@- mylinuxkernel.png
Contoh keluaran:
Apa yang telah kita lihat di atas adalah kita telah menyimpan output perintah dalam file Image. Kita juga dapat menyimpan output pada file Image yang ada. Untuk melakukannya, jalankan:
$ convert -font -misc-fixed-*-*-*-*-*-*-*-*-*-*-*-* -fill black -draw "text 270,260 \" `lsb_release -a` \"" image.png systemdetails.png
Perintah ini akan mencetak output dari "lsb_release -a" perintah ke gambar bernama image.png dan menyimpannya dengan nama baru "systemdetails.png" .
Berikut adalah output dari perintah di atas:
Cukup mudah, bukan? Anda dapat menyimpan output dari perintah apa pun dalam file gambar dan mengirimkannya ke siapa saja yang dapat membantu Anda memperbaiki sistem Anda.
Pemecahan Masalah
Dalam distribusi Linux Ubuntu baru-baru ini, operasi konversi tertentu dibatasi untuk alasan keamanan. Jika Anda mencoba perintah di atas di OS Ubuntu, Anda mungkin menemukan pesan kesalahan berikut:
convert-im6.q16: not authorized `@-' @ error/property.c/InterpretImageProperties/3516. convert-im6.q16: no images defined `myipaddress.png' @ error/convert.c/ConvertImageCommand/3258.
Dalam hal ini, Anda perlu mengedit policy.xml file konfigurasi dan ubah kebijakannya.
$ sudo nano /etc/ImageMagick-6/policy.xml
Temukan baris berikut:
<policy domain="path" rights="none" pattern="@*" />
Beri komentar atau hapus baris berikut:
[...] <!-- <policy domain="path" rights="none" pattern="@*"/> --> [...]
Simpan dan tutup file. Sekarang Anda dapat menyimpan perintah dalam file gambar.
Simpan Output Perintah Linux Ke File Teks
Kami tahu cara menyimpan output perintah ke/ke dalam gambar. Kami juga dapat menyimpan output dari perintah Linux ke file juga.
Misalnya, untuk menyimpan "ip addr" output perintah ke file bernama myipaddress.txt , jalankan:
$ ip addr > myipaddress.txt
Untuk memverifikasinya, lihat file teks menggunakan penampil teks favorit Anda. Atau bisa juga dengan menggunakan perintah "cat" seperti di bawah ini.
$ cat myipaddress.txt
Perintah berikut akan menyimpan pacman.log saya ke file bernama mylogs.txt .
$ tail -f /var/log/pacman.log > mylogs.txt
Dan, kita dapat dengan mudah menyimpan detail IP menggunakan perintah:
$ ip a > mynetworkdetails.txt
Anda mungkin ingin menulis output dari suatu perintah ke banyak file. Inilah cara melakukannya.
$ uname -a | tee file1 file2
Perintah di atas akan menulis output dari "uname -a" perintah ke file1 dan file2 . Jika file belum ada, file akan dibuat.
Secara default, itu akan menimpa isi file1 dan file2. Jika Anda ingin menambahkan output ke konten yang ada, gunakan -a tandai seperti di bawah ini.
$ ip a | tee -a file1 file2
Perintah ini tidak akan menimpa konten file1 dan file2 yang ada. Sebagai gantinya, itu hanya akan menambahkan output dari perintah ifconfig ke file1 dan file2. Dengan kata lain, kedua file ini sekarang memiliki output dari perintah "uname -a" dan "ip a".