Je viens de passer les deux dernières heures à exécuter une dd
commande (ou à imaginer un scénario similaire "difficile à refaire") à partir d'un CD live sans interface graphique; tout ce que j'ai, c'est mon fidèle CTRL+ALT+F#
terminal "multi-fenêtre" ( ) Bash.
Hélas, lors de la commande a dd
jeté plusieurs messages d'erreur désagréables et un peu plus d'informations que je voudrais conserver. J'ai un lecteur USB branché sur lequel je peux écrire des données, mais comment puis-je obtenir la sortie précédente enregistrée sous forme de fichier texte après que la commande a déjà été exécutée?
Si cela avait été un émulateur de terminal dans une belle interface graphique, j'aurais simplement utilisé ma souris pour sélectionner le texte, le copier et le coller dans un document. Et si j'avais su que la commande aurait produit des erreurs, je l'aurais dirigée vers un fichier pour commencer, mais hélas, la sortie supplémentaire était une surprise.
Comment enregistrer la sortie texte de ma commande précédente dans un fichier sans réexécuter la commande? Est-ce seulement possible?
dd if=/dev/sda of=/backups/sda.img > result.txt
. Si c'est le cas, le problème est que j'ai déjà exécuté ladd
commande . À tout prix, je veux éviter d'exécuter à nouveau la commande, ce qui est impossible dans certaines situations.service start gpm
). Balayez une région tout en maintenant le bouton gauche de la souris enfoncé. Tapezcat > outputfile
et cliquez sur le bouton droit de la souris pour coller la région que vous venez de sélectionner.Réponses:
Un noyau Linux devrait stocker un journal à l'écran pour vos vts dans le
/dev/vcsa*[ttynum]
périphérique correspondant .C'est pourquoi les travaux suivants fonctionnent:
... qui imprime ...
Le
/dev/vcsa[ttynum]
périphérique correspondant stockera une version codée du texte formaté à l'écran, tandis que le/dev/vcs[ttynum]
sera un simple vidage. Lesvcsa[ttynum]
périphériques coderont une paire d'octets qui décrivent chaque caractère à l'écran et ses attributs, ainsi qu'une chaîne en tête de chaque page logique qui indique les lignes du tty référencé , le nombre de colonnes .Comme le souligne @kasperd, je me suis trompé auparavant en supposant que le
\a
BEL était codé entre chaque caractère, alors qu'en fait: la combinaison de couleurs par défaut coïncide avec le caractère de la cloche.Pour vos besoins, utiliser le
/dev/vcs[ttynum]
est probablement le plus simple. Voici unl
aperçu des différences:... impressions ...
...et...
... impressions ...
la source
vcsa
ne met pas le même caractère entre tous les caractères. Il vous donne des paires d'octets vous indiquant quel caractère est à l'écran et quelle couleur il a. La combinaison de couleurs par défaut coïncide avec le caractère de la cloche.Accédez à (/ connectez-vous) à un autre terminal et exécutez
sudo screendump N > screenoutput.txt
, oùN
est le numéro du terminal souhaité.Pas d'arriéré, je le crains. Si ces consoles virtuelles en gardent une, je ne l'ai jamais vue. Mais vous obtenez tout ce que vous pouvez voir sur ce terminal.
la source
/dev/vcsa*[1-9]*
- (ce à quoi je suppose que les autorisations de superutilisateur sont destinées) . Les consoles Linux ont également pris en charge un backlog pour la plupart des séries 3. *, je pense. Je ne sais pas comment on pourrait l'attraper (contrairement à l'utilisation des/dev/vcsa*[1-9]*
appareils) mais peut-être qu'il y a un moyen./dev/vcs$i
et/dev/vcsa$i
. Il donne cependant un résultat lisible. ;-)screendump
je n'y arrive pas, même si je reste dans la même console.