Acabo de pasar las últimas dos horas ejecutando un dd
comando (o imagino un escenario similar "difícil de rehacer") desde un CD en vivo sin una GUI; todo lo que tengo es mi confiable CTRL+ALT+F#
terminal Bash "multi-window" ( ).
Por desgracia, durante el comando dd
arrojó varios mensajes de error desagradables y un poco más de información que me gustaría conservar. Tengo una unidad USB conectada en la que puedo escribir datos, pero ¿cómo puedo guardar la salida anterior como un archivo de texto después de que el comando ya se haya ejecutado?
Si este hubiera sido un emulador de terminal dentro de una buena GUI, simplemente habría usado mi mouse para seleccionar el texto, copiarlo y pegarlo en un documento. Y si hubiera sabido que el comando habría producido errores, para empezar, lo habría canalizado a un archivo, pero lamentablemente, la salida adicional fue una sorpresa.
¿Cómo guardo la salida de texto de mi comando anterior en un archivo sin volver a ejecutar el comando? ¿Es esto posible?
dd if=/dev/sda of=/backups/sda.img > result.txt
. Si es así, el problema es que ya ejecuté eldd
comando . A toda costa, quiero evitar ejecutar el comando nuevamente, lo que en algunas situaciones es imposible.service start gpm
). Barra una región mientras mantiene presionado el botón izquierdo del mouse. Escribacat > outputfile
y haga clic con el botón derecho del mouse para pegar la región que acaba de seleccionar.Respuestas:
Un kernel de Linux debería almacenar un registro en pantalla para sus vts en el
/dev/vcsa*[ttynum]
dispositivo correspondiente .Es por eso que lo siguiente funciona:
... que imprime ...
El
/dev/vcsa[ttynum]
dispositivo correspondiente almacenará una versión codificada del texto formateado en la pantalla, mientras/dev/vcs[ttynum]
que será un volcado simple. Losvcsa[ttynum]
dispositivos codificarán un par de bytes que describen cada carácter en pantalla y sus atributos, así como una cadena en la cabecera de cada página lógica que indica las líneas de tty referenciadas , el recuento de columnas .Como señala @kasperd, me equivoqué antes al suponer que el
\a
BEL estaba codificado entre cada carácter, cuando de hecho: la combinación de colores predeterminada coincide con el carácter de la campana.Para sus propósitos, usar
/dev/vcs[ttynum]
es probablemente el más fácil Aquí hay unl
vistazo a las diferencias:...huellas dactilares...
...y...
...huellas dactilares...
fuente
vcsa
no pone el mismo carácter entre todos los caracteres. Te da pares de bytes que te dicen qué personaje está en la pantalla y qué color tiene. La combinación de colores predeterminada coincide con el carácter de campana.Vaya a (/ inicie sesión) en otra terminal y ejecute
sudo screendump N > screenoutput.txt
, dondeN
está el número de la terminal que desea.Sin retraso, me temo. Si esas consolas virtuales conservan una, nunca la he visto. Pero te da todo lo que puedes ver en esa terminal.
fuente
/dev/vcsa*[1-9]*
- (que es para lo que supongo que son los permisos de superusuario) . Las consolas de Linux también han soportado una acumulación de pedidos para la mayoría de las series 3. *, creo. No estoy seguro de cómo se puede agarrar (en lugar de usar los/dev/vcsa*[1-9]*
dispositivos), pero tal vez hay una manera./dev/vcs$i
y/dev/vcsa$i
. Sin embargo, da un resultado legible. ;-)screendump
no llega a eso, incluso si me quedo en la misma consola.