Comandos Linux
Comandos Linux
Comandos Linux
Comandos Linux
Comando screen
Comando sed
Comando wc
Comando screen
Screen es un programa muy útil que nos permite en una sola terminal de texto (consola, sesión
telnet, etc.) tener hasta 10 ventanas (el equivalente a 10 terminales) haciendo diferentes tareas
(shell en una, lector de correo o news en otra, etc.) y pudiendo cambiar entre ellas de una manera
rápida y sencilla.
Screen suele venir en todas las distribuciones Linux. Una vez instalada la ejecutamos (screen) y ya
podremos empezar a utilizarla.
Para usar SCREEN se usa el atajo de teclado ^A (Control-A). Cuando estemos en consola y
queramos enviar una orden a screen (cambiar de "ventana", crear nuevas ventanas, etc.) se pulsa
CTRL+A y a continuación la tecla del comando a enviar (soltando CTRL-A antes de pulsar la tecla
de comando):
Tecla Comando
CTRL+a seguido de c Se crea una nueva ventana (la inicial es la 0, luego 1, 2…).
Con exit cerramos la terminal en la que estemos. Al salir de screen (si hacemos un exit en la ultima
terminal disponible) aparecerá el mensaje [screen is terminating].
[user@maquina] screen
<CTRL+a>c -> Creamos terminal 1
[user@maquina] mutt -> Abrimos el mutt
<CTRL+a>c -> Creamos terminal 2
[user@maquina] slrn -n -> Abrimos el slrn
Ahora podemos cambiar entre cualquiera de los 3 programas (mutt, slrn y una shell bash)
mediante CTRL-A seguido del número 0 (bash), 1 (mutt) y 2 (slrn) ya que las hemos creado en ese
orden. Podemos salir de cualquiera de los tres programas y estar bajo una shell bash disponiendo
áun de dicha terminal (hasta que hagamos exit).
Notas
Screen soporta cosas mucho más complejas, como dettach de procesos, dejarlos
corriendo en background al cerrar los terminales, etc. Consultar el manual de
screen para más florituras.
Screen soporta copiado de pantallas, loggin, cut & paste, keybindings, bloqueado
de consola (bloquea todas :), etc.
como la A está cerca de la S, puede ser que al hacer CTRL+a le demos a CTRL+s
(comando STOP en las terminales TTY). En caso de que esto ocurra basta darle a
CTRL+Q para detener el stop.
Comando sed
El comando SED
El comando sed SED (Stream EDitor) es un editor de flujos y ficheros de forma no interactiva.
Permite modificar el contenido de las diferentes líneas de un fichero en base a una serie de
comandos o un fichero de comandos (-f fichero_comandos). El comando sed de Linux edita datos
basado en las reglas que tú le proporciones, puedes utilizarlo de la siguiente forma
Sed recibe por stdin (o vía fichero) una serie de líneas para manipular, y aplica a cada una de ellas
los comandos que le especifiquemos a todas ellas, a un rango de las mismas, o a las que cumplan
alguna condición.
# gsed '/AAA\|BBB\|CCC/!d'
Formato de uso
El formato básico de uso de sed es:
Donde:
[direccion] es opcional, siendo un número de línea (N), rango de números de línea (N,M) o
búsqueda de regexp (/cadena/) indicando el ámbito de actuación de las instrucciones. Si
no se especifica [direccion], se actúa sobre todas las líneas del flujo.
-n: No mostrar por stdout las líneas que están siendo procesadas.
Ejemplos de sustitución
Reemplazar cadenas:
# sed 's/cadenasrc1\|cadenasrc2/cadena_nueva/g'
Prueba
linea 2
linea 1
Prueba
Ejemplos de Inserción
Añadir una línea antes o despues del final de un fichero ($=última línea):
Insertar una linea en blanco antes de cada linea que cumpla una regex:
Insertar una linea en blanco detras de cada linea que cumpla una regex:
Insertar una linea en blanco antes y despues de cada linea que cumpla una regex:
Ejemplos de Selección/Visualización
# sed 10q
Ver las últimas 10 líneas de un fichero:
# sed -e :a -e '$q;N;11,$D;ba'
2 linea 2
3 linea 3
linea 2 fichero 1
linea 3 fichero 1
linea 2 fichero 2
linea 3 fichero 2
Imprimir las líneas que no hagan match con una regexp (grep -v):
Ejemplos de Borrado
linea 1
Prueba
linea 2
Prueba
# sed q fichero
Imprimir párrafo si contiene (1) XXX y ZZZ o bien (2) XXX o ZZZ :
Modo de uso
Ejemplo de uso
$ wc prueba1.txt prueba2.txt
40