Ventanas.  virus  Cuadernos.  Internet.  oficina.  Utilidades.  Conductores

161 jane doh

Entiendo que Arriba/Abajo le dará el historial de comandos. Pero, ¿cómo mira los resultados anteriores desplazándose hacia arriba y hacia abajo?

He usado Shift + Page Up / Page Down , Alt + Shift + Up / Down y Page Up / Page Down , pero ninguno de estos parece funcionar.

Esta es la caja de Redhat Linux.

linux terminal rhel

14 respuestas

MAYÚS + Re Pág y MAYÚS + Av Pág. Si eso no funciona, intente esto y luego debería:

Vaya a su programa de terminal y asegúrese de Editar/Preferencias de perfil/Desplazamiento/Desplazamiento hacia atrás/Ilimitado
comprobado.

La ubicación exacta de esta opción puede estar en otro lugar, pero veo que está usando Redhat.

SHIFT+Page Up y SHIFT+Page Down son las teclas correctas para trabajar en la consola virtual, pero la consola vmware no tiene esa configuración de terminal. La consola virtual tiene un tamaño de desplazamiento hacia atrás fijo, parece que está limitado por el tamaño de la memoria de video de acuerdo con este virtual consola linux Desplácese por la documentación.

ALTERNATIVA PARA EL PROCESAMIENTO LÍNEA A LÍNEA

Ctrl + Mayús + Flecha arriba o Flecha abajo

A diferencia de Shift + Page Up o Page Down , que desplaza toda la página, esto ayudará con el desplazamiento lineal suave, que es exactamente lo que estaba buscando.

Otra alternativa que puede que ya esté instalada en tu sistema es usar GNU shield:

# Esta pantalla de inicio que agrega la gestión básica de ventanas en la pantalla de terminales # Esto inicia el modo de copia puede usar para desplazarse [ # Ahora use las flechas para desplazarse # Para salir del modo de copia, haga

Vea la pantalla man para más opciones útiles (múltiples ventanas,...)...

No parece ser posible fácilmente: Arch Linux Wiki no enumera formas de hacer esto en una consola (aunque es fácilmente posible en una terminal virtual).

