¿Cómo puedo ejecutar sudo apt-get installpor AMBOS ver el proceso de instalación (de largo en mi caso) y guardar la salida en un archivo de texto?
25
¿Cómo puedo ejecutar sudo apt-get installpor AMBOS ver el proceso de instalación (de largo en mi caso) y guardar la salida en un archivo de texto?
apt-getcorrecto?Respuestas:
usa el
scriptcomando. Copiará todo lo que vaya a la pantalla en un archivofuente
scriptenvía la salida del comando a un archivo, pero no lo muestra en la pantalla.script -c "history" ~/hist.txty vi la salida indicandoScript startedyScript done, pero no vi la salida del comando real en la pantalla.historyes un shell incorporado, no un comando externo. Lo que sucede es: 1) la secuencia de comandos comienza, 2) la secuencia de comandos busca el comando de historial, no lo encuentra, por lo que adivina que debería ejecutarse a través de un shell. 3) el script ejecuta el comando ahistorytravés de un shell 4) se inicia un nuevo shell y ejecuta el comando interno del historial. Como se trata de un nuevo shell no interactivo, la historia no tiene nada que decir.scriptTambién se puede ejecutar de forma interactiva. Simplemente escribascripten el símbolo del sistema. Obtendrá un nuevo shell, y cualquier comando que escriba tendrá su salida guardada. Escribaexitpara finalizar el shell y guardar el archivo. De manera predeterminada, se llama a la salidatypescripty contendrá todo lo que se muestra en la pantalla, ya sea que lo haya escrito o que haya sido la salida de un comando. Elhistorycomando también debería estar disponible en el nuevo shell también.Puede usar el
teecomando para lograr esto.Mira aquí para más información , o ejecuta
man teeNota: Como otros han mencionado,
2>&1es necesario redirigir STDERR a STDOUT para detectar cualquier error. Consulte esta pregunta de StackOverflow para obtener una buena explicación de lo que2>&1realmente hace.fuente
scriptya que el comando no tiene que ser citado. Entonces, ventajas como completar bash es más fácil de lograr.-c "something ...": if lo dejará en un shell y finalizará cuando salga de ese shell. Permite múltiples comandos, etc. Además, mantiene más información de "formateo", lo que permite reproducir algunas cosas más (como: pantalla clara, etc.) (pero eso también puede estropear la salida ... ymmv)|&lugar de2>&1 |en bashteehará el trabajo según sea necesario.Para capturar la salida en un archivo, use:
Esto solo capturará la salida, pero no los mensajes de error. Si también desea grabar mensajes de error, modifique el comando para que sea:
fuente
bashcompatible con el|&operador ,sudo apt-get install your_software |& tee log_file.txtcanalizará stdout y stderr atee. (Felicitaciones a JF Sebastian que sugirió esto en otra parte .)Una de las ventajas de apt-get (y APT en general) es que almacenan archivos de registro para casi todo, incluso la salida del terminal de cualquier comando que ejecute, en el
/var/log/apt. Por ejemplo, esta es la última entrada en mi/var/log/apt/term.log:Ahora, comparando con la salida real:
Me salvó varias líneas que no son relevantes en la mayoría de los casos, y lo hace automáticamente. Por lo tanto, no necesita ningún comando adicional para hacer lo que quiere hacer, apt-get lo hace por usted.
fuente
prueba el comando tee . Puedes encontrar aquí algunos ejemplos.
Uso simple:
ejemplo:
fuente