Estas en: Home > terminal

Entradas etiquetadas con terminal

Comando screen en Linux: Guía completa y ejemplos de uso

0

Introducción

El comando screen en Linux es una herramienta poderosa que permite a los usuarios manejar múltiples sesiones de terminal dentro de una sola ventana de terminal. Esto es especialmente útil para los administradores de sistemas y desarrolladores que necesitan ejecutar múltiples tareas simultáneamente y mantenerlas funcionando incluso cuando cierran la sesión de su sistema.

Instalación

En la mayoría de las distribuciones de Linux, screen se encuentra disponible en los repositorios oficiales. Para instalarlo, se pueden usar los siguientes comandos según la distribución:

En Debian/Ubuntu y derivados:

sudo apt-get install screen

En Red Hat/CentOS y derivados:

sudo yum install screen

En Fedora:

sudo dnf install screen

Uso Básico

Iniciar una sesión de screen

Para iniciar una nueva sesión de screen, simplemente escribe:

screen

Esto abrirá una nueva ventana de terminal dentro de screen. Puedes comenzar a trabajar normalmente dentro de esta sesión.

Separar (detach) y reanudar (reattach) una sesión

Una de las características más útiles de screen es la capacidad de separar una sesión y luego reanudarla. Esto es particularmente útil si necesitas desconectarte del sistema pero deseas que tus procesos continúen ejecutándose.

Para separar una sesión activa, presiona:

Ctrl + A y luego D

Esto te devolverá a la terminal original, mientras que la sesión de screen continuará ejecutándose en segundo plano.

Para listar todas las sesiones de screen disponibles, usa:

screen -ls

Verás una lista de todas las sesiones activas, similar a esta:

There is a screen on:
    12345.pts-0.hostname    (05/19/24 12:34:56)    (Detached)
1 Socket in /run/screen/S-username.

Para reanudar una sesión específica, usa el siguiente comando seguido del ID de la sesión (en este caso, 12345):

screen -r 12345

Crear una nueva sesión con un nombre específico

Asignar nombres a tus sesiones puede facilitar su gestión, especialmente cuando tienes múltiples sesiones activas. Para crear una nueva sesión con un nombre específico, usa:

screen -S nombre_sesion

Por ejemplo:

screen -S desarrollo

Dividir la pantalla

screen también permite dividir la pantalla en múltiples regiones. Para dividir la pantalla horizontalmente, usa:

Ctrl + A y luego S

Para dividir la pantalla verticalmente, usa:

Ctrl + A y luego |

Para cambiar entre las regiones, usa:

Ctrl + A y luego Tab

Para cerrar una región, navega a ella y usa:

Ctrl + A y luego Q

Comandos de screen

Dentro de screen, puedes usar una variedad de comandos para gestionar tus sesiones y regiones. Aquí hay una lista de comandos comunes:

  • Ctrl + A seguido de C: Crear una nueva ventana.
  • Ctrl + A seguido de N o P: Navegar a la siguiente o anterior ventana.
  • Ctrl + A seguido de ": Listar todas las ventanas.
  • Ctrl + A seguido de K: Cerrar la ventana actual.

Enviar comandos a screen

Puedes enviar comandos directamente a una sesión de screen desde fuera de la misma. Por ejemplo, para enviar un comando a una sesión específica, usa:

screen -S nombre_sesion -X comando

Por ejemplo, para enviar el comando ls a una sesión llamada desarrollo, usa:

screen -S desarrollo -X stuff "ls\n"

Ejemplo de uso práctico

Supongamos que estás ejecutando un servidor en tu máquina local y necesitas mantenerlo funcionando incluso después de cerrar la terminal. Aquí hay un ejemplo de cómo podrías hacerlo usando screen:

  1. Inicia una nueva sesión de screen y nómbrala servidor: screen -S servidor
  2. Dentro de esta sesión, inicia tu servidor (por ejemplo, un servidor Python simple): python3 -m http.server
  3. Separa la sesión para mantener el servidor funcionando en segundo plano: Ctrl + A y luego D
  4. Cierra tu terminal o desconéctate del sistema. El servidor seguirá ejecutándose.
  5. Cuando necesites volver a esta sesión, reanúdala: screen -r servidor