Ctrl - b , luego [ , luego puede usar las teclas de navegación normales para desplazarse (como Flecha arriba o AvPág). Presione q para salir del modo de desplazamiento.

El tema de los métodos útiles de trabajo en terminal linux inagotable. Parecería que todo está organizado de manera muy simple: un indicador de shell y comandos ingresados ​​​​desde el teclado. Sin embargo, en esta simplicidad yace un abismo de posibilidades no obvias, pero útiles. Es por eso que publicamos regularmente materiales sobre las características de trabajar en la línea de comandos de Linux. En particular, hoy será una traducción de un artículo cuyo autor es un apasionado de ahorrar tiempo a través del aumento de la productividad.

Si está interesado en trabajar en la línea de comandos de Linux, estos son algunos de nuestros materiales sobre este tema:

  • [ +114 ] Técnicas de línea de comandos de Linux más útiles
  • [ +70 ] 10 trucos de terminal de Linux que pocas personas conocen
  • [+65 ] Herramienta sorprendentemente útil: lsof
  • [ +32 ] Linux: redirigir
  • [ +29 ] Versión PDF de artículos sobre scripts Bash

Trucos de línea de comandos de Linux y ahorro de tiempo

¿Alguna vez ha visto a un colega usar algún simple comandos de linux para resolver problemas que te toman varias líneas para resolver? Debe ser que cuando sucedió algo así, todo lo que podías decirte a ti mismo era: “¡Guau! No sabía que se podía hacer tan fácilmente".

En este artículo, le mostraré algunos trucos profesionales de la línea de comandos de Linux que le ahorrarán mucho tiempo y, en algunos casos, le quitarán el mal humor. No solo eso, tus amigos o compañeros dirán: “¡Vaya, guau!”, mirándote. Estos trucos también te ayudarán a aumentar tu productividad personal, ya que necesitarás escribir menos comandos e incluso hacer menos clics con el mouse.

Esto no quiere decir que estos consejos de Linux sean solo para principiantes. Es muy posible que incluso Usuarios avanzados encontrar algo útil aquí que no sabían a pesar de haber usado Linux durante muchos años. Linux se aprende con la experiencia. Aquí es donde entra en juego tu propia experiencia y la experiencia de otras personas.

Antes de comenzar, me gustaría señalar que algunos de los métodos presentados aquí dependen de la configuración del shell.

0. Comandos de Autocompletar usando la tecla Tabulador

Comenzaré con algo muy obvio, pero muy importante: comandos de autocompletar usando la tecla Tabulador.

Cuando comience a escribir en la terminal de Linux, puede presionar la tecla Tab, que mostrará una información sobre herramientas que contiene un conjunto de opciones para continuar escribiendo, comenzando con los caracteres que acaba de escribir.

Por ejemplo, si va a copiar un archivo llamado my_best_file_1.txt, puede simplemente escribir cp m y presionar Tab para ver opciones posibles continuación del comando.


Uso de la tecla Tab para completar automáticamente la entrada

La tecla Tab también se puede usar para completar automáticamente los comandos.

1. Cambiar al último directorio de trabajo

Imagine que estaba trabajando en un directorio al que no es tan fácil acceder y luego se trasladó a otro directorio ubicado en un lugar completamente diferente. Entonces te diste cuenta de que necesitas volver al directorio anterior. En este caso, simplemente use el siguiente comando:

CD-
Le permitirá estar en el último directorio de trabajo. Ahora, en situaciones como esta, ya no necesita ingresar rutas largas o copiar y pegar.


Fácil cambio entre directorios

2. Volver al directorio de inicio

Este enfoque también es muy obvio. Puede utilizar el siguiente comando para volver a su directorio de inicio desde cualquier lugar:

disco compacto
Sin embargo, puede volver a su directorio de inicio aún más rápido con el comando cd.

En la mayoría de las distribuciones modernas de Linux, el shell está preconfigurado para tratar el comando cd de esta manera. Esto le ahorrará un par de pulsaciones de teclas en su teclado.


Mayoría manera rápida cambiar al directorio de inicio

3. Visualización del contenido de un directorio

Quizás se pregunte cuál es la sutileza de usar un comando para enumerar el contenido de un directorio. Todo el mundo sabe que el comando ls -l sirve para este propósito.

Pero ese es el punto. Casi todo el mundo usa el comando ls -l para enumerar el contenido de los directorios, mientras que lo mismo se puede hacer con el siguiente comando:

ll
La funcionalidad de este comando depende de la distribución de Linux y de la configuración de su shell, pero es muy probable que pueda usarlo en la mayoría de las distribuciones.


Usar el comando ll en lugar del comando ls -l

4. Llamar a múltiples comandos en una línea

Imagine que necesita ejecutar varios comandos en secuencia. Probablemente, ingrese un comando, luego espere a que se complete y luego ingrese el siguiente.

En tal situación, será útil un separador de comandos; (punto y coma). Con este enfoque, puede ingresar varios comandos en la misma línea. En este caso, a diferencia de la entrada habitual de comandos, para ejecutar el siguiente comando, no es necesario esperar a que finalice el anterior.

Comando_1; comando_2; comando_3

5. Ejecución de varios comandos en una línea y condición para completar con éxito el comando anterior

Acabamos de ver una forma de llamar a varios comandos en una sola línea. Esto ahorra tiempo. Pero, ¿qué sucede si quiere, digamos, cuando llama a dos comandos, de modo que el siguiente comando se ejecute solo si el anterior se completa sin errores?

Imagine que desea compilar el código y luego, si la compilación fue exitosa, llame a make ?

En tal situación, puede usar el delimitador && . Este delimitador asegura que el siguiente comando solo se ejecutará si el anterior tiene éxito.

Comando_1 && comando_2
Aquí buen ejemplo usando && :

sudo actualización adecuada&& Sudo apt actualizar

6. Fácil búsqueda y uso de comandos ingresados ​​​​previamente

Imagine que usted, hace un par de minutos o un par de horas, ingresó un comando largo y necesita este comando nuevamente. Además, el problema es que no puedes recordar exactamente este comando.

En tal situación, una búsqueda inversa lo salvará. Esta técnica le permite buscar una palabra clave en el historial de comandos. Aquí basta con usar la combinación de teclas Ctrl + R para lanzar una búsqueda inversa e ingresar algo relacionado con el comando. El sistema revisará el historial de comandos y mostrará los comandos que coincidan con la consulta ingresada.

Ctrl+R término_búsqueda
De forma predeterminada, solo se mostrará un resultado. Para ver más resultados que coincidan con su consulta, deberá usar el método abreviado de teclado Ctrl + R una y otra vez. Para salir del modo de búsqueda inversa, presione Ctrl + C.


Búsqueda de historial de comando inverso

Tenga en cuenta que en algunos bash conchas Puede utilizar las teclas Re Pág y Av Pág para desplazarse por los resultados de la búsqueda.

7. Desbloquear el terminal después de presionar accidentalmente Ctrl + S

Es posible que esté acostumbrado a usar el método abreviado de teclado Ctrl + S para guardar archivos. Pero si presiona estas teclas en la terminal de Linux, la bloqueará.

Si antes, para corregir la situación, se vio obligado a cerrar y reiniciar el terminal, ahora puede respirar tranquilo, ya no tendrá que hacer esto. Para que el terminal funcione, simplemente use la combinación de teclas Ctrl + Q .

8. Ir al principio o al final de una línea

Imagine que ingresa un comando largo y en algún lugar en el medio se da cuenta de que tiene que cambiar algo al principio. Probablemente esté utilizando las teclas de flecha para moverse primero al principio de la línea y luego volver al final.

Por supuesto, en tal situación, puede usar las teclas Inicio y Fin, pero, alternativamente, usando la combinación de teclas Ctrl + A puede ir al principio de la línea y usando la combinación Ctrl + E - hasta el final.


Ir al principio o al final de una línea

Encuentro esta forma más conveniente que usar las teclas Inicio y Fin, especialmente cuando estoy trabajando en una computadora portátil.

9. Leer archivos de registro en tiempo real

Cuando necesite analizar archivos de registro en los que alguna aplicación en ejecución escribe durante el análisis, puede usar el comando tail con la opción -f.

Tail -f ruta_al_registro
Alternativamente, puede usar el comando grep en su forma normal para mostrar solo las líneas que le interesan:

Tail -f ruta_al_registro | grep término_búsqueda
También puede usar la opción F aquí. Esto hará que la utilidad tail continúe ejecutándose incluso si se elimina el archivo de registro que se está visualizando. Con este enfoque, si este archivo se vuelve a crear, Tail seguirá imprimiendo datos en la pantalla.

10. Leer archivos de registro comprimidos sin descomprimirlos

Los registros del servidor generalmente se comprimen con gzip para ahorrar espacio en disco. Esto puede generar algunos inconvenientes al analizar los registros por parte de los desarrolladores o administradores del sistema. Es posible que deba usar el comando scp para copiar el archivo en su directorio local y luego extraer el archivo del archivo para verlo, ya que es posible que no tenga permiso de escritura en el lugar donde está almacenado el archivo que le interesa.

Aquí acudimos en ayuda de un grupo de comandos cuyo nombre comienza con la letra "z". Estos comandos son una alternativa a los comandos habituales que se utilizan para trabajar con archivos de registro. Entre ellos se encuentran less, cat, grep y otros.

Entonces, usando los comandos zless , zcat , zgrep y similares, no tiene que desempaquetar explícitamente archivos comprimidos. Se pueden ver detalles sobre estos comandos.

Por cierto, cuando le conté a un colega sobre estos comandos "secretos", tomé una taza de café.

11. Usar el comando less para leer archivos

Si necesita ver un archivo, especialmente uno grande, puede probar cat , pero es mucho mejor buscar en otra parte. El hecho es que cat mostrará el archivo completo en la pantalla, lo cual no es tan conveniente.

Puede usar un editor como Vi o Vim en una terminal para ver archivos, pero si solo necesita leer un archivo, el comando less es útil.

Menos ruta_al_archivo
Durante una sesión con menos, puede buscar los fragmentos de texto deseados palabras clave, navegar por las páginas, generar datos con números de línea, etc.

12. Reutilizar el último elemento del comando anterior con !$

En muchas situaciones, es muy útil poder utilizar el argumento del comando anterior.

Suponga que necesita crear un directorio y luego ir a él. Aquí puede usar la opción !$ ingresando el comando de salto después del comando de creación de directorio.


Use!$ para usar el último argumento de comando

Aún mejor, se hace lo mismo usando el atajo de teclado Alt +. (punto). El punto se puede usar varias veces para iterar sobre las opciones del último comando.

13. Usando el comando anterior en el comando actual con!!

¡¡Mediante el uso!! puede llamar a todo el comando anterior. Este truco es especialmente útil cuando necesitas ejecutar un comando y resulta que necesitas privilegios de superusuario para ejecutarlo. Por ejemplo, la siguiente figura muestra una situación en la que sudo !! le permite ahorrar mucho tiempo.


¡¡¡Aprovechar!!! para sustituir el último comando como argumento

14. Usar alias para corregir errores tipográficos

Es posible que ya esté familiarizado con el comando alias. Se puede utilizar para corregir errores en los comandos introducidos.

Por ejemplo, puede suceder que con frecuencia escriba gerp en lugar de grep. Si no puede detener el mal hábito, agregue un alias a su archivo bashrc como este:

Alias ​​gerp=grep
Ahora no tendrá que volver a escribir este comando si ingresa su nombre incorrectamente.

15. Copiar y pegar en la terminal de Linux

Este consejo es algo ambiguo ya que depende de la distribución de Linux y del terminal.

Pero, por lo general, los comandos de copiar y pegar se pueden invocar así:

  • Seleccione el texto que desea copiar y haga clic en botón derecho del ratón mouse para pegarlo (funciona en Putty y otros clientes SSH para Windows).
  • Seleccione el texto que desea copiar, luego haga clic en botón central ratón (rueda de desplazamiento) para pegarlo.
  • Utilice los métodos abreviados de teclado Ctrl + Shift + C para copiar y Ctrl + Shift + V para pegar.

16. Terminar un equipo o proceso

Quizás lo que quiero aconsejar aquí es bastante obvio, sin embargo, te lo contaré de todos modos. Si un comando se está ejecutando en primer plano y desea salir, puede presionar Ctrl + C para detenerlo.

17. Uso del comando yes para automatizar comandos o secuencias de comandos interactivos

Si tiene que trabajar con algunos comandos o scripts que involucran la interacción del usuario y sabe que escribirá Y para cada pregunta en el programa, puede automatizar este proceso con el comando yes. Se hace así:

Sí | comando_o_script

18. Borrar el contenido de un archivo sin borrar el archivo en sí

Si desea borrar el contenido Archivo de texto sin eliminar el archivo en sí, puede usar el siguiente comando:

> nombre de archivo

19. Averiguar si un directorio contiene archivos que contienen cierto texto

La línea de comandos de Linux admite muchas formas de encontrar información. Sin embargo, si solo desea saber si hay archivos en un directorio que contienen cierto texto, puede usar este comando:

Grep -Pri Search_Term path_to_directory
Sin embargo, aconsejo a cualquiera que necesite buscar en Linux que entienda correctamente con encontrar comando.

20. Solicitar ayuda para cualquier comando

Quiero terminar este material con un "truco" muy obvio, pero sin embargo muy importante, que es llamar a la ayuda de un comando o herramienta. línea de comando.

Casi todas las herramientas de línea de comandos contienen información de contexto, revelando las características de su uso. Por lo general, la ayuda de lectura lo ayuda a comprender los conceptos básicos de un comando. Puedes llamar a ayuda así:

Herramienta_comando --ayuda

Intencionalmente no incluí comandos como joder en este material, ya que no son el tipo de medios estándar que se puede encontrar literalmente en todas partes. Lo que he dicho aquí puede ser útil cuando se trabaja con casi todos distribuciones de Linux y shells de línea de comandos sin necesidad de instalar nuevos programas.
Traducción libre: Alexey Dmitriev
Fecha de transferencia 19 de noviembre de 2007

Aquí estamos hablando de la consola de texto de GNU/Linux, no de lo que aparece en la ventana del terminal, o Administrador de ventanas X o escritorio. Hay tanta confusión sobre esto que tengo que decir trivialmente: - "Si presionas "Alt-Ctrl-F1" (o "F2", etc.) mientras estás en modo gráfico, entonces ingresas a la consola de texto".

0. ¿De qué se trata?

La computadora se está cargando. Está en una consola de texto y ve cómo el texto se desplaza hacia abajo rápidamente. Desea ver una parte de este texto que ya pasó. Presiona "Shift-PgUp" o "Shift-PgDn", y si ya ha cambiado los métodos abreviados de teclado predeterminados (no, no, no el diseño del teclado X), entonces algunas otras teclas. Con estas teclas haces que el texto se desplace hacia arriba y hacia abajo en la pantalla. EN este momento está utilizando un búfer de desplazamiento hacia atrás (llamémoslo búfer de desplazamiento hacia atrás para abreviar).

Cuando comienza a usar este búfer con might y main, dos cosas quedan claras muy pronto:
Solo se puede devolver una parte del texto que acompaña a la descarga.
El archivo "/var/log/messages" captura mucho menos de lo que querías ver.

Comienzas a buscar en la web y pronto aparecen los resultados preliminares: las publicaciones en scrollback en Linux son muy antiguas y se remontan a principios de los 90. Sin embargo, todo lo anterior al kernel 2.6.x debe olvidarse.

De hecho, debe ser selectivo con lo que lee: es probable que la mayoría de los consejos que se aplican a las versiones anteriores a la 2.6.x lo confundan y lo desvíen. Confía en mí, he perdido mucho tiempo en este caso. El comportamiento de desplazamiento hacia atrás se define en el archivo "vc.c", un archivo pequeño en las fuentes del kernel, donde "vc" significa "consola virtual".

Tenga en cuenta que al cambiar de consola, el búfer de desplazamiento se pierde, por lo que la cantidad total de este búfer está disponible en la consola actual. (Aquí hay especialmente mucha basura de información anterior al kernel 2.6.x).

De forma predeterminada, el tamaño del búfer es de 32 K. Esto es suficiente para 4 pulsaciones de la tecla de desplazamiento inverso: cada pulsación desplaza la mitad de la pantalla, 25 líneas por pantalla. Sale a unas 50 líneas. Y no obtendrá más, incluso si tiene 30 o 50 líneas por pantalla. Debo decir que 50 líneas es una pequeña fracción de lo que vuela por la pantalla durante la carga. En relación con lo anterior, surgen dos interrogantes:

¿Cómo aumentar el búfer de desplazamiento?

¿Por qué los registros no capturan algunos de los mensajes que vio durante la descarga?

1. ¿Cómo aumentar el búfer de desplazamiento hacia atrás?

La primera solución es aumentar el tamaño del búfer predeterminado (predeterminado) en las fuentes del kernel y volver a compilarlo. Déjame suponer que eres tan reacio a hacer esto como yo y buscas un medio más flexible.

Y existe tal herramienta, pero se llama "consola de framebuffer", para abreviar "fbcon". Este dispositivo tiene un archivo de documentación "fbcon.txt"; si instaló la documentación para el kernel, entonces la tiene. Búsquelo en algún lugar de la rama "/usr/share" (no puedo dar la ruta exacta debido a las diferencias de distribución). Siempre puede descargarlo como un solo archivo.

En este punto, pido disculpas: tenemos que desviarnos un poco y hablar un poco sobre el framebuffer.

El búfer de video es un búfer entre la pantalla y el adaptador de video. Su belleza es que se puede manipular: permite trucos que no funcionarían si el adaptador estuviera conectado directamente a la pantalla.

Uno de esos trucos está relacionado con el búfer de desplazamiento; resulta que puede "pedir" al búfer de video que asigne más memoria al búfer de desplazamiento. Esto se logra a través de los parámetros de arranque del kernel. Primero necesita un framebuffer (búfer de video); Luego solicita un búfer de desplazamiento más grande.

El siguiente ejemplo es para GRUB pero se puede adaptar fácilmente a LILO. En archivo Configuración de GRUB- "menu.lst" - busque la línea correspondiente al kernel y luego:
Quite la opción "vga=xxx" si está presente.
Agregue la opción "video=vesabf" o lo que coincida con su hardware.
Agrega la opción "fbcon=scrollback:128".
Después de este procedimiento, la línea de parámetros del kernel debería verse así:
"kernel /vmlinuz root=/dev/sdb5 video=radeonfb fbcon=scrollback:128".

La pregunta es, ¿por qué eliminar la opción "vga=xxx"? Por posibles conflictos con la opción de vídeo. En mi adaptador ATI, no puedo cambiar el búfer de desplazamiento si aparece "vga=xxx". Quizás en tu caso no sea así. Si las opciones anteriores funcionan, bien; pero, ¿qué sucede si desea aumentar el número de líneas o establecer una fuente más pequeña en la pantalla? Siempre lo hiciste con la opción "vga=xxx", y eso es lo que desapareció. No se preocupe: se puede lograr lo mismo cambiando los parámetros de fbcon como se describe en el archivo "fbcon.txt" (pero no se describe en este artículo). Ubuntu y Debian tienen más manera conveniente: "dpkg-reconfigure consola-configuración". También vale la pena usar este comando porque también actualiza "initrd" a su nueva configuración.

2. Empujando los límites

La opción "fbcon=scrollback:128" le permite navegar por el búfer de desplazamiento hacia atrás de 12 a 13 pantallas. Eso es alrededor de 150 líneas, no está mal, pero probablemente no sea suficiente para ver todos los mensajes de arranque. ¿Es posible apostar más de 128, digamos 256? El límite de 128 está en "vc.c". Si quieres más, edita y compila. Por mí mismo, decidí que el juego no vale la pena.

Justo cuando decidí que había alcanzado el límite más alto, cito de "fbcon.txt":
fbcon=desplazamiento hacia atrás: [k]
...
El sufijo "k" es opcional y multiplicará el "valor" por 1024.
(El sufijo "k" es opcional, y multiplicará "valor" por 1024 veces).
Me apresuré a verificar ... y no importa lo que el autor pensara sobre esto, estaba convencido de que 128 y 128k dan exactamente el mismo resultado. El límite predeterminado es de 128 KB de memoria, esa es toda la historia.

Por último, tenga en cuenta que el uso del búfer de desplazamiento extendido utiliza tanto la memoria del adaptador de gráficos como un búfer en memoria de acceso aleatorio. Si está satisfecho con los 32 KB predeterminados, solo está usando la memoria del adaptador de video. En la práctica, sin embargo, no noté la menor desaceleración.

3. ¿Qué falta en los registros?

En Ubuntu y Debian y otras distribuciones, todos los mensajes del sistema se almacenan en el archivo "/var/log/messages". Esto se aplica incluso si el demonio de registro no es el antiguo "syslog" sino "syslog-ng" ("ng": "nueva generación").

En ambos casos, puede ver los mensajes escribiendo "dmesg" en la línea de comando. No ayuda: vio claramente mensajes durante la carga que no están en la salida del comando "dmesg". ¿Cómo es eso?

¡Esto es una característica, no un error! Los mensajes registrados en el archivo provienen de varios subsistemas del sistema operativo. Los subsistemas que emiten mensajes al archivo de registro se denominan en la terminología de syslog "instalaciones" ("medios" o "servicios"), solo hay 8 de ellos. Durante el proceso de descarga, funcionan programas y scripts que pueden no pertenecer a ninguna de las 8 "herramientas". Vemos que sus mensajes se desplazan por la pantalla, ¡pero no se registrará nada en el archivo de registro!

Por ejemplo, no verá mensajes de los programas "loadkeys" (openSUSE) o "consolechars" (Ubuntu y Debian) al cargar un diseño de teclado durante el arranque del sistema. Otro ejemplo: al usar la consola editor de texto, puede desplazar la pantalla hacia atrás (incluidos los colores) mientras usa el búfer de desplazamiento. Pero lo que produce el editor nunca entrará en ningún protocolo del sistema. La razón, por supuesto, es que ni "loadkeys", ni "consolechars", ni el editor pertenecen a ninguna de las 8 "herramientas".

¿Es posible cambiar la situación? Por supuesto, "simplemente" rehaga y vuelva a compilar las aplicaciones que desea registrar. Agregue o reescriba scripts de arranque. O haga que el sistema capture mensajes desde fuera de las 8 "herramientas" del sistema.

Apuesto a que no lo harás. Y hasta sé tu probable respuesta:
"No falta nada en mis registros". Sí, claro...

Si te ha gustado este artículo, compártelo con tus amigos:

Pantalla - muy programa práctico, si suele trabajar en la consola conectándose al servidor a través de SSH. En este caso pantalla le permite mantener varias pantallas diferentes en una consola, cambiando convenientemente entre ellas.

Screen le permite desconectarse de SSH mientras guarda las tareas que se ejecutan en un servidor remoto.

Para instalar en Ubuntu necesitas ejecutar el comando

$ sudo apt-get pantalla de instalación

Después de eso, necesitas ejecutar screen:

$pantalla

Después de comenzar, verá un indicador de línea de comando o una "pantalla de bienvenida" al presionar ESPACIO o ENTRAR en la que también se lo dirigirá al shell. En este caso, todos los comandos se ejecutarán ya "dentro" de la pantalla.

Para salir de la pantalla (salir, no desconectar), es suficiente salir de todas las conchas abiertas en ella o, alternativamente, presionar la combinación de teclas Ctl-a \, y responder "y" a la pregunta "¿realmente quieres para salir".

Puede desconectarse de la pantalla actual sin cerrar o terminar la sesión presionando Ctrl-a d.

Conectando a la pantalla

Si ya hay una sesión de pantalla ejecutándose en la máquina y desea conectarse a ella, entonces

  1. si solo hay una sesión, un simple comando es suficiente: $ pantalla –x
  2. si hay varias sesiones, entonces: puede ver la lista de pantallas en ejecución con el comando screen -ls: $ screen -ls Hay pantallas en: 2762.pts-0.debian (Separado) 2743.pts-0.debian ( Separado) 2 Tomas en /var/run/screen/S-diesel.

    Seleccionamos la pantalla que necesitamos, y la unimos:

    Pantalla -x 2762.pts-0.debian

    Los nombres de las sesiones por defecto no son muy informativos - solo procesa números, si quieres ejecutar y usar varias sesiones de pantalla para diferentes tareas, puedes encontrar nombres más sensatos. Se nos ocurre un nombre, luego comenzamos una nueva pantalla como esta:

    $ pantalla -S "trabajo1"

    donde job1 es el nombre de nuestra sesión "nombrada". Ahora en -ls lo veremos mucho más claro:

    $ screen -ls Hay pantallas en: 2762.pts-0.debian (separado) 2795.job1 (separado) 2743.pts-0.debian (separado) 3 sockets en /var/run/screen/S-diesel.

    y podemos conectarnos a la sesión job1 simplemente especificando su nombre:

    $ pantalla -x trabajo1

Cambiar entre pantallas

Como ya entendiste, las sesiones se guardan incluso cuando estás desconectado del servidor, y todo lo que se está ejecutando en ellas continúa ejecutándose. Sin embargo, las posibilidades de pantalla no se limitan a esto. A veces, cuando trabajo a través de ssh, realmente quiero tener varios terminales abiertos a la vez, mientras que conectarse varias veces es un fastidio, especialmente si necesita conectarse a través de varios servidores. La pantalla también puede ayudar con esto. Simplemente presione Ctrl - a c y se abrirá otro shell. Puede moverse entre capas abiertas a través de Ctrl - a<Цифра>, Dónde<Цифра>- número de capa abierta, comenzando desde cero, o Ctrl - a n / Ctrl - a p - adelante hacia atrás. Puede obtener una lista de "ventanas" abiertas - consolas (y cambiar a la deseada), usando la combinación de teclas Ctrl - a "; para dar un nombre normal (y no simplemente aburrido "bash") para un hilo de la ventana, vaya a él y presione Ctrl - A (distingue entre mayúsculas y minúsculas), luego, en el mensaje que aparece, ingrese un nombre.

Supervisión de la ejecución de comandos

Si tiene varias ventanas abiertas, puede ser útil monitorear la actividad en una de ellas. Por ejemplo, si ejecuta un comando de "ejecución prolongada" y está interesado en saber cuándo se completará. Vamos a la ventana con este comando, presionamos Ctrl - a m, vemos una inscripción como esta: "La ventana 0 (bash) ahora está siendo monitoreada para toda la actividad". Cuando algo cambia en una ventana, la pantalla emitirá un pitido y la lista de ventanas mostrará una "@" después del número.

Desplazamiento de pantalla en pantalla

Para ver la salida de un comando que ha pasado por encima de los bordes de la ventana, debe presionar Ctrl-a [

Esto cambiará la pantalla al modo Copiar. Para salir de este modo, simplemente presione Esc.

configuración de pantalla

La pantalla se configura utilizando el archivo ~/.screenrc en su directorio de inicio. Por ejemplo, puedes escribir allí:

Título siempre "%(= 45)%(+b w)Pantalla: %n | %h %=%t %c" hardstatus alwayslastline "%-Lw%(= BW)%50>%n%f* %t%( -)%+Lw%<"

Esto le dará una lista visible de todos los tiempos ventanas abiertas y otra información útil en la parte inferior de la pantalla.

Además, cuando se inicia Screen, de manera predeterminada, se ejecutan los comandos del archivo /etc/screenrc y el archivo .screenrc del directorio de inicio del usuario. Muchos de los comandos que se pueden usar en los archivos de configuración se han discutido en las tablas anteriores en el campo "Comando de texto". A continuación se muestra un ejemplo de configuración de pantalla desde un archivo .screenrc:

# Deshabilitar la visualización de la información de la licencia en la pantalla de inicio startup_message off # Abrir un shell para ejecutar chdir screen -t Work # Abrir un shell para administrar la configuración chdir /etc screen -t Configuración # Abrir un shell para ver los registros chdir /var/log screen -t Registros # Seleccione la primera ventana después del inicio seleccione 0

Este archivo de configuración bastante simple abre tres ventanas denominadas Trabajo, Configuración, Registros, respectivamente en el directorio de inicio del usuario, en el directorio /etc y en el directorio /var/log. Después del lanzamiento, la primera ventana llamada Trabajo estará en la pantalla. La figura 1 muestra un ejemplo de cómo funciona Screen con este archivo de configuración.

Pantalla de finalización

Si por algún motivo la sesión de la pantalla deja de responder, puede finalizarla. Para hacer esto, debe conectarse a la sesión deseada, luego presionar Ctrl - a e ingresar el comando ": salir".

Screen terminará esta sesión, cerrando a la fuerza todas las ventanas.

Trabajar con la pantalla

Una de las características principales de Screen es la creación y administración de múltiples ventanas de consola, o aplicaciones basadas en texto, en una sola ventana de terminal. A la vez, solo una de las ventanas puede estar en la pantalla del terminal (puede haber varias solo si dividen la pantalla del terminal en partes). Screen le permite cambiar rápidamente entre ventanas, guardar y luego regresar a una sesión de texto y compartirla con otros usuarios. Además, Screen le permite dar títulos a las ventanas, realizar un seguimiento de la actividad en cada ventana y compartir el contenido de las ventanas usando copiar y pegar. Y, además, Screen le permite reasignar teclas, administrar la configuración de emulación de terminal y realizar muchas otras tareas pequeñas de cuadro de texto que pueden no ser una necesidad constante, pero que pueden ayudar con el trabajo administrativo en ciertos momentos.

La figura muestra una pantalla con tres ventanas nombradas (Trabajo, Configuración, Registros) y el editor de texto Vim abierto en ella, con una pantalla de archivo de configuración de ejemplo.

primer comienzo

Screen se puede iniciar con el comando screen, pero primero verifique si Screen está instalado en su sistema con el siguiente comando:

$ cual pantalla /usr/bin/screen

Si el comando devuelve la ruta como en el ejemplo anterior, puede comenzar a usarla de inmediato; de lo contrario, Screen puede instalarse usando las herramientas de soporte de paquetes estándar de su sistema operativo o descargarse del sitio web oficial http://www.gnu. org/software/pantalla/.

Ahora podemos ejecutar Screen simplemente escribiendo:

$pantalla

Después del lanzamiento, la información sobre la versión y la licencia puede aparecer en la pantalla (al considerar la configuración, consideraremos cómo puede cancelar la visualización de este mensaje) y, en este caso, debe presionar la tecla "Espacio" o "Entrar" , después de lo cual nos adentramos, a primera vista, en el habitual , un envoltorio de texto. Cabe señalar que en la línea de comando puede especificar inmediatamente un comando para iniciar una aplicación específica, por ejemplo, para iniciar la parte superior, debe escribir:

$ parte superior de la pantalla

De acuerdo, ahora Screen se está ejecutando, pero a primera vista, no hay cambios externos: podemos trabajar en un shell en ejecución o usar top. El truco es que, mientras se ejecuta, Screen pasa todas las pulsaciones de teclas directamente a la aplicación, pero (por predeterminado) deja para sí mismo los comandos de control que comienzan con la combinación de teclas Ctrl + a.

Esta combinación de teclas de control se puede cambiar a través de los archivos de configuración (que discutiremos a continuación), pero en todos los ejemplos solo se considerará la configuración predeterminada. Por lo tanto, todos los comandos del teclado de pantalla constan de dos combinaciones de teclas: la tecla de control Ctrl + a y la tecla en sí, o una combinación de teclas que representa el comando. Casi todos los comandos también tienen su contraparte de texto, que se puede ejecutar a través de un archivo de configuración o ejecutando el siguiente comando:

En este caso, tenemos que ejecutar dos atajos de teclado presionando primero Ctrl + a y luego la tecla de dos puntos. En este caso, Screen mostrará un símbolo del sistema en forma de dos puntos en la parte inferior de la pantalla. El mismo comando que acabamos de ejecutar con un atajo de teclado se puede ejecutar a través del archivo de configuración usando el comando de texto de dos puntos, que puede, por ejemplo, ser necesario para mostrar un símbolo del sistema al inicio, o reasignar la combinación de teclas que provoca este mensaje. A continuación, como en el ejemplo anterior, para cada combinación de teclas escribiré las palabras clave correspondientes a ellas, que se pueden usar en los archivos de configuración, o ingresar usando Ctrl + a y:.

Aquí puede surgir una pregunta legítima: ¿qué sucede si la aplicación necesita pasar directamente la combinación de teclas Ctrl + a , que ya se usa en Screen como una tecla de servicio? Por ejemplo, la biblioteca de edición de línea de comandos readline utiliza la misma combinación para saltar al principio de una línea. Para este caso, Screen proporciona el siguiente comando:

Gestión de ventanas

En la sección anterior, aprendimos cómo ejecutar Screen y aprendimos la plantilla básica para todos los comandos del teclado. Es hora de ocuparse de los comandos para administrar ventanas. Cuando se inicia Screen, crea una sola ventana (a menos que la configuración especifique que se deben crear varias ventanas a la vez) y le asigna el número 0. Se puede crear una nueva ventana de shell de comandos con el siguiente comando:

TECLADO COMANDO DE TEXTO DESCRIPCIÓN
ctrl+a C pantalla Crear una nueva ventana

En este caso, Screen creará una nueva ventana y le asignará el siguiente número en orden, en nuestro caso, la nueva ventana será la ventana número 1.

Ahora ya tenemos dos ventanas de texto, de las cuales la ventana número 1 recién creada es la actual, y la ventana número 0 está en segundo plano. Pero, cabe señalar que incluso si la ventana está en segundo plano, puede percibir la salida de la aplicación que se ejecuta en ella, como si fuera la actual. Por ejemplo, podríamos iniciar un proceso en la ventana 0 que genera información adicional a intervalos regulares (por ejemplo, este podría ser el comando tail -f) y luego cambiar a la ventana 1 para trabajar en un editor de texto. Después de un tiempo, si queremos ver lo que sucede en la ventana 0, podemos cambiar a esta ventana y ver todos los resultados del proceso que se ejecuta allí. A continuación, puede volver a la ventana de edición.

En el párrafo anterior, describí un ejemplo con el cambio entre ventanas, pero aún no dije qué comandos se usan para esto. Echemos un vistazo más de cerca a los comandos más utilizados para administrar ventanas:

TECLADO COMANDO DE TEXTO DESCRIPCIÓN
ctrl+a w ventanas Muestra los números y títulos de todas las ventanas en la línea inferior de la pantalla
ctrl+a « lista de ventanas Muestra una lista interactiva de números y títulos de todas las ventanas desde las que puede seleccionar una ventana para cambiar
ctrl+a numero de ventana seleccionar Seleccionar ventana por número. Por ejemplo, el comando Ctrl + a y 0 hace que la ventana actual sea el número 0
Ctrl+a norte próximo Cambiar a la siguiente ventana en orden, o a la primera ventana si estuviéramos en la última ventana
ctrl+a pag anterior Cambiar a la ventana anterior en orden, o a la última ventana si estábamos en la primera ventana
ctrl+a seleccionar Mostrar un mensaje para ingresar el número de ventana para cambiar
ctrl+a ctrl+a otro Cambiar a la última ventana utilizada
ctrl+a norte número Mostrar el número y el título de la ventana actual
ctrl+a A título Establecer el título de la ventana actual
ctrl+a k matar Forzar el cierre de la ventana, por ejemplo, si la aplicación no se puede cerrar de la forma habitual

Cuando se cierra una de las ventanas, los números de otras ventanas no cambian, y aparecen "agujeros" en la numeración, que luego se pueden llenar con nuevas ventanas. Aunque Screen tiene un comando para cambiar el número de ventana, no se considera aquí y se deja para estudio independiente. Si todas las ventanas están cerradas, Screen sale y muestra un mensaje:

trabajar con texto

Arriba, aprendimos cómo iniciar Screen y administrar ventanas: créelas, cambie de ventana a ventana, asigne nombres y ciérrelas. Ahora veamos cómo trabajar con el contenido de las ventanas: copiar y pegar el contenido de texto de una ventana en otra, monitorear ventanas, guardar una copia de texto de la pantalla y otras tareas similares:

TECLADO COMANDO DE TEXTO DESCRIPCIÓN
ctrl+a METRO monitor Habilitar/deshabilitar el monitoreo de actividad para la ventana actual. Cuando el monitoreo está habilitado y se muestra texto en una ventana en segundo plano, la información sobre la actividad se muestra en la línea de servicio.
silencio Habilitar/deshabilitar el monitoreo de inactividad para la ventana actual. Cuando el monitoreo está habilitado y no se muestra texto en una ventana que está en segundo plano durante un cierto período de tiempo, se muestra información sobre la falta de actividad en la línea de servicio.
ctrl+a h copia impresa Escriba una imagen de texto de la ventana actual en el archivo hardcopy.window_number en el directorio Screen de forma predeterminada.
ctrl+a H registro Activa/desactiva el seguimiento del texto de la ventana actual en el archivo screenlog.window_number en el directorio Sccreen de forma predeterminada.
ctrl+a [ Copiar Ingrese al modo de copia. Los comandos adicionales para este modo se describen a continuación.
ctrl+a ] pegar Pegue el texto en la ventana desde el registro predeterminado (donde se copió previamente con el comando anterior).

En el modo de copia, Screen inicia un editor de texto similar al editor Vi. Los comandos de edición más utilizados son:

  • Las teclas de cursor mueven el cursor por el búfer de pantalla;
  • La barra espaciadora marca el inicio y el final de la región de copia. Al presionar Espacio por segunda vez, el texto marcado se copia en el caso predeterminado y la pantalla sale de su modo de copia;

Múltiples ventanas en la pantalla

De forma predeterminada, Screen deja solo una ventana lógica visible en la pantalla, pero si lo desea, hay una opción adicional para dividir la pantalla del terminal en regiones horizontales. Por lo tanto, es posible mostrar varias ventanas a la vez en una pantalla de terminal. Echemos un vistazo más de cerca a los comandos para trabajar con regiones de pantalla:

La figura 2 muestra una pantalla con tres ventanas nombradas (Trabajo, Configuración, Registros) y una pantalla dividida en dos regiones. En la región superior, se abre la ventana de trabajo con el editor de texto Vim y un archivo de configuración de pantalla de ejemplo. En la región inferior, la ventana de Configuración con parte del archivo de configuración general /etc/screenrc.

Sesiones de consola

Finalmente, veremos una de las características más populares de Screen. Imaginemos la siguiente situación: un administrador de sistemas, mientras está en casa, inicia sesión en un servidor remoto, abre varias ventanas, inicia las tareas necesarias, luego cierra la conexión y va a trabajar. En el trabajo, vuelve a ir al mismo servidor y restaura las ventanas abiertas en casa con los resultados de las tareas realizadas. ¿Suena un poco fantástico? ¡En ningún caso! Las sesiones de la consola de pantalla están diseñadas para hacer precisamente eso. Le permiten desconectar la sesión de pantalla actual con todas las ventanas y aplicaciones en ejecución desde el terminal y luego volver a conectarla en cualquier momento. Al mismo tiempo, todas las aplicaciones que se ejecutan en Pantalla seguirán funcionando y usarán sus ventanas para mostrar información. Además, puede haber varias sesiones de consola, pero en este artículo no nos detendremos en esto en detalle.

Considere los comandos para desconectar una sesión de consola de una terminal:

TECLADO COMANDO DE TEXTO DESCRIPCIÓN
ctrl+a d despegar Separe la sesión de la consola y déjela ejecutándose en segundo plano. Al mismo tiempo, Screen escribe:
ctrl+a D D pow_detach Separe la sesión de la consola, déjela ejecutándose en segundo plano y envíe al proceso de pantalla principal una señal de COLGAR. Cuando se ejecuta Screen desde un terminal remoto, esto significa desconectar Screen y luego cerrar la conexión. Al mismo tiempo, Screen escribe:
ctrl+a z suspender Separe la sesión de la consola y déjela ejecutándose como un proceso en segundo plano del shell principal. En este caso, además de los comandos que se describen a continuación, se pueden usar comandos estándar para administrar procesos en segundo plano del shell para restaurar la sesión.
ctrl+a ctrl + abandonar Cierra todas las ventanas de la sesión y sal de Screen Cabe señalar que muchas distribuciones redefinen la combinación de teclas para este comando, pero el comando de texto se puede usar de todos modos

Para volver a conectarse a una sesión desconectada o para ver la lista de sesiones disponibles, debe iniciar Screen con una de las siguientes opciones:

¿Que sigue?

La pantalla tiene una gran cantidad de características diferentes y es casi imposible describirlas todas en un artículo, por lo que parte de la funcionalidad se dejó de lado. Aquí hay algunas características/configuraciones de la pantalla que no se cubrieron anteriormente y se dejan para un estudio independiente:

  • Comandos para configurar la emulación de terminal;
  • Sesiones de consola multiusuario;
  • Asignación o reasignación de atajos de teclado a los comandos;
  • Opciones auxiliares para comandos de texto. Por ejemplo, la opción -t del comando de pantalla, que se usa en el archivo de configuración de muestra;
  • Comandos que se usan con poca frecuencia, por ejemplo, comandos que se pueden usar al configurar el inicio de Pantalla: eco y suspensión;
  • Variables de entorno que pueden ser útiles a la hora de configurar Screen;
  • Teclas de inicio adicionales Pantalla;

alternativas de pantalla

Screen es un programa con una larga historia, cabe señalar que la primera versión apareció en 1987. Por el momento, casi no se agregan nuevas funciones a la pantalla (una de las razones puede ser la presencia de una gran cantidad de ellas en este momento) y, básicamente, solo se realizan correcciones de errores. Si a alguien no le gusta la relativa "vejez" de Screen, o no necesita una cantidad tan grande de funciones, puede recurrir a uno de los siguientes programas:

  • dtach () - el énfasis principal en el desarrollo de este programa está en la compacidad. Similar a Screen, admite la capacidad de trabajar con sesiones de consola, pero no tiene otras funciones de Screen.
  • SplitVT (http://www.devolution.com/~slouken/projects/splitvt/): le permite dividir la pantalla del terminal en dos mitades y trabajar con dos shells de software a la vez.
  • Tmux(): Tmux usa un modelo cliente-servidor para trabajar con sesiones de consola.
  • Twin (http://linuz.sns.it/~max/twin/): un intento de crear una interfaz de ventana basada en texto similar a las contrapartes gráficas.

Si nota un error, seleccione un fragmento de texto y presione Ctrl + Enter
COMPARTIR: