GNU/Linux >> Tutoriels Linux >  >> Linux

Comment enregistrer la sortie de la commande Linux dans une image ou un fichier texte

Avez-vous déjà été dans une situation où vous vouliez envoyer la sortie d'une commande Linux à votre collègue ou ami pour obtenir de l'aide ? Ce simple hack Linux vous sera certainement utile. Vous pouvez enregistrer une sortie de commande Linux dans une image ou un fichier. Tout ce dont vous avez besoin est seulement ImageMagick . Cela peut être utile lorsque vous devez envoyer la sortie à une personne du support technique ou à un collègue.

Enregistrer la sortie de la commande Linux dans une image

Installez d'abord l'outil ImageMagick. Il est disponible dans les dépôts par défaut de la plupart des distributions Linux.

Par exemple, pour installer ImageMagick dans Arch Linux et ses dérivés, exécutez :

$ sudo pacman -S imagemagick

Sur Debian, Ubuntu et d'autres systèmes basés sur DEB, vous pouvez l'installer comme indiqué ci-dessous.

$ sudo apt-get install imagemagick

Sur Fedora :

$ sudo dnf install ImageMagick

Sur CentOS :

$ sudo yum install ImageMagick

Sur openSUSE :

$ sudo zypper install ImageMagick

Maintenant, pour enregistrer une sortie de n'importe quelle commande Linux dans un fichier image, exécutez simplement la commande suivante :

$ ip a | convert label:@- myipaddress.png

La commande ci-dessus enregistrera la sortie de la commande ifconfig dans une image et l'enregistrera dans le répertoire de travail actuel. Détaillons la commande ci-dessus et voyons ce que fait chaque option.

  • adresse IP affichera l'adresse IP de votre système Linux.
  • convertir La commande enregistrera la sortie dans une image.
  • libellé :@- monadresseip.png enregistrera la sortie de la commande dans l'image nommée myipaddress.png .

Voici la sortie de la commande ci-dessus dans mon système de bureau Ubuntu 18.04.

En voici un autre. J'ai enregistré la sortie de mon noyau Linux dans une image.

$ uname -a | convert label:@- mylinuxkernel.png

Exemple de résultat :

Ce que nous avons vu ci-dessus, c'est que nous avons enregistré la sortie de la commande dans un fichier image. Nous pouvons également enregistrer la sortie sur un fichier image existant. Pour ce faire, exécutez :

$ convert -font -misc-fixed-*-*-*-*-*-*-*-*-*-*-*-* -fill black -draw "text 270,260 \" `lsb_release -a` \"" image.png systemdetails.png

Cette commande imprimera la sortie de "lsb_release -a" commande à une image appelée image.png et l'enregistre sous un nouveau nom "systemdetails.png" .

Voici le résultat de la commande ci-dessus :

Assez facile, n'est-ce pas ? Vous pouvez enregistrer la sortie de n'importe quelle commande dans un fichier image et l'envoyer à toute personne pouvant vous aider à réparer votre système.

Dépannage

Dans les distributions Linux récentes d'Ubuntu, certaines opérations de conversion sont restreintes pour des raisons de sécurité. Si vous avez essayé les commandes ci-dessus dans le système d'exploitation Ubuntu, vous pourriez rencontrer le message d'erreur suivant :

convert-im6.q16: not authorized `@-' @ error/property.c/InterpretImageProperties/3516.
convert-im6.q16: no images defined `myipaddress.png' @ error/convert.c/ConvertImageCommand/3258.

Dans ce cas, vous devez modifier policy.xml fichier de configuration et modifiez la stratégie.

$ sudo nano /etc/ImageMagick-6/policy.xml

Recherchez la ligne suivante :

<policy domain="path" rights="none" pattern="@*" />

Commentez ou supprimez la ligne suivante :

[...]
<!--  <policy domain="path" rights="none" pattern="@*"/> -->
[...]

Enregistrez et fermez le fichier. Vous pouvez maintenant enregistrer les commandes dans le fichier image.

Enregistrer la sortie de la commande Linux dans un fichier texte

Nous savons comment enregistrer la sortie d'une commande vers/dans une image. Nous pouvons également enregistrer la sortie d'une commande Linux dans un fichier également.

Par exemple, pour enregistrer l'"adresse ip" la sortie de la commande dans un fichier appelé myipaddress.txt , exécutez :

$ ip addr > myipaddress.txt

Pour le vérifier, affichez le fichier texte à l'aide de vos visionneuses de texte préférées. Ou, nous pouvons utiliser la commande "cat" comme ci-dessous.

$ cat myipaddress.txt

La commande suivante enregistrera mon pacman.log dans un fichier appelé mylogs.txt .

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

Et, nous pouvons facilement enregistrer les détails IP en utilisant la commande :

$ ip a > mynetworkdetails.txt

Vous voudrez peut-être écrire la sortie d'une commande dans plusieurs fichiers. Voici comment procéder.

$ uname -a | tee file1 file2

La commande ci-dessus écrira la sortie de "uname -a" commande vers fichier1 et fichier2 . Si les fichiers n'existent pas déjà, il les créera.

Par défaut, il écrasera le contenu de file1 et file2. Si vous souhaitez ajouter la sortie au contenu existant, utilisez -a drapeau comme ci-dessous.

$ ip a | tee -a file1 file2

Cette commande n'écrasera pas le contenu existant de file1 et file2. Au lieu de cela, il ajoutera simplement la sortie de la commande ifconfig à file1 et file2. En d'autres termes, ces deux fichiers ont maintenant les sorties des commandes "uname -a" et "ip a".


Linux
  1. Comment ajouter la sortie à un fichier ?

  2. Comment capturer la sortie d'une commande top dans un fichier sous Linux ?

  3. Comment rediriger la sortie de la commande time vers un fichier sous Linux ?

  4. Comment enregistrer la sortie de cette commande awk dans un fichier ?

  5. Comment éditer un fichier texte dans mon terminal

Comment enregistrer la sortie de la commande dans un fichier à l'aide du terminal Linux

Comment verrouiller un fichier texte sous Linux à l'aide de la commande flock

Comment imprimer des lignes dupliquées dans un fichier texte sous Linux

Comment mélanger les lignes dans un fichier sous Linux

Comment utiliser la commande lsof sous Linux

Comment utiliser la commande shred Linux