Conclusión

El comando screen es una herramienta versátil y esencial para cualquier usuario de Linux que maneje múltiples tareas en la terminal. Con screen, puedes crear, separar y reanudar sesiones, así como dividir tu pantalla para una mayor productividad. Conocer y utilizar screen puede mejorar significativamente tu eficiencia al trabajar en un entorno de línea de comandos.

Abrir carpeta desde cmd (Windows) o terminal (Linux, MacOS)

5

Algo muy habitual que hacemos con la consola, ya se en Windows, Linux o MacOS es recorrer directorios en busca de algún archivo. Aquí te explicaré como poder hacerlo.

Si lo que buscas es poder abrir una ventana de MS-DOS desde el explorador de Windows, te recomiendo el siguiente post: ¿Cómo abro una ventana de MS-DOS desde una carpeta?

 

En Windows:

Para desplazarnos por los directorios o carpetas en la consola de Windows utilizamos el comando «cd» seguido por la ruta de la carpeta a la que queramos acceder. Por ejemplo, si queremos acceder a la carpeta Windows escribiríamos el siguiente comando en la consola:

 

cd c:/windows

 

Si el nombre de la carpeta tiene espacios podemos utilizar la barra invertida (\) para indicarle a la terminal que el espacio en blanco siguiente es parte del nombre del directorio. Por ejemplo:

 

cd c:/Archivos\ de\ Programa

 

En Linux y MacOS:

MacOs tiene un kernel GNU/Linux y por tanto estas instrucciones sirven igual. Para acceder a una carpeta utilizaríamos en mismo comando «cd». Ejemplo:

 

cd /var

 

Si el nombre del directorio tiene espacios utilizaremos el mismo sistema para escapar el espacio en blanco del nombre:

 

cd /tmp/carpeta\ nueva

Crear un tunel por SSH por consola (GNU/Linux)

1

Pues la verdad es que es bastante sencillo:

ssh -L 2022:servidordestino.com:22 usuario@servidorintermedio.com

Con este comando indicamos que ssh nos cree una conexión por el puerto 2022 de nuestro equipo al puerto 22 de servidordestino.com, a través de servidorintermedio.com.

Después solo hay que escribir el siguiente comando:

ssh -l usuario -p 2022 localhost

Esta línea indica a ssh que nos abra una conexión ssh por el puerto 2022 de localhost (nuestro ordenador). Esta conexión nos llevará a servidordestino.com que hemos indicado en el primer comando.

¿Cómo abro una ventana de MS-DOS desde una carpeta concreta?

2

Esa es la pregunta que, cada vez que tenía que usar los comandos de MS-DOS me venía a la mente, y supongo que a muchos de vosotros también os haya pasado. Pues bien, hoy tengo una solución para esa pregunta que todo usuario se ha hecho alguna vez:

  1. Abrimos el editor del registro de Windows. (regedit.exe)
  2. Buscamos la siguiente carpeta: HKEY_CLASSES_ROOT\Directory\shell
  3. Aquí creamos una clave (os creará una carpeta nueva) y la llamamos por ejemplo «Consola»
  4. Asegurate de estar en la carpeta «Consola». A la derecha, debajo de la columna «Nombre» te aparecerá este texto: «(Predeterminado)», pulsa ocn el botón derecho del ratón encima del texto y pulsa modificar.
  5. En la ventana que te aparezca escribe como valor: «Abrir un terminal de MS-DOS aquí». Este será el texto que aparecerá en nuestro menú contextual.
  6. Crea otra clave (otra carpeta) llamada «command» y dale el siguiente valor: «cmd.exe /k «cd %L»» (cd %L debe ir entre comillas dobles).
  7. Cierra RegEdit. Ve a cualquer carpeta y con el cursor sobre ella pulsa el botón derecho, te aparecerá el texto que acabamos de incluir en el registro y si lo pulsas se abrirá una consola de MS-DOS con la ubicación de esa carpeta.

Vía: http://yatocaba.wordpress.com/2009/05/01/truco-windows-abrir-terminal-en-una-carpeta-concreta/

Ir arriba