Monday, November 8, 2010

El comando screen de Linux para un mejor uso de la consola

Estoy trabajando en la consola y se me corta la luz o la conexion a internet haciendo X tarea mas importante que la vida misma. Pero gracias a que ejecute screen, la conexion se perdio pero no la consola virtual y su estado previo a la desconexion.

Ejemplo: rsync de maquina a maquina de unos 100 GB, esto va a tardar una buena cantidad de horas, y nos podemos quedar tranquilos de que el comando sigue corriendo en la consola "protegida" por screen.

Screen acepta muchisimos comandos, asi que a continuacion listo los que yo rescate como mas importantes (o mejor dicho, los que me sirven a mi):

Primero, para arrancar screen conviene hacerlo con un nombre de sesion:

screen -S nombresesion

Y segundo, cuando digo C-a (como figura en la documentacion) quiero decir tecla Control+a

Luego los comandos que acepta cuando estamos adentro son los siguientes:

C-a c
crea una ventana nueva

C-d
cierra la ventana actual

C-a S
crea una region horizontal

C-a |
crea una region vertical (funciona desde lenny ya que en etch screen no estaba parcheado con esta funcionalidad)

C-a X
borra una region

C-a tab
mueve entre regiones

C-a "
lista las ventanas disponibles

C-a a
salta entre ventanas

C-a NUMERO
salta a una ventana en particular

C-a A
renombra la current window (para que con C-a " te liste con nombres las windows y uno no se maree)

C-a :resize
en lineas, cuanto queres resizear una region ya sea vertical u horizontal

Y para "salir" de screen, es con C-a d

luego en la terminal original podemos tipear:

screen -list

y nos tira algo como:

root@maquina:/# screen -list
There is a screen on:
4307.pts-0.maquina (11/08/2010 05:25:39 PM) (Detached)
1 Socket in /var/run/screen/S-root.

entonces si se nos corto la luz o la conexion podemos volver al screen con:

screen -r 4307.pts-0.maquina

Por supuesto, para agarrarle la mano hay que jugar un poco pero eso es tarea de cada uno ;-)


Saludos !

No comments:

Followers

About me

Santa Fe, Argentina
Programador Web, PHP, MySQL, JQuery, Administrador Linux. LAMP, Lighttpd, Nginx